Animation and visual effects (VFX) are at the heart of modern film production. Digital production as we know it began in the early 1990s with movies such as “Terminator 2” and “Jurassic Park.” Those movies broke new ground in what could be done with visual effects. Then, “Toy Story” in 1995 became the first full-length digitally generated animated feature, and the rest is film history.
Concurrent with the production of these movies was the “democratization” of visual effects. This began in the early 1990s with open source products and proprietary packages being productized and sold by companies, replacing in-house tools available only to industry pioneers. Standards such as file formats also began to be established, which allowed the emerging ecosystem of digital production tools to be linked together into flexible processing pipelines.
With access to reusable pipelines, studios began focusing on the more creative aspects of their trade, such as creating characters with increasingly complex physical characteristics. In “Monsters, Inc.,” made in 2001, Sully had about 1 million hairs. In “Monsters University,” made in 2013, he had around 5.5 million hairs.
Challenges of the VFX workflow
A VFX production pipeline is complex, with many processes and many among them. The biggest challenge is managing the sheer volume of information required to produce photorealistic imagery. A single creature might be composed of hundreds, if not thousands of digital assets. It is often necessary to assemble terabytes of data that must be rendered and/or composited.
Volumetric data, which is essential to many bread-and-butter effects, including clouds, dust, water, fire, and fluids, is another example of extreme complexity. The data is challenging both because of its large footprint and because it often requires conversion to other formats before it can be used by other tools.
Here is a very simple VFX pipeline for on-premises rendering.
Most pipelines are, in reality, far more intricate and far less linear than the one shown above. For example, editing can take place before the VFX shots are available. Creating special effects is time consuming. Editors can work without the completed special effects, using mocked up versions as stand ins, and then drop in the completed shots when they’re available.
Storage pain points for on-premises VFX rendering
In general, the driver behind the growth of VFX is that the technology has gotten better, cheaper and faster, which means that animation and special effects have gotten increasingly ambitious. These complex films require a highly scalable, modern storage system that is designed to handle billions of files.
The emphasis is on “file” because VFX is a file-based workflow and files are the medium of exchange between applications that were not necessarily written by the same company. Workflows must integrate across applications and file is the way to do that.
Any organization that relies on its file storage system as heavily as VFX studios do is always sensitive to a variety of issues. These include performance, scalability, adaptability and visibility. Storage system performance is always important. Systems that are too slow can starve the rendering farm or keep artists from working while rendering is going on. As more and more studios move to 4K and higher resolutions, performance will become increasingly critical.
The ever-increasing amount of data that VFX shops generate can easily fill up their storage system. Again, the advent of 4K has to be considered because it means much larger data footprints. Depending on what they’re using, demands for more capacity may mean that the studio must replace the entire storage system or buy new metadata controllers and storage shells.
A small VFX shop might, when it first starts, use a storage system the team has put together themselves. As their business grows, that system will need to be replaced. They will want to move to a scalable, commercial file storage system with enterprise features will help them take on more projects and create more sophisticated effects.
Visibility is a limitation of legacy storage systems. Most M&E shops use a treewalk script/program to manage their storage. Treewalks are extremely slow when file systems are large. Administrators can literally wait for days to get answers, which effectively means the data is useless.
Qualities of a modern VFX storage system
VFX studio management needs a storage system that will help the business grow while keeping costs down. The ability to scale to billions of files is important so that the system can keep pace with the company’s expansion. The TCO also matters. What the storage itself costs is just the beginning. There are other factors, such as how easy the system is to install and manage. Another factor is how efficiently disk space is used. The more efficiency, the less storage is needed and the lower the infrastructure costs such as cooling and power.
A simple subscription mode that covers everything, including upgrades and support will help make costs transparent. Customer support that provides instant access to a dedicated storage expert via communication tools such as Slack is a must.
Artists need to see data clusters as a single volume, rather than having to deal with multiple disks or provisioned volumes. They need a system that’s fast enough so that they can work while frames are being rendered.
IT administrators need real-time visibility and control to gain insights into what’s happening in the storage system now, down to the file level. Capacity explorer and capacity trends tools will let them see who is using the most storage now and over time, so that they can plan sensibly for future use and not worry about overprovisioning. The ability to identify hotspots and immediately apply quotas will let them halt any processes that are monopolizing storage resources.
VFX rendering in the cloud
Problems such as scalability and performance, which you would expect from any organization that has to deal with an ever-growing number of files, are exacerbated for VFX studios because they cannot tolerate delays in their schedule to add more resources.
VFX studios can easily outstrip the capacity of their on-premises render farms. Power, cooling and physical space are all finite resources that put limits on what the studio can achieve. A new project or one with unexpected complications can exhaust the available compute and storage resources at any moment.
With tight deadlines, there’s no time to build out the physical infrastructure. Even renting equipment may not be a feasible solution. When considering how long it takes to order, deliver, and rack and stack the nodes, the challenge of finding available rental hardware and the challenge of finding enough data center space, power, networking, and cooling, it may seem like there’s no answer — unless you start looking at the cloud.
In fact, many VFX studios are interested in the cloud. Most of the work may still be on-premises but if there is an unexpectedly complex job or more work than was originally anticipated, studios want the option of using the cloud to handle the overload.
Storage pain points for cloud rendering
Many of the same considerations for on-premises rendering apply to cloud rendering but there are some specific issues that need to be considered. Unfortunately, while compute resources in the cloud are readily available, file-based storage solutions are often inadequate, or are versions of legacy file systems with some patches applied to make them “cloud ready.” Problems include lack of protocol support, performance and capacity limitations, and complexity in setting up the cluster.
It’s important that studios be able to at least match the performance of their on-premises render farm in the cloud. They should also be able to scale performance and capacity separately to take advantage of the flexible resources the public cloud offers. It should also be easy to transfer files from the on-premises cluster to the cluster in the cloud, and to then return the results back to the on-premises cluster.
Evaluating cloud-based file systems
Here are some questions that VFX studios should ask themselves when they evaluate cloud-based file solutions:
- Does your workflow use file? If you’re thinking about converting from file to object, would you consider changing your mind if you could get great file in the cloud today?
- Do you use NFS or SMB? Often, when they think of file in the cloud, people think in terms of the AWS Elastic File Store, which only supports NFS. Many VFX studios are Windows shops, which means they need SMB.
- What’s your workflow? What are you trying to do in the cloud? Compute, rendering, processing?
- What kind of performance metrics do you need?
- How will you transfer files between the cloud and the on-premises render farm?