Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

A 3Delight Collective allows you to render a single image , including with IPR, faster by using several computers from your network. It is selected either through the 3Delight Preferences Processing Options (in the sidebar of 3Delight Display) or, when for rendering using renderdl, though through a command line option.

For the 3Delight Collective option to be available, it must first be setup. There are three steps that needs to be done, typically by the person responsible to installing for the 3Delight installation:

  1. Make a JSON file to list the computers/servers to be included in one or more collectives;
  2. Inform 3Delight of the location of that file through the 3delight.config file;
  3. Run a small "service" program (or a daemon in Linux) on each machine computer that is part of the collectives. 

...

It is only a matter of listing one or more group of computers /servers and associating them with a name(s)Here is Lets make an example of defining the following 5 collectives that can be defined in a hypothetical production facility:

Rack-1   —  The Rackmount-1  →  The servers located in rack number 1.
RackRackmount-2   —  The   →  The servers located in rack number 2.
Lighter-A  —   A   →  A group of servers you want to dedicate to lighter A.
Lighter-B  —   A →  A group of servers you want to dedicate fo lighter B.
All-servers  —   →  All the servers.

Assuming a the facility with has 10 servers, named server01 to server10, here is how to build such a the JSON file for the above 5 collectives example:

{
"RackRackmount-1"      : [ "server01", "server02", "server03", "server04", "server05" ],
"RackRackmount-2"      : [ "server06", "server07", "server08", "server09", "server10" ],
"Lighter-A"   : [ "server01,16", "server02,16", "server03,16" ],
"Lighter-B"   : [ "server04,16", "server05,16", "server06,16" ],
"All-servers" : [ "server01", "server02", "server03", "server04", "server05",
                  "server06", "server07", "server08", "server09", "server10" ]
}

Equipped with this file, which This file can be named and saved wherever you choose among your installation, all you have to do is . Assuming you saved the file in "~/MyCollective.json", you just add the following line  in in the 3delight.config configuration file  configuration file so that 3Delight know knows about it:

    collective ~/projects/MyCollective.json
 

With this information, the 3Delight Collective option will be available among the 3Delight Preferences Processing Options and accompanied with a menu to select which collective to use (if there are more than one):

...

A lightweight "service" program (or daemon in Linux) need to be installed on each machine computers that is part of a collective.  For that, run the following command on each of these computers:

On Windows:

C:\> collective -installservice

...

sudo mv /Applications/3Delight/com.3delight.collective.plist /Library/LaunchDaemons/   ← to launch the license server when the system is started.


On Linux:

3Delight includes script that will start the collective service automatically on your render servers.  After installing 3Delight on the render server:

% sudo cp $DELIGHT/bin/collective /etc/rc.d/init.d/

The service will then automatically run at boot time.  Note that some linux systems do not have the "rc.d" directory and the proper command is:

% sudo cp $DELIGHT/bin/collective /etc/init.d/


Additional Notes

  1. A server/computer can be part of one or more collectives. As is the case in the example above ("server01" is part of 3 out of the 5 collectives).

  2. With each server/computer name, you can specify a number of cores, eg. "server01,16". This limits the number of cores that will be used when rendering using this computer by invoking the collective it is part of. If the number is not specified, eg. "server01", then all the cores will be used.