Distribeast is a system of distributed computing that processes Beast rendering jobs in parallel on multiple different computers. This can speed up your rendering times dramatically, particularly for projects with large, complex scenes.
A Distribeast network contains a single computer that acts as a controller, and any number of other computers that act as workers. At startup, each worker establishes a connection with the controller over TCP/IP.
Any application running on a host that is also running a Distribeast worker or controller node can submit rendering jobs to Distribeast. Jobs are submitted through the Beast API, by specifying a flag value at the time the rendering job is created. See Using Distribeast below.
When a rendering job is submitted to Distribeast, the job is split into smaller chunks that are sent to the workers for processing. Each worker carries out the requested rendering operation on its own chunk independently. When all chunks have been successfully treated, the submitting application is notified through the Beast API like with any non-distributed job. See also Monitoring Jobs and Retrieving Updates. The submitter can then retrieve the results through the Beast API like it would for a non-distributed job. See also Retrieving the Rendered Output. The splitting of the job done by Distribeast is entirely transparent to the submitter.
The controller can handle multiple simultaneous requests, so any worker in the network can submit a rendering job at any time. All workers in the network participate in each job, including the worker on the same host as the submitting application, and including the controller itself.
Each worker node is capable of using all available processing units or cores on its host. Therefore, only one worker needs to be installed on a given computer, regardless of the number of CPUs offered by that computer.
Note that because each controller also acts as a worker, the minimal Distribeast system consists of a single computer with a controller node installed.
To set up your Distribeast network:
For details on installing Distribeast controller and worker nodes, see Installing Distribeast.
The following restrictions apply to the structure of your Distribeast network, and to the computers running the controller node and worker nodes:
Whenever you call ILBExecuteBeast() or ILBStartJob() to launch the processing of a rendering job, you need to provide an element from the ILBDistributionType enumeration that determines whether or not the rendering job should be parallellized through Distribeast.
ILBStatus result = ILBStartJob(myJob, ILB_SR_CLOSE_WHEN_DONE, ILB_RD_AUTODETECT);
Note that you cannot launch Distribeast by running its executable contained in the bin directory directly.
Distribeast currently supports controller nodes and worker nodes on Windows Vista and Windows 7, running on either 32-bit or 64-bit processors.