Author Topic: Cancelling distributed rendering on slaves  (Read 414 times)

2023-10-31, 08:41:48

Otuama

  • Active Users
  • **
  • Posts: 130
    • View Profile
Hi all,

I have 11 systems rendering an image (10 slaves).

These can't render during the day as people need to use them.  I'm rendering 8192x8192 VR images (Top/Bottom).

I can't afford for these to mess up.

Is it safe for people to close these down without affecting the render.  Does it transfer the date it's rendered when shutting down?

If not, would it be a good idea to have a 'transfer and close' button on the slave DR Server?

Thanks

2023-10-31, 09:47:29
Reply #1

Frood

  • Active Users
  • **
  • Posts: 1922
    • View Profile
    • Rakete GmbH
If I understand this correctly, you want to know what happens if a dr node shuts down during rendering? You would only miss some render progress, at maximum the result the node would be able to render in the time specified in "Syncronization Interval" of the "Distributed Rendering" tab. It's 60 seconds by default, so not really much loss (I'd go higher when rendering on 11 nodes at 8k though). We run dr server as windows service so the dr servers can be started and stopped randomly, depending on system load and this has never been an issue. There are other glitches using dr :)


Good Luck



« Last Edit: 2023-10-31, 12:45:25 by Frood »
Never underestimate the power of a well placed level one spell.

2023-10-31, 10:44:50
Reply #2

Otuama

  • Active Users
  • **
  • Posts: 130
    • View Profile
Thanks.

One of the main things I'm concerned about is if a slave is rendering and someone closes the slave, what it was rendering (within the sync interval) won't be transferred.

Will another system pick this up or will it create a dodgy area on the final render where that system was rendering?

In the case of VRs that go on headsets this'd cause issues with the images.  We haven't used DR for years and when we did (corona v5/v6) it'd create dodgy blocks on the render.

If another system doesn't pick this up then maybe it's best to keep the interval to it's default setting.

If it does, what would you suggest I up the sync interval to based on what I'm currently rendering?

Do you know if the sync interval is scene or system based?

Thanks again

2023-10-31, 11:50:42
Reply #3

Frood

  • Active Users
  • **
  • Posts: 1922
    • View Profile
    • Rakete GmbH
One of the main things I'm concerned about is if a slave is rendering and someone closes the slave, what it was rendering (within the sync interval) won't be transferred.

Yes, that's true, but as said, it's just one sync interval render time that is lost at maximum (If you stop DR at the master, even fractions get transferred in contrast). So if you render a pano for 2h, it's neglectable imho.

Will another system pick this up or will it create a dodgy area on the final render where that system was rendering?

Render should be fine, slaves render full format. The "area" is the entire image from which parts get transferred (according to the "Max pixels to transfer at once" setting. You just need enough passes all in all. Problems may arise when dr slaves are very different in render speed, but that's a general issue of using dr.

In the case of VRs that go on headsets this'd cause issues with the images.  We haven't used DR for years and when we did (corona v5/v6) it'd create dodgy blocks on the render.

We also do not use dr much these times, mainly because dr server does not handle max/scene cool down times correctly (large scene dr rendering, cancel, start again -> hickup because dr server want's to control a max instance that still loads the first job). But for a "final" scene it works fine generally. Would be interesting to see such a bad result you mentioned.

Generally I'd try to avoid dr rendering, since single frame rendering is always better in every aspect. What is working good when it comes to top/down panos is to split top and bottom to different nodes using a crop render, so submitting two crop jobs to Backburner/Deadline - whatever. Also lowers ram consumption, especially if you render a lot of render elements or light mix stuff alongside.

If another system doesn't pick this up then maybe it's best to keep the interval to it's default setting.

If it does, what would you suggest I up the sync interval to based on what I'm currently rendering?

It depends more on your network. If 11 nodes deliver render results every minute in average (sent as CXRs strips, so quite large but/and depending on "Max pixels to transfer"), you may run into transfer issues. So I'd be cautious and set the interval to something higher like 3 minutes while keeping the max transfer value.

Do you know if the sync interval is scene or system based?

It's scene based (renderer property "dr_synchInterval")


Good Luck



Never underestimate the power of a well placed level one spell.