Placeholders doesn't always prevent collisions

I’m doing distributed animation rendering, for which I thankfully don’t need to distribute a single frame, but rather can simply distribute at the frame-level via all machines rendering to a shared network folder on one machine.

I enabled placeholders and disabled overwrite. The placeholders seem to be a little imperfect in that I occasionally see two processes rendering the same frame number. At best, they are duplicating effort, which is pretty suboptimal. But at worst, one or both of the processes stop processing the rest of the animation and so stop contributing to the overall job.

This problem occurs much more frequently when I am running two or more concurrent Blender processes on a single machine that is not the machine housing the shared network drive where the frames are being generated. The renders seem to naturally “sync up” so that rather than render their respective frames with an offset, they end up starting and ending frames at approximately the same time. This puts them in tight competition for the next frame. The network latency then appears to cause the placeholder feature to fail to work as intended.

Is there any way to make Blender pick the next animation frame at random instead of chronologically, or to make it wait a random period of time before starting the next frame (a random window of just a few seconds would surely suffice) so as to desync the two processes?

The best solution I’ve found so far is to instruct the processes to render different subsets of the total frame range, but that requires additional tedious fiddling before kicking off the job, and of course harms parallelism since once they finish their assigned subrange, they will stop processing even if the total frame range is not yet done.

Thoughts?