Abstract

Rendering is widely used for visual effects in animations, video games, and movies. As the computational load in rendering workloads fluctuates greatly over time, it is attractive to use cloud infrastructures for cost-effective rendering. However, we analyze that cloud rendering has several technical challenges involved in the handling of rendering input data. In this article, we analyze the workload characteristics of popular rendering projects, and find out the following three observations. First, total size of rendering input files reaches tens to hundreds of gigabytes, and uploading these large data to cloud increases the startup latency of rendering significantly. Second, the consistency requirement of file systems in cloud rendering is complicated compared to that of traditional distributed file systems. Third, file accesses in rendering are highly skewed such that the top 20% files account for 60-80% of total accesses, whereas 40-70% are never used or used only once. Based on these observations, we design and implement a new file system for cloud rendering, which has the function of version control, on-demand fetch, and distributed cooperative caching for rendering data. This allows for minimizing data transmission overhead caused by the large input data of rendering and satisfying the rendering data consistency. Measurement studies under synthetic and real workloads show that the proposed file system performs better than the conventional uploading scheme and NFS by 55.4% and 29.5% on average, respectively.

Highlights

  • Rendering is the process of creating high-resolution photorealistic or non-photorealistic images from a 2D or 3D geometric model by making use of computer software [1, 2, 3]

  • Our file system is designed as a distributed file system that synchronizes original files in on-premise storage and cached files in cloud nodes, while satisfying the semantics of rendering input

  • For measuring the performance of the warm start scenario, we first perform the rendering with the empty cache of the rendering nodes, and 20% of the input files are modified at the on-premise file server

Read more

Summary

INTRODUCTION

Rendering is the process of creating high-resolution photorealistic or non-photorealistic images from a 2D or 3D geometric model by making use of computer software [1, 2, 3]. The input file in the on-premise storage has been modified, any rendering that is already in progress should use the input files generated before starting this rendering This makes it difficult to use traditional distributed file systems such as NFS as it is for cloud rendering, because the version of the file to use depends on the start time of the rendering process even if a new version has been created. The versionaware caching maintains the rendering input files based on their versions and validates the current version from onpremise storage when the rendering process requests the files. As we use cooperative caching, the rendering cache manager first tries to fetch an input file from one of the peer cloud nodes in case a valid version is cached there.

RENDERING PROCESS AND WORKLOAD CHARACTERISTICS
THE PROPOSED FILE SYSTEM FOR CLOUD RENDING
VERSION-AWARE COOPERATIVE CACHING IN CLOUD
EXPERIMENTAL RESULTS
CONCLUSIONS
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call