One need only look at the smashing success of the movie Titanic to know open source code is ready for prime time. Since opening in the US on December 19, 1997, the movie has become the largest grossing film of all time and has won 11 Academy Awards. Computer-generated special effects, powered by Linux, were a big part of the movie's success.
"Linux was well-suited to help us distribute work and manage central file servers during production," says Daryll Strauss, software engineer at Digital Domain. The film's visual effects were created by Digital Domain, a production studio in California. The studio's credits include notable films, such as Interview with the Vampire and Apollo 13.
To produce the demanding water and sinking shots, Digital Domain leveraged a computing environment of more than 350 Silicon Graphics CPUs, 200 Digital Alpha CPUs, and five terabytes of disk, connected by 100Mbps or faster cables.
Strauss says visual effects require enormous computing power. Film is processed at 24 frames per second, with each frame typically consuming 10MB. A special effects shot, however, requires much more memory - with file size as large as a few hundred MB. Some water effects files took as long as 45 minutes to run on a Digital Alpha.
Strauss and four other Digital Domain engineers began planning for and building Titanic's computing facility in mid '97. From previous experience with effects processing, they selected Digital Alpha as their computing platform.
For operating systems, the engineers weighed Digital Unix, Red Hat Linux, and Windows NT. According to Strauss, Digital Unix and Windows NT were substantially more expensive than Red Hat Linux. "Essentially, we paid $US50 for the Linux versus a per-box licence fee," Strauss says. Aside from saving the studio money, Linux had several advantages over the other operating systems.
Strauss says that NT did not support the studio's standard applications that run on SGI servers. Also, NT did not support the Network File System (NFS) protocol, a critical part of the studio's storage architecture. Digital Unix was a better fit, Strauss says, but the studio would have had to purchase and install the software for each system - an expensive and time-consuming task. Also, Digital Unix lacked the extensions to communicate with NT-based file servers. Linux offered the studio the capability to handle these tasks.
"Linux is good right out of the box. Its TCP/IP and NFS features matched our facilities very well," Strauss says.
This was critical because the studio purchased 160 Digital Alpha systems just weeks before entering production. Working closely with Carrera Computers of California, the studio pre-configured 105 of the machines with Red Hat Linux 4.1. "The machines showed up stacked to the roof of a delivery truck, and we were able to plug them in and turn them on," Strauss says.
The studio had selected Red Hat's distribution of Linux because it was the only release supporting Digital Alpha at the time. During construction of the Digital Alpha "Render Ranch", Strauss received support from the open source community. For example, Strauss was able to resolve a floating-point problem in short order by bouncing e-mail back and forth with several developers.
Strauss says the open source support model is here to stay, but it's not for every company. "You need really skilled people in-house," Strauss says. "But we didn't have to go to the manufacturer of the product for support. It's a nice option to have."
Once in place, the Linux-based system processed more than 300,000 frames, running 24 hours a day, seven days a week during mid-1997. Many machines were up for more than a month at a time. Since the film's completion, the network has been dismantled and distributed to other 20th Century Fox facilities for reuse.
And as they say in Hollywood, that's a wrap.