Render farm
Encyclopedia
A render farm is a computer cluster built to render
computer-generated imagery
(CGI), typically for film and television visual effects
, using off-line batch processing. This 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 each frame usually can be calculated independently of the others, with the main communication between processor
s being the upload of the initial source material, such as models and textures, and the download of the finished images.
Over the decades, advances in computer power would allow an image to take less time to render. However, the increased computation is instead used 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.
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 (or tile) 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 CPU's or even cores within CPU's.
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.
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...
computer-generated imagery
Computer-generated imagery
Computer-generated imagery is the application of the field of computer graphics or, more specifically, 3D computer graphics to special effects in art, video games, films, television programs, commercials, simulators and simulation generally, and printed media...
(CGI), typically for film and television visual effects
Visual effects
Visual effects are the various processes by which imagery is created and/or manipulated outside the context of a live action shoot. Visual effects involve the integration of live-action footage and generated imagery to create environments which look realistic, but would be dangerous, costly, or...
, using off-line batch processing. This 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
Parallel computing
Parallel computing is a form of computation in which many calculations are carried out simultaneously, operating on the principle that large problems can often be divided into smaller ones, which are then solved concurrently . There are several different forms of parallel computing: bit-level,...
activity, as each frame usually can be calculated independently of the others, with the main communication between processor
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...
s being the upload of the initial source material, such as models and textures, and the download of the finished images.
Over the decades, advances in computer power would allow an image to take less time to render. However, the increased computation is instead used 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.
To manage large farms, one must introduce a queue
Priority queue
A priority queue is an abstract data type in computer programming.It is exactly like a regular queue or stack data structure, but additionally, each element is associated with a "priority"....
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 (or tile) 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
Throughput
In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node...
based on various types of hardware
Computer hardware
Personal computer hardware are component devices which are typically installed into or peripheral to a computer case to create a personal computer upon which system software is installed including a firmware interface such as a BIOS and an operating system which supports application software that...
in the farm. Software licensing handled by a queue manager might involve dynamic allocation of licenses to available CPU's or even cores within CPU's.
A tongue-in-cheek
Tongue-in-cheek
Tongue-in-cheek is a phrase used as a figure of speech to imply that a statement or other production is humorously intended and it should not be taken at face value. The facial expression typically indicates that one is joking or making a mental effort. In the past, it may also have indicated...
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.
External links
- "Build Your Own Render Farm", ExtremeTech
- "How To: Building Your Own Render Farm, Tom's Hardware
- "The 9GHz Rendiathon", bit-tech.net
- "Building a Linux Cluster in an IKEA Helmer Cabinet"
- "Dynamic Render farm with Amazon Ec2 instances"