Tractor 2 significantly expands the successful Tractor render farm job queuing system, while also deepening the underlying platform to support new wrangling and management tools, as well as a forward-looking API and data features that address custom pipeline integration requirements and future product objectives. Tractor 2 is a robust solution in a compact architecture, specifically engineered for scalability and proven in production on a wide variety of rendering and non-rendering applications.
Powerful command line & scripting interfaces
Flexible resource-sharing controls
Python module extensions
Minimal computational footprint
Major user interface enhancements
Open web standards
HTML 5 support
Tractor is Pixar’s distributed processing solution for rendering and other network intensive applications. Derived from years of experience in managing the demands of the worlds largest render farms, Tractor is specifically engineered to address the extreme scalability and performance requirements of today’s multi-core networks.
Tractor’s queuing engine capable of dispatching over 500 tasks per second. Tractor utilizes proven, open web standards and is highly customizable. Systems administrators can easily add Python extension modules to Tractor-Blades and customize the specifics of how various tasks are executed.
Functionally, Tractor consists of three components:
The Tractor-Engine maintains the central job queue and dispatches tasks.
The Tractor-Blade is a Python based execution server running on each remote node.
The Tractor-Dashboard is a customizable web browser user interface providing centralized control of the Tractor-Engine.
The Tractor 2 Release Notes
New Tractor Product Layout — Tractor in now easier to install, maintain, and upgrade.
Query Tools — Introducing “tq” the tractor query command line tool. Based on proven Pixar studio tools, query live Tractor data from your terminal shell, from your Python scripts, or from the Dashboard.
Adaptive Farm Allocations — Dynamically allocate resources between people or projects using flexible limits.
Dispatching Tiers — Organize broad sets of jobs into site-defined priority groups. Create your own!
Custom Menu Actions — Create custom dashboard items to invoke centralized scripts.
Job Authoring API — Now easily create Job, Task, and Command objects linked together according to your dependency requirements, with Python scripts.
Simple Engine Discovery — Setting up Tractor is much simpler, with a new mode that doesn’t require manual nameserver (DNS/LDAP) configuration.
Blade Auto-Update — A new tractor-blade patch management system can automatically push out new versions to the entire farm.
Pluggable Authentication Module (PAM) support — A simplified system for password support.
Privilege Insulation — Allows Tractor’s normal day-after-day operations to assume the appropriate permissions associated with the specific users.
Dynamic Service Key Advertisement — Advanced usage cases can now take advantage of “Profiles.” For example, blades can offer a selection of capabilities depending on previously launched commands.
Resource Usage Tracking — Improved tracking of launched commands with the ability to record CPU, RSS, and VSZ metrics.
Command Retry History — A unique tracking record can be created in the job database for every command launch attempt.
Configuration File Loading — A streamlined override system can help to clarify which files have been modified from their original “factory settings.”
Task Concurrency Throttle — Constrain the maximum number of tasks that may run concurrently for any job.
Automatic Blade Error Throttle — Prevent blades from picking up new work if they encounter too many errors within a given time interval.
Job Spooling Improvements — The many upgrades include faster processing, better error checking, and bundling of required subsystems.