Slave Configuration

Overview

The Slaves panel allows Slaves to be controlled and modified using the right-click menu. Note that the availability of these options can vary depending on the context in which they are used, as well as the User Group Permissions that are defined for the current user.

If the Slaves panel is not visible, see the Panel Features documentation for instructions on how to create new panels in the Monitor.

Slave States

These are the states that a Slave can be in. They are color coded to make it clear which state the Slave is in.

  • Offline (gray): The Slave application is closed.
  • Idle (white): The Slave application is running, but it is not currently rendering.
  • Rendering (green): The Slave application is running, and is rendering a job.
  • Stalled (red): A Slave becomes stalled if it hasn’t updated its state for a certain amount of time. This could be because the machine crashed, or the Slave simply didn’t shutdown cleanly.
  • Disabled (yellow): The Slave has been disabled by an administrator. This prevents the Slave application from launching on the machine.* License Warning - Slave received a license error when last attempting to render. View Job Reports to find the exact error message.
  • License Problems (orange): The Slave cannot acquire a license, or its temporary license is about to expire.

If you see an orange Slave in the Slave list, it means that the Slave is having licensing problems, or that the license it is using will expire in less than 10 days. You can check the License column in the Slave list to see what the problem is.

If you see a red Slave, it means the Slave has been marked as stalled. This happens if the Slave hasn’t updated its state for a certain amount of time. You can configure this amount of time in the Wait Times section of the Slave Settings in the Repository Configuration. When a Slave is marked as stalled, it usually means that the machine crashed, or that the Slave simply didn’t shutdown cleanly. In the latter case, you can simply mark the Slave as offline from the right-click menu.

The Slave panel’s right-click menu also gives the option to delete or disable Slaves. When disabled, the Slave application will not be allowed to launch on the machine. This is useful if you are doing maintenance on a machine and you don’t want the Slave accidentally starting up on it.

Job Candidate Filter

Note

The Job Candidate Filter in the Slaves panel can affect the performance of the Deadline Monitor if there are lots of Slaves in the farm. We recommend using the new Job Render Candidates feature in the Jobs panel instead.

If a Slave isn’t rendering a job that you think it should be, you can use the Job Candidate Filter option in the Slave Panel’s drop down menu to try and figure out why. When the option is enabled, simply click on a job in the Job Panel and the Slave Panel will be filtered to only show the Slaves that can render the selected job based on the job’s settings. The filtering takes the following into account:

  • The job’s pool and group (see the Pools and Groups documentation for more information).
  • The job’s whitelist/blacklist, and the whitelist/blacklist in the job’s assigned limits (see the Limits and Machine Limits documentation for more information).
  • If the Slave has been marked bad for the job (see the Job Failure Detection documentation for more information).

Slave Settings

Most of the Slave settings be configured from the Monitor while in Super User Mode (or with the proper user privileges) by right-clicking on one or more of them and selecting ‘Modify Slave Properties’. To configure Pools and Groups, you can use the Tools menu, or you can use the Slave panel’s right-click menu. See the Pools and Groups documentation for more information.

../_images/slave_menu.png

Note that the only settings here that have an actual impact on rendering are the Concurrent Tasks and CPU Affinity settings. Furthermore, the CPU Affinity feature is only supported on Windows and Linux operating systems, since Mac OS X does not support process affinity.

General

These are some general Slave settings:

  • Slave Description: A description of the selected Slave. This can be used to provide some pertinent information about the slave, such as certain system information.
  • Slave Comment: A short comment regarding the Slave. This can be used to inform other users why certain changes were made to that Slave’s settings, or of any known potential issues with that particular Slave.
  • Normalized Render Time Multiplier: This value is used to calculate the normalized render time of Tasks. For example, a Slave that normally takes twice as long to render a Task should be assigned a multiplier of 2.
  • Normalized Task Timeout Multiplier: This value is used to calculate the normalized render time of Task Timeouts. Typically, this should be the same value as above.
  • Concurrent Task Limit Override: The concurrent Task Limit for the Slave. If 0, the Slave’s CPU count is used as the limit.
  • Override Remote Command Port: If enabled, this port will be used by the Slave for remote commands instead of a random port.
  • Host Name/IP Address Override: Overrides the Host name/IP address for remote commands.
  • MAC Address Override: This is used to override the MAC Address associated with this Slave. This is useful in the event that the Slave defaults to a different MAC Address than the one needed for Wake On Lan.
  • Use ‘/tmp’ for Slave Data (Linux): If enabled, Slaves will write their job and plugin info in the /tmp folder instead of the user folder (Linux only).
../_images/slave_settings_general.png

Idle Detection

These settings can be used to override the global Slave Scheduling settings for the Slave (if there are any). It can be used to start the Slave when its machine becomes idle (based on keyboard and mouse activity), and stop the Slave when its machine is in use again. Note that Idle Detection is managed by the Launcher, so it must be running for this feature to work.

  • Start Slave When Machine Idle For: If enabled, the Slave will be started on the machine if it is idle. A machine is considered idle if there hasn’t been any keyboard, mouse or tablet activity for the specified amount of time.
  • Only Start Slave If CPU Usage Less Than: If enabled, the Slave will only be launched if the machine’s CPU usage is less than the specified value.
  • Only Start Slave If Memory Usage Less Than: If enabled, the Slave will only be launched if the machine’s memory usage is less than the specified value.
  • Only Start Slave If Free Memory More Than: If enabled, the Slave will only be launched if the machine has more free memory than the specified value (in Megabytes).
  • Only Start Slave If These Processes Are Not Running: If enabled, the Slave will only be launched if the specified processes are not running on the machine.
  • Only Start If Launcher Is Not Running As These Users: If enabled, the Slave will only be launched if the launcher is not running as one of the specified users.
  • Stop Slave When Machine Is No Longer Idle: If enabled, the Slave will be stopped when the machine is no longer idle. A machine is considered idle if there hasn’t been any keyboard, mouse or tablet activity for the specified amount of time.
  • Only Stop Slave If Started By Idle Detection: If enabled, the Slave will only be stopped when the machine is no longer idle if that Slave was originally started by Idle Detection. If the Slave was originally started manually, it will not be stopped.
  • Allow Slave To Finish Its Current Task When Stopping: If enabled, the Slave application will not be closed until it finishes its current Task.
../_images/slave_settings_idle.png

There are some limitations with Idle Detection depending on the operating system:

  • On Windows, Idle Detection will NOT work if the Launcher is running as a service. This is because the service runs in an environment that is separate from the Desktop, and has no knowledge of any mouse or keyboard activity.
  • On Linux, the Launcher uses X11 to determine if there has been any mouse or keyboard activity. If X11 is not available, Idle Detection will NOT work. One such situation is when the launcher is run as a daemon.

Note that Idle Detection can be overridden in the Local Slave Controls so that users can configure if their local Slave should launch when the machine becomes idle.

Job Dequeuing

These setting are used to determine when a Slave can dequeue Jobs:

  • All Jobs: In this mode, the Slave will dequeue any job.
  • Only Jobs Submitted From This Slave’s Machine: In this mode, the Slave will only dequeue job submitted from the machine it’s running on.
  • Only Jobs Submitted From These Users: In this mode, the Slave will only dequeue job submitted from the specified users.
../_images/slave_settings_job.png

CPU Affinity

These settings affect the number of CPUs the Slave renders with (Windows and Linux only):

  • Override CPU Affinity: Enable this option to override which CPUs the Slave and its child processes are limited to.
  • Specify Number of CPUs to Use: Use this spinbox if you just want to limit the number of CPUs used, and you aren’t concerned with which specific CPUs are used.
  • Check Individual CPUs to Use: Use these buttons, as well as the checkboxes beside each CPU, if you want to explicitly pick which CPUs are used. This is useful if you are running multiple Slaves on the same machine and you want to give each of them their own set of CPUs.
    • Check All: Checks all the available CPUs.
    • Check None: Unchecks all the available CPUs.
    • Invert: Checks all unchecked CPUs and unchecks all checked CPUs.
../_images/slave_settings_cpu.png

GPU Affinity

These settings can affect the number of GPUs the Slave uses when rendering:

  • Override GPU Affinity: Enable this option to override which GPUs the rendering process is limited to. Note that not all renderers support this.
  • Specify Number of GPUs to Use: Use this spinbox if you just want to limit the number of GPUs used, and you aren’t concerned with which specific GPUs are used.
  • Check Individual GPUs to Use: Use these buttons, as well as the checkboxes beside each GPU, if you want to explicitly pick which GPUs are used. This is useful if you are running multiple Slaves on the same machine and you want to give each of them their own set of GPUs.
    • Check All: Checks all the available GPUs.
    • Check None: Unchecks all the available GPUs.
    • Invert: Checks all unchecked GPUs and unchecks all checked GPUs.

Note that Deadline currently cannot detect the number of GPUs a system has. Instead, it just assumes that there are no more than 16 GPUs. Make sure to configure the GPU affinity settings based on the number of GPUs the machine actually has.

../_images/slave_settings_gpu.png

Note that unlike CPU affinity, GPU affinity isn’t automatically applied to all renders. It is up to the individual Deadline application plugins to pull this information from the Slave’s at render time and pass them to the renderer.

If there is a certain Deadline plugin that you think the GPU affinity settings could be applied to, please email Deadline Support and let us know.

Extra Info

Like jobs, extra arbitrary properties can also be set for slaves. If more extra arbitrary properties are needed, then new Extra Infos can be added with its own Key/Value Pair.

../_images/slave_settings_extra.png

Only the Extra Info 0-9 properties can be renamed from the Slaves section of the Repository Configuration, and have corresponding columns in the Slave list that can be sorted on. Any other Extra Infos added will have to be renamed from this panel.

Event Opt-Ins

Like jobs, Slaves can choose to Opt into Event Plugins that are in the Opt-In state. Only Event Plugins in the Opt-In state will be visible to select in this panel and will only trigger for Slaves that have Opted into them.

../_images/slave_settings_event_opt_ins.png

Slave Reports and History

All error reports for a Slave can be viewed in the Slave Reports panel. This panel can be opened from the View menu or from the main toolbar in the Monitor. It can also be opened from the Slave panel’s right-click menu.

../_images/monitor_slave_report_panel.png

You can use the Slave Report panel’s right-click menu to save reports as files to send to Deadline Support. You can also delete reports from this menu as well.

In addition to viewing Slave reports, you can also view the Slave’s history. The History window can be brought up from the Slave panel’s right-click menu by selecting the View Slave History option.

../_images/slave_history.png

Remote Control

You can view the live log for Slaves or control them remotely from the right-click menu. See the Remote Control documentation for more information.