Taking a potshot at its own practices, “The Simpsons” character Krusty the Clown once told Lisa Simpson she was the best thing to happen to TV since “cheap Korean animation.” Likewise, putting animators to work at digital workstations in the 1990s shortened production cycles and dramatically lowered the costs of creating sophisticated-looking 3-D images and motion graphics.
Still, putting the professional finish on digital animations and composing the final product requires powerful software running on serious hardware for many, many CPU cycles. Rendering — turning graphics instructions into textured, colorful, lifelike 3-D images before generating the final output — is a computationally intense process tailor-made for grid-style computing. Distribute your frames to be rendered among a couple hundred machines and go back to drawing new ones while the grid crunches away. Unfortunately, not too many animation studios have a grid sitting in the back room.
But what if you could use someone else’s grid? That’s what a minimalist team of artists and developers did to render their 3-D animated short film “Big Buck Bunny.” The Blender Foundation used Sun Microsystems’ Network.com service to generate the final rendering of its comic cartoon.
“We needed an estimated 20,000 to 40,000 hours of rendering time, preferably on Unix-based systems with 64-bit CPUs and each node with at least 4GB of memory,” says Ton Roosendaal, producer of “Big Buck Bunny” and chairman of the Blender Foundation, the collective behind the movie. That sort of configuration is necessary to generate very fine attributes like hair and grass, or realistic reflections and shadows. “But those specs were not available a year ago for publicly accessible and affordable render farms. So we were incredibly happy with the opportunity to use Sun’s grid. It gave us a very powerful platform where we could use hundreds of CPUs simultaneously to speed up the rendering process without needing to own the infrastructure.”
In the end, the group used 50,000 CPU hours on Sun’s grid, rendering time courtesy of Sun. Roosendaal estimates it took about 10,000 CPU hours to render all the frames, but the team ended up using more cycles because “it is great for artists to have some time for tweaks, feedback and fixes.”
The Process
The artists used the open source software suite called Blender to do all the 3-D work, such as modeling and animating characters and adding realistic surface effects. (Blender is available at blender.org and is also one of the grid-enabled on-demand applications in Network.com’s application catalog.) When finished drawing backgrounds and modeling characters, artists used a script to upload jobs to Sun’s grid.
“One grid job typically was a single movie shot,” Roosendaal says. “Our 8.5-minute movie consists of 130 shots. Most of the shots were between 2 and 5 seconds, which means 50 to 120 frames. After rendering, the finished frames were downloaded to our computers. On average, each frame was 10MB, so for each shot, we had to download about 1GB.”
This was the first time Network.com was used to render at this scale, so it’s not surprising that the “Big Buck Bunny” team had to deal with some hiccups, especially when shipping humongous amounts of data from the Blender Institute’s servers in Amsterdam to Sun’s servers “somewhere in America.” Campbell Barton, technical director for the project, notes in his blog some of the initial glitches, from dropped Internet connections to rendering sessions quitting for no apparent reason. “This was insanely frustrating and the cause of many late nights and time wasted with incorrect assumptions … Disk full? Out of memory? Corrupt temp files? Each had to be explored, and without direct access to the systems … it was very hard to debug. … There were a number of problems, some with Blender, some with Network.com, and the guys at Sun did their best to support us and managed to use system logs to track down the errors.” Such problems Walt Disney never had to deal with.
Slight setbacks aside, though, “Sun’s online system is actually pretty cool,” Barton says. “You zip all your application and working files, upload them, define the run command, and press ‘go!’ It tells you how many hours are being used and [ultimately] produces a zipped file with the generated files for download.” On average, the rendering process used up about 150 CPUs at a time, Barton says, and took 1 to 2 hours per frame.
The Movie’s Open
“Big Buck Bunny” is an open source movie, built with open source software, and all the digital assets are available to anyone; if you wanted to use one of the evil rodent characters from the movie, for example, it’s all yours, just like a piece of open source Linux code. The motivation behind producing the cartoon flick was to “stimulate the development of open source 3-D software,” Roosendaal says. But the artistic and image quality of the movie had to look like it came from a large animation studio, he says.
Alvis Matlija, product manager at Network.com, says the month-long rendering project “served as a proof of concept” that an open source application running in an on-demand environment could be used to reduce the cost of compute-intensive tasks like 3-D rendering.
“The most important news here is the fact that the bar has been lowered for anyone who wants to use Blender to create professional animated movies,” says David Folk, group manager of marketing at Network.com. “We lower the cost for smaller shops that don’t have the luxury of investing in the hardware it would take to handle applications like 3-D rendering.”
A Killer App?
When GRIDtoday’s Derrick Harris reported on this movie-rendering project earlier this year (when it was still called “Peach”), he asked if Sun finally had found the killer app for Network.com. After all, “Sun has effectively given the unconnected creative community a way to get into the animation game.” But a Sun exec was reluctant then to say if 3-D digital video rendering would be that killer app. Now that the movie is finished, Folk wouldn’t confer killer status either.
“Blender and rendering is a good example of the power and benefits of utility computing, and we’ve now seen success with it,” Folk says. “But I would feel it’s a bit grandiose at this point to say ‘killer app.’ What the Blender team has done shows that rendering is a good-use case for on-demand computing.”
“Big Buck Bunny” producer Roosendaal zeroes in on the bottom line of grid computing and rendering. “If there are professional animators involved, and they have the budget, especially when serving demanding clients and deadlines, then having a giant grid at your disposal definitely is worth the money.” For the less fortunate animators out there, however, services like Network.com might have to suffice.
As for the marriage of Sun and Blender, it appears both parties will have to elevate their games if they are to repeat this level of success. For the animation/tech team’s next act, Roosendaal, lead developer of the Blender software, says the group is finalizing an open gaming project, with the similar concept that all the material required to make the game will be published. “Around October, I hope to announce our next open movie project, this time based on a more epic and action-based concept,” he says. “Who will do this and where it will get rendered is still unknown. [W]e want to jump over the 4GB memory limit [of the Sun hardware], so we hope by 2009 Sun can offer grid computing on 16GB nodes, with four or eight cores each.”
Download the movie: www.bigbuckbunny.org/index.php/download/.