Can I Render? Let Me Check My Schedule!

Version: Deadline 7.2

Background

John Doe had previously set up Idle Detection on his Deadline farm to improve productivity. However, he notices that artists sometimes stop at their desks to check a quick email, or reply to a message in between meetings or during lunch. This interferes with his careful Idle Detection setup since a machine is only considered idle by Deadline when there is no keyboard, mouse, tablet, or spaceball input. He tries disabling the Stop Slave When Machine Is No Longer Idle check box in the Idle Detection settings, which will require the artists to close the Slave themselves once they return to their desks. Unfortunately, this solution yields yet another concern. Sometimes the artists are unsure of whether or not the Slave should be shutdown in the middle of a job and will often leave it running, affecting their own productivity. The solution? Slave Scheduling.

Requirements

There is one requirement associated with Slave Scheduling that should be noted:

  • Deadline Launcher must be running on each machine that desires Slave Scheduling.

Slave Scheduling

Slave Scheduling allows John to specify the best time slots during the day to start and stop a Slave on the artists’ machines.

To do this, John uses Deadline Monitor in Super User Mode and selects Configure Slave Scheduling under the Tools menu.

John already set up a Slave Scheduling group when using Idle Detection for artists’ machines, therefore, he just needs to select the group and input the time slots. There is a time slot for each day of the week that is specified by a start and stop time in 24-hour format. The times can be changed either with side arrows, or by selecting the hours or minutes and typing in a time. However, if an artists chooses, they can still close the Slave application whenever they need to, even during the scheduled hours.

John decides to allot times for Tuesday and Wednesday that match weekly scheduled meetings and lunch. On Thursday, since he only assigns a start time scheduled for 6pm, the Slave will start and continue running until the next stop time on Friday at 8am, making use of after work hours. Then, John starts Slave again on Friday evening and leaves it running until Monday morning, taking full advantage of the weekend.

As previously shown, if a stop time is not specified, the Slave will still start at the scheduled start time, but unless manually shutdown, it will not stop until the next stop time. If a stop time is not assigned on any day, the Slave can run indefinitely until manually shutdown. Also, if only a stop time is specified for the day, and the Slave happens to be running during this time, it will be shutdown. So John has to be careful with the schedule in order to avoid interference with the artists’ work.

When John informs the artists of the times during the day that the Slaves could be launched, the artists become concerned that this may become a problem if something were to occur that caused them to work on the weekend, or if a meeting was canceled. But John ensures them that this will not be a problem as a notification message will pop up for 30 seconds on the machine that a Slave is scheduled to start on. So, if they happen to be using the machine during this time or don’t want the Slave running for whatever reason, they can delay the start of the Slave for up to 4 hours at a time.

Checking the Ensure Slave Is Running During Schduled Hours check box restarts any Slaves in the group that is shutdown during the scheduled time. Checking this check box and assigning only a start time for a particular day results in the Slave continually restarting until the next stop time, or until the configurations are changed in Configure Slave Scheduling. The notification message will still allow the artists to delay the start time, but will reappear when it tries to restart the Slave once the delay time is reached.

In order to further ensure the company is not wasting potential rendering time, machines can be in multiple groups and can be configured to start and stop at different times throughout the day. John decides to create a ‘artists_machines_lunch’ group which will only contain time slots that match common lunch hours. This could be further split up into different groups to match the times that different artists usually go for lunch. This way, John can organize different times for work and after work hours, all for one machine. However, unique group names are needed, and adding multiple groups with identical names at once and trying to save them will not work; only one group with that name will end up being saved.

Wrapup

Using the Slave Scheduling option along side Idle Detection can ensure that the resouces available to the render farm are managed as efficiently and effectively as possible without interfering with individual preferences.