Jump to content
timmwagener

[H13, Mantra] Low to no speed gain with Network/Distributed rendering

Recommended Posts

Hey guys,

 

i just found out, that it's possible to let several machines render on the same frame over the network with Mantra, similiar to VRay Distributed Rendering for example.

I tested it out and it seems to work. The render statistics explicitly list the different machines and their contribution in percent.

 

One thing though seems a little strange: I encounter no performance boost.

 

Instead of doing more work in the same timeframe, Mantra seems to just distribute the existing work. The satelites, as well as my own machine, dont run at 100%

but at 30% instead. If i turn of -H, my machine runs at 100% again.

I have "Use Max Processors" turned on. Also tested around with the tiled render options....

 

Anybody any ideas? A VRay DR equivalent in Mantra sounds pretty awesome :)

Share this post


Link to post
Share on other sites

Thx, cool infos there! But let me give you some pictures to clarify my issue:

 

Mantra rendering locally. All available CPU power is used:

mantra_network_render_issue_1.jpg

 

Mantra rendering on 2 slaves and the localhost. Each machine renders, but only with 30% power...

mantra_network_render_issue_2.jpg

 

So in effect i'm gettin the job done in the same time, just much more relaxed for each machine. What i would expect instead is to get the job done about 3 times faster...

Share this post


Link to post
Share on other sites
Guest tar

Which Houdini version? What are you rendering?

-H has been good on OsX versions. Ie Expected speed up happened.

Share this post


Link to post
Share on other sites

Houdini 13.0.401

I'm testing with PBR as render engine.

 

System Specs:

Platform:                 windows-x86_64-cl17
Operating System:         Windows 7 Service Pack 1 x64 (6.1.7601)
Number of Cores:          32
Physical Memory:          63.96 GB
 
OpenGL Vendor:            NVIDIA Corporation
OpenGL Renderer:          Quadro K5000/PCIe/SSE2
OpenGL Version:           4.3.0
OpenGL Shading Language:  4.30 NVIDIA via Cg compiler
Viewport Render Version:  GL 3.3
Detected:                 NVidia Professional
                          4096 MB
                          320.57.0.0
Edited by timmwagener

Share this post


Link to post
Share on other sites
Guest tar

Can you post readout when you increase the verbosity?

Share this post


Link to post
Share on other sites

My guess is that there's extra locking involved in the distributed communication that nullifies the benefits for your particular scene.

Share this post


Link to post
Share on other sites

Hey guys,

Can you post readout when you increase the verbosity?

 

here are the logs:

 

With and without -H.

Here is the scene.

 

My guess is that there's extra locking involved in the distributed communication that nullifies the benefits for your particular scene.

 

What exactly do you have in mind there? Other distributed services, like VRay DR for example, are running well within the network.

Share this post


Link to post
Share on other sites

Hmm, ok...will test it on additional scenes soon. Would be very useful if it worked over here :D

Edited by timmwagener

Share this post


Link to post
Share on other sites

Hey guys,

 

now i'm encountering another issue. I have a scene which only consists of Alembic files and a super simple material (just a shader builder and a surfacemodel) and

when network rendering i'm getting visible tiles in all AOVs. Any ideas?

tile_issue.jpg

Share this post


Link to post
Share on other sites
Guest tar

that most likely means one of your hosts isn't rendering - additionally you may have to restart hserver.

 

Just try Mantra -H on each individual host to see which one is failing.

Share this post


Link to post
Share on other sites

I've noticed this at our offices since switching to H13 from 12.5. Distributed rendering used to be a huge performance gain, but now it seems to only use 8 of the 32 threads on my workstation, and I believe was hitting threading limits on the hosts as well. I haven't dug into it to find out what the issue is, but rest assured, you are not crazy.

Share this post


Link to post
Share on other sites

Try to use the newest production build. There's been a recent fix for distributed rendering which will use all available threads and not just 8.

We are getting the expected speed gains.

 

Some tips for distributed rendering to make it work better:

- if possible don't use the preview mode as that seems to break more often and forces you to restart rendering alltogether

- disable auto-update and refresh the rendering by hand ONLY when the rendering (or region) is done completely

- don't use an excessive number of remote hosts as this also fails more often

 

There are also some tips when working with alembics that might speed up the workflow:

- when using an alembic SOP the ifd generation and startup time for the rendering is quicker, but the geometry has to be updated each time you make a shader change which might take a long time and is a workflow breaker

- when loading the alembic as a node hierarchy the ifd generation takes longer but shader assignments, light tweaks etc. will be updated immediately

- be sure to not tweak your render settings once and then leave it as that also forces a full restart of the rendering

- when working on shading netwoks i found that creating new nodes and rewiring stuff only forces a recompile and then updates immediately in the rendering. When you copy and paste nodes however this forces a full restart of the rendering.

 

These are my experiences and I am curious to hear others.

 

Cheers,

Dennis

Share this post


Link to post
Share on other sites

hi,

We are running in some network errors with mantra dr on linux.

http://odforce.net/wiki/doku.php?id=mantraremoterendering

has been helpful but we still get 30s connection time out and other errors

mostly if we need to start the hserver on clients first.

Is there any way to change the timeout mantra tries to connect to -H clients?

Whats the best way to debug this?

Is there a way to see (in ip for example) how mant clients were sucessfully connected?

Thanks for your help

Edited by katisss

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×