Render farm


A render farm is a high-performance computer system, e.g. a computer cluster, built to render computer-generated imagery, typically for film and television visual effects.

Origin of the term

The term render farm was born during the production of the Autodesk 3D Studio animated short The Bored Room in July 1990 when, to meet an unrealistic deadline, a room filled with Compaq 386 computers was configured to do the rendering. At the time the system wasn't networked so each computer had to be set up by hand to render a specific animation sequence. The rendered images would then be 'harvested' via a rolling platform to a large-format optical storage drive, then loaded frame by frame to a Sony CRV disc.
The Autodesk technician assigned to manage this early render farm had a regular habit of wearing farmer's overalls and the product manager for the software joked that what Clay was doing was farming the frames and at that moment he named the collection of computers a render farm. In the second release of the software, Autodesk introduced network rendering, making the task of running a render farm significantly easier. A BTS of The Bored Room doesn't show Clay in the overalls but does give a glimpse of the production environment.
A render farm is different from a render wall, which is a networked, tiled display used for real-time rendering. The rendering of images is a highly parallelizable activity, as frames and sometimes tiles can be calculated independently of the others, with the main communication between processors being the upload of the initial source material, such as models and textures, and the download of the finished images.

Render capacity

Over the decades, advances in computer capability have allowed an image to take less time to render. However, the increased computation is appropriated to meet demands to achieve state-of-the-art image quality. While simple images can be produced rapidly, more realistic and complicated higher-resolution images can now be produced in more reasonable amounts of time. The time spent producing images can be limited by production time-lines and deadlines, and the desire to create high-quality work drives the need for increased computing power, rather than simply wanting the same images created faster. Project such as the Big and Ugly Rendering Project have been available for rendering images using Blender across both widely distributed networks and local networks.

Management

To manage large farms, one must introduce a queue manager that automatically distributes processes to the many processors. Each "process" could be the rendering of one full image, a few images, or even a sub-section of an image. The software is typically a client–server package that facilitates communication between the processors and the queue manager, although some queues have no central manager. Some common features of queue managers are: re-prioritization of the queue, management of software licenses, and algorithms to best optimize throughput based on various types of hardware in the farm. Software licensing handled by a queue manager might involve dynamic allocation of licenses to available CPUs or even cores within CPUs.
A tongue-in-cheek job title for systems engineers who work primarily in the maintenance and monitoring of a render farm is a render wrangler to further the "farm" theme. This job title can be seen in film credits.
Beyond on-site render farms, cloud-based render farm options have been facilitated by the rise of high-speed Internet access. Many cloud computing services, including some dedicated to rendering, offer render farm services which bill only for processor time used. Understanding the cost or processing time required to complete rendering is unpredictable so render farms bill using GHz per hour. Those considering outsourcing their renders to a farm or to the cloud can do a number of things to improve their predictions and reduce their costs. These services eliminate the need for a customer to build and maintain their own rendering solution. Another phenomenon is collaborative rendering, in which users join a network of animators who contribute their processing power to the group. However, this has technological and security limitations.