2/3/2008

So you want to roll your own render farm

Filed under: Technology — Tim @ 9:25 am

ratatouille5.jpgBack in high school I had a couple of friends that really enjoyed playing around with 3ds Max, Bryce, Lightwave and a slew of other rendering packages. However, one of the problems, or rather annoyances, is that they would invariably begin rendering a complex, time-intensive scene with their main computer.

While the finished product was typically top-notch, this tended to disrupt and otherwise stymie our ability to destroy one another in video game deathmatches.

One of my friends eventually created a duct-tape solution: building a small render farm in his own room (his parents really enjoyed the electric bill).

Anyways, I just came across an older piece that seems to highlight the “best practices” for cheapos like you and me: Build Your Own Render Farm

And if you think that end-users will be playing photorealistic games anytime soon, hold your breath a little longer.

For instance, in the fall of 2002 nVidia was bragging about how their new GeForce 2 graphics cards were ushering consumers into a world of “Pixar-level animation in real-time.” In response, Tom Duff, one of the Pixar animators scoffed:

`Pixar-level animation’ runs about 8 hundred thousand times slower than real-time on our renderfarm cpus. (I’m guessing. There’s about 1000 cpus in the renderfarm and I guess we could produce all the frames in TS2 in about 50 days of renderfarm time. That comes to 1.2 million cpu hours for a 1.5 hour movie. That lags real time by a factor of 800,000.)
Do you really believe that their toy is a million times faster than one of the cpus on our Ultra Sparc servers? What’s the chance that we wouldn’t put one of these babies on every desk in the building? They cost a couple of hundred bucks, right? Why hasn’t NVIDIA tried to give us a carton of these things? — think of the publicity milage [sic] they could get out of it!

And based on Duff’s back-of-the-envelope calculations he predicted that it would take another 20 years of constant development before such a solution would be developed.

[Note: the rendered resolution that ended up in the theater for Toy Story was 1536 x 922, 1.42 megapixels]

Five years later, what is the state of the art rendering situation?

I came across an interview with Pixar “plumber” Jen Becker who was being interviewed by her alma mater alumni association. Here is a pertinent info nugget:

During Ratatouille, the renderfarm consisted of about 850 machines with nearly 3200 processors between them. When rendering the final Ratatouille film frames on a 2.66 GHz processor, each frame took an average of six hours. It took about 1532 CPU-years to render Ratatouille, including the lower-resolution renders done at various points in the pipeline and working iterations. That means that if we only had one CPU in the renderfarm, Ratatouille wouldn’t have been released until the year 3539. To store the images generated while making the movie, we used 12 terabytes of disk space.

While different render solutions have been implemented by a wide range of firms (ILM did the work on the Star Wars films and Weta worked on the LOTR trilogy), the films that Pixar authors are entirely animated. Thus, Pixar’s progress should be used as the current benchmark for World of Warcraft fanboys that love its cartoony look-and-feel yet demand Hollywood-level expansions in the near future.

Of course, that near future might have a chance of occuring in the next decade or so if Intel’s new ray-tracing product - Larrabee - is the real deal. But alas, it has been postponed another two years.

See also: Beowulf clusters