At RenderStreet, we place our customers' renders in the front row. We aim to be able to finish all jobs in time, on budget, and with as little effort from you as possible. In order to achieve this, we have worked on developing our RenderWheels resource allocation system for over a year.
First in stealth mode from January until October 2012, then in closed beta until January 2013. With the help of our beta testers, we refined and optimized our system, getting it to be production ready.
Let's look at what RenderWheels does and how it is able to achieve great scalability and allocate resources in such a way so every render job is finished as fast as possible. We'll talk about animations first, as these are more resource intensive.
When an animation job is launched, RenderWheels starts rendering the first frame on one of our severs. Once the first frame is completed, it analyzes the job parameters, the frame completion time, and the number of frames in the job.
From there, using a complex algorithm, it dynamically allocates more servers, to ensure a speedy completion of the rendering. As more frames get rendered, it uses the algorithm to refine the estimates and figure out what's needed to complete the job in a timely manner. If needed, more servers are added or removed from the pool of servers allocated to the job.
When talking about still images, most render farms fall into one of the following behaviors: They either render the entire job on one server, with the drawback of taking a very long time, or split the still image into several parts and render them on different servers. RenderWheels does it even better.
It splits the image into parts, but instead of rendering the parts on a fixed number of servers, it determines dynamically how many servers are needed to render the job in time. Then it allocates the resources needed in a continuos way, so it can ensure the still images are completed on time as well.
Using RenderWheels, jobs are completed faster and the computer power is delivered when needed, on an ongoing basis. The graphic below shows a comparison between a normal queue management software and RenderWheels. Note how the job is finished faster as resource allocation decisions are made on the fly.