Queueing Systems

Queueing Systems

RenderMan Studio provides several ways to distribute spooled renders. Users can designate their spooler of choice via the options window for both Render Current Frame and Batch Render, in the Spooling section.


LocalQueue

The LocalQueue application is used to run a local queue of render jobs. It reads job scripts that are generated by RenderMan for Maya, and then runs the commands from the scripts to render your scene on the local computer.

images/LocalQueue.png

Sending Render Jobs to LocalQueue

In the RfM Render Options Window you can select the External Render check box (or Spool in the batch render options) to choose to render your scene using an external rendering program (such as prman). When you render your scene with this option selected, RfM will generate the RIB files and compiled shaders for your scene, and it will also generate a job script that contains a list of commands to render the scene.

images/localQueueRenderOptions.png

If you choose the LocalQueue option in the render options window, then the job script will be sent to LocalQueue, which will load the render job and run the commands from the script.

The job scripts from RfM are .alf files, which are automatically generated by RfM when you hit the Render button and written to your mayaProject/renderman/sceneName/data directory. Users can, optionally, write their own .alf scripts and run them via the File->Open menu in LocalQueue, or drag and drop an .alf file on the LocalQueue window to load the job script.

If you check the External Render check box in your RenderMan Preview Render Options window, then you must have RenderMan Pro Server installed because the commands in the job script run prman for rendering. If you check the Spool check box in the Batch Render Options window, then you only need to have RenderMan Pro Server installed if you choose a render style other than mayabatch local or mayabatch remote.

Users can also open .rib or .sl files in LocalQueue. If a .rib file is opened, a job will be created in LocalQueue that uses $RMANTREE/bin/prman to render the .rib file. If a .sl file is opened, a job will be created in LocalQueue to that uses $RMANTREE/bin/shader to compile the shader file.

Setting Up the Rendering Environment

By default, LocalQueue runs commands in the same environment that LocalQueue was started in.

In the RfM Render Options windows, you can specify key values in the Environment Key setting that will help set various environment variables used for your render job. For example, if you want the commands in your render job to execute in an environment where the RMANTREE environment variable is set to your RPS 17.0 installation directory, then you can specify prman-17.0 in your Environment Key setting. Multiple keys should be separated by a space. For example, if you want to set up the environment to use RMS 4.0, Maya 2012, and RPS 17.0, you can specify this value in the Environment Key:

rms-4.0-maya-2012 prman-17.0

The key values from the Environment Key setting are matched with the keys specified in the .envkeys files in your $RMSTREE/lib/LocalQueue directory. Each platform (Windows, OSX, and Linux) has a different environment key file.

If you would like to change the .envkeys files to customize the environment, then you can place the customized .envkeys file in your $RMS_SCRIPT_PATHS directory. For more information on setting up the $RMS_SCRIPT_PATHS directory, see Configuring RenderMan Studio.

Managing Render Jobs

Once a render job is loaded in LocalQueue, you should see it listed in the Jobs table. You can right-click a job in the Jobs table to bring up a menu with various options for managing the job. Once you select a job, its commands will be displayed in the Job Commands table. You can also right-click a command to bring up a menu with various options for controlling the command. Once a command is selected, it's output will be displayed in the Command Output text box. You can double-click a command to display the command details and its output in a new window.

images/localQueueCommandDetails.png

The Command Details window allows you to see the command, preview command, the command output, and the environment that the command ran in. You can also modify the command, preview command, and the environment from this window, and then restart the command to pick up those changes.

Job Priority

Each job that gets loaded by the LocalQueue is assigned a priority based on the order in which it was loaded. For example, the first job that's loaded will have a priority of 1, and the second job that is loaded will have a priority of 2, and so on. The job with the lowest priority number will be run first, so the jobs that get loaded first will run first. You can change the priority of a job by double-clicking the priority value in the Jobs table.


Tractor

RenderMan Studio can use Tractor to render on machines other than the artist's local computer. Once Tractor has been installed, the Render options window can be used to select remote rendering through Tractor. Each of the other hosts used for rendering must also have access to the selected rendering software, such as RenderMan Pro Server and/or their own installation of RMS. Since Tractor's role is to coordinate rendering across many hosts, some site-wide configuration will be required so that RMS and the three main Tractor components (job queue, blade servers, and web interface) can communicate correctly. See the (separate) Tractor set-up documentation for details. The RMS & Tractor page provides additional details relevant to RMS users.


Alfred

Alfred is an earlier queueing system, the predecessor to Tractor. It is still in use at some sites that have not yet made the transition to Tractor. It also requires some site-wide configuration and coordination with RMS before it can dispatch work to other hosts and, as with Tractor, each "alfserver" host must also have the appropriate rendering software installed. See the separate Alfred documentation for details.


Spooling Options

RenderMan for Maya users have these spooling options for "job styles":

Current Frame (using an external renderer)

  • netrender executes a preview render via PRMan's netrender. This method is not compatible with LocalQueue.
  • local render executes a preview render via prman on the local client.
  • remote render executes a preview render via prman on a remote client .

Batch Render

  • mayabatch local executes a batch render on the local client.
  • mayabatch remote distributes your batch renders to remote render clients.
  • immediate rib, local render generates RIB files and renders them on the local client.
  • deferred rib, remote render generates RIB locally (via a new Maya process) and distributes the RIB files to remote render clients for rendering.
  • remote rib, remote render executes the ribgen and the render on remote render clients.

Users should note that LocalQueue will still run the "remote"-style renders, but they will be run on the local client (as would Tractor and Alfred, if the local machine were the only available client).