Pools and Job Scheduling

This section is split up into three sections:

  • What Are Pools
  • Managing Pools
  • Pools and Job Scheduling

What Are Pools

Pools are used primarily for organizing the rendering farm into divisions or organizational units. They are especially useful for managing multiple projects being processed on the same network and repository. Essentially, pools are a feature to give you greater control of your network and how jobs will be rendered.

Slaves can be assigned to pools or excluded from pools. The pools to which a slave is assigned are ordered by priority (a slave favors jobs that are in higher priority pools).

A common use for pools is to have a pool for each rendering application you have on your farm. This ensures that jobs will only render on slaves that have the required software installed. For example:

  • If you use 3ds Max and Digital Fusion, you would create two pools called 3dsmax and dfusion.
  • You would then assign any slaves that have 3ds Max installed on them to the 3dsmax pool, and assign any slaves that have Digital Fusion installed on them to the dfusion pool.
  • All 3dsmax jobs should then be submitted to the 3dsmax pool, and all Digital Fusion jobs should be submitted to the dfusion pool. In both cases, Pool Exclusiveness should be enabled.

Managing Pools

Pools can be managed from the Monitor while in Super User mode.

To add or remove a pool

  • In the Monitor, select Tools -> Manage Pools.

  • To add a pool, click the Add Pool button and enter a name for the new pool.
  • To remove a pool, select a pool from the list and click the Remove Pool button.
  • You can also select one or more pools to check which slaves are assigned to those pools.

To assign and exclude slave pools

  • Right-click on a slave in the slaves list, and select Modify Pools.

  • There are three lists in which pools can be placed in:
    • Unassigned Pools: The slave is neither added to nor excluded from these pools. The slave can still render a job submitted to these pools provided that the job is not pool exclusive.
    • Assigned Pools (By Priority): The slave will always try to render jobs from these pools first, where pool priority is based on the order in this list.
    • Excluded Pools: The slave will never render jobs submitted to these pools.
  • To clear the assigned and excluded pools, click the Clear button.

Pools and Job Scheduling

How pools affect the job selection process is best explained through an example. Say we have a slave that has been assigned to the pools maya, 3dsmax and dfusion, in that specific order. This particular slave has also been excluded from the quicktime pool.

This means that when the slave is looking for its next job, it will first look for a job that was submitted to the maya pool. If there are no available jobs in the maya pool, it will then look for jobs in the 3dsmax pool. If there are no available jobs in the 3dsmax pool, it will then look for jobs in the dfusion pool.

If there are no jobs available in any of the maya, 3dsmax or the dfusion pools, then the slave will select a task from any other pool except the pools it has been excluded from. This means that the slave in this particular example would never choose a job that was submitted to the quicktime pool.

This example is slightly modified when we take pool exclusivity into account. A job that has been marked as pool exclusive means that the job will only be selected by slaves that have been specifically assigned to that pool. Therefore, continuing the previous example, if there was a job in the repository that was submitted to the earthsim pool and it was marked as pool exclusive, then the slave we described would never select any tasks from that job because it has not been assigned to the earthsim pool. </blockquote>