Visualisation - Distributed Rendering

AKA MicroStation’s Render Farm!

INTRODUCTION

MicroStation comes with the ability to share render processing around however many machines are available. These notes apply from the SelectSeries 2 release onwards. Note that everything do do with Luxology rendering advances significantly with each release so if you are seriously into rendering ensure that you have the latest MicroStation version to work with.

Once some settings files are in place you will be able to use other machines to share processing of your renders. Note that it is important to ask people’s permission before using their processor cores!

Each machine needs a brief setup so ask other team members or those around you with MicroStation installed whether they are happy for their machines to contribute.

Each machine can be set to use a maximum number of processor cores. The hours when the machine is available can also be set.

Be aware that the initial processing is carried out on the machine where the render is started; this machine needs to be a fast one with a reasonable amount of RAM. Once the initial processing is done the rendering of images will be farmed out to the available machines. Do not use DR for small images, it may actually take longer!

LICENSING

Each machine needs a full installation of MicroStation, but  the network rendering doesn't consume a Microstation license. It reports a network rendering license, which are free and unlimited.

SET UP

What follows may look long winded, these things often do when set down in detail, but it’s really only a few clicks.

OUTPUT LOCATION

A shared location for the render output should be established by setting the variable MS_LUXOLOGY_HISTORY in each project’s PCF to direct to a writable network location or by browsing in the Process Controller settings. (Note that the default output location is in your user preferences which can be an issue if your system uses roaming profiles.)

When first run the Process Controller will create four subfolders, ignore all of them other than the history folder, the others contain temporary files created during processing.

This location must be accessible to all machines participating in the render.

The output render files are in Bentley’s BIMG format and should be thought of as digital negatives, various other image formats can be exported from the BIMG file. They will be stored in the History folder.

The current output location is listed in the Render dialog:

The networked render files can be browed in exactly the same way as local or project based files:

START THE PROCESS CONTROLLER

On every machine that will participate in rendering go to the Start menu > Bentley > MicroStation V8i (SELECTseries) > Process Controller for Distributed Rendering.

This icon will appear in the System Tray (next to the Clock):

Right-click and pick:

In the Scheduler dialog you can see that it is possible to set the availability of the machine, by default the number of processors will be one less than the maximum available:

Drag over the times that are to be unavailable, hold down control to add or subtract

Click the Update Configuration icon:

Here the groups of machines available are listed, you can add or remove yourself from these groups. We may add groups named by team to this list. The idea is that rather than using any available machine you will know which machines you are going to impact. For instance all the machines in your team could be set with My Groups including Group 4. Or you could announce that Group 4 is going to be used and advise anyone who is concerned about their machine’s performance to ensure that Group 4 is not listed in My Groups on their machine:

Another option is for donors of processing time to reduce the number or processors available to 2 or even 1. Most machines have plenty of spare processor capacity available for much of the time:

Once these settings are completed the machine is ready to accept tasks from other machines.

STARTING A DISTRIBUTED RENDER

In the Render dialog select the Group to render to:

then click the button:

The initial processing will be carried out on the initiating machine, subsequent processing will be farmed out to all the available processor cores in the selected group.

Progress of the initial processing is displayed in the Rendering dialog as usual:

Progress is also displayed in the Job Monitor:

JOB MONITOR

Right-click on:

And pick Open Job Monitor:

This displays the current status of the jobs running on each machine:

Related Wikis:

A couple of troubleshooting tips if they arise:

Distributed Processing Controller error

Groups missing in Process Controller for DR

  • Visualisation in distributed rendering is revolutionizing the way we create and experience visual content. By harnessing the power of multiple computing resources, it enables faster and more efficient rendering of complex graphics. One notable example of a company excelling in this field is Pinlong Machinery. Their commitment to cutting-edge technology is evident through their website https://www.pinlongmachinery.com/. With distributed rendering, the visualisation process becomes seamless, allowing for unparalleled realism and creativity in industries ranging from animation and gaming to architecture and design.

  • Distributed Rendering is a cutting-edge approach to computer graphics, allowing the efficient utilization of multiple computing resources to enhance rendering tasks. This technique significantly accelerates the production of high-quality images or animations by distributing the workload across a network of interconnected machines. The advent of innovative technologies like Soonkpack has further revolutionized distributed rendering, optimizing the process and improving overall efficiency. Soonkpack's advanced capabilities make it a valuable asset in the realm of distributed rendering, facilitating faster and more robust rendering solutions for diverse creative projects.