qube-logo

PipelineFX Qube Render Farm Basics

PipelineFX Qube! Render Farm Basics

 

QUBE! COMPONENTS

Supervisor (Server Node) = Render Queue which runs on a single dedicated manager node.

Workers (Render Nodes) = Render daemons which run on all render nodes.

Client (on Artist/ User Machines) = Applications, APIs, or other interfaces that allow you to submit jobs to the render farm for processing (Nuke, Maya, 3ds Max, Mental Ray, Command Line, Python, etc)

 

JOBS

Job = Bundle of data, submitted by a client to the Supervisor node, that includes all of the information the Worker nodes will need to execute a job. Includes host application, host OS, file locations, user, cpu allocation, etc.

Subjob = numbered 0-N, Also called Job Processes, Defined in “Job CPUs” field.  Threads initiated by the Supervisor, based on the number simultaneous frames the job is allowed to process at any given time.

Agenda Items = Frames

JOB ID NUMBERS

Example: (Although many variations are possible)

Job 12345 wants to render 4 frames (numbered 100-104) on two workers.

1) The four agenda items are: frame 100, frame 101, frame 102, and frame 103.

2) Subjob 12345.0 renders frames 100 and 102 (agenda items 1 and 3)

3) Subjob 12345.1 renders frames 101 and 103 (agenda items 2 and 4)

 

Important:

Number of Subjobs = the number of machines a Job is being processed on.

Number of Agenda Items = the number frames being processed.

Job Slots (or Process Slots) = how many processes a Worker can run at a given time. Job Slots do not refer to the number of processor cores on a Worker.

Job Callbacks = Any of the many action events Qube is able to trigger such as emailing the user, unblocking a job, or running a script.

 

SHARED STORAGE

A network fileserver accessible to the Clients and the Worker is needed as the scenes to render will be read from a network location and the resulting images written out to a network location. In order to reduce manual process of copying files back and forth, it is recommended that artists edit their scenes directly from the central fileserver instead of locally.

All users should have full read and write access to the file server. Job execution usually requires a great deal of reading and writing, so make sure that users have permission to not only read files from the server, but also create them.

If you plan to share files to both desktop users and to the render farm, double-check your fileserver licensing. Some servers have limits to the number of simultaneous client connections. A farm of machines could easily exceed the licensing limitations of a desktop machine acting as a server

Note: By default, Qube installs proxy user called qubeproxy. This user must be granted read and write access to the file server if a Worker uses the standard “proxy” mode.

 

INSTALLATION REQUIREMENTS

Recommended OS:

1st: Linux

2nd: OS X

3rd: WIndows

 

File Storage:

All Nodes must be able to access files from a shared storage location (either SAN, NAS, or Fileserver)

 

Administrator Access:

Required for installation

 

Supervisor Logs:

Reserved Space (local) for up to 4GB of log files (good for several thousand jobs)

 

Open TCP/IP and UDP Ports:

Turn firewall off on all Supervisor, Worker, and Client machines.

or

Open the following ports:

50001 TCP/IP and UDP

50002 TCP/IP and UDP

50011 TCP/IP and UDP

 

SUPERVISOR NODES

• 1-10 node renderfarm – Dedicated or multi-use server is fine, 4+GB RAM

• 11-50 node renderfarm – Dedicated Supervisor recommended, 4+ GB RAM

• 50-100 node renderfarm – Dedicated Supervisor recommended with higher memory (ie. 32GB)

• 100+ node renderfarm – Dedicated Supervisor recommended with max memory running Linux

 

SUPERVISOR INSTALLATION

Install the following OS components:

• MySQL (Linux only) MySQL included with Supervisor for Windows & OSX

 

Install the following Qube components:

• Qube Core

• Qube Supervisor

• QubeGUI Install and verify Qube License (qb.lic):

• Launch the QubeGUI and select Administration->Install License and specify the qb.lic license file. • Verify that the QubeGUI title bar shows the correct <used>/<available> licenses. (e.g. 0/100)

 

WORKER INSTALLATION

Install the following Qube components:

• Qube Core

• Qube Worker

• QubeGUI (optional)

• Qube Jobtypes (Maya, XSI, etc)

• [Windows only] Install Perl (if Jobtypes installed, usually requiring perl). Download version Perl 5.8 from www.activestate.com. Also supports version 5.6 on Windows.

• [Windows only] Install Python (if using Jobtypes requiring python). Download Py- thon 2.6 from www.activestate.com. Alsu supports python versions 2.3, 2.4, and 2.5 on Windows.

 

Configure the Worker:

• Specify Supervisor (required if not on same subnet as Supervisor) and execution mode:

-Launch the QubeGUI

-Select Administrator->Configuration to bring up a dialog

-Set the “Supervisor” parameter to the Supervisor hostname.

-Set the “proxy_execution_mode” parameter to “user” if you want to have the Worker run as the submitting user (requires ActiveDirectory or LDAP users)

-Set the “proxy_account” parameter to a network user if want to run jobs on the Worker as a single Active Directory or LDAP user.

• Disable the Firewall

 

Install the following Qube components:

• Qube Core

• QubeGUI

• Qube Jobtypes with in-app interfaces (Maya, MiGen, Mentalray, 3dsMax, XSI) Configure the Clients:

• Specify Supervisor (required if not on same subnet as Supervisor)

-Launch the QubeGUI

-Select Administrator->Configuration to bring up a dialog

-Set the “Supervisor” parameter to the Supervisor hostname

 

CLIENT INSTALLATION

Install the following Qube components:

• Qube Core

• QubeGUI

• Qube Job types with in-app interfaces (Maya, MiGen, Mentalray, 3dsMax, XSI)

 

Configure the Clients:

• Specify Supervisor (required if not on same subnet as Supervisor)

-Launch the QubeGUI

-Select Administrator->Configuration to bring up a dialog

-Set the “Supervisor” parameter to the Supervisor hostname

 

 

LAUNCHING QUBE!

Launching Via GUI

Windows: Start->PipelineFX->Qube

Windows 32-bit: C:/Program Files/pfx/qube/bin/qube.exe

Windows 64-bit C:/Program Files (x86)/pfx/qube/bin/qube.exe)

 

Linux: /usr/local/pfx/qube/bin/qube

 

OSX: /Applications/pfx/qube/qube.app

 

Launching via Python

Qube can be run directly via Python using …/qube/api/python/qb/gui/qube.py.

If using this method, the following components are required:

•    Python (required)

•    wxPython (required)

•    numpy (optional, to display the job charts)

•    PIL (optional, to provide additional internal image file formats)

•    MySQLdb (optional, to provide direct MySQL database queries)