Scalable System Environment Caching and Sharing for Distributed Virtual Machines

Teng Long, Ilchul Yoon, Alan Sussman, Adam Porter, Atif M. Memon · 2014

Virtual machines have become very widely used in many software development communities. Developers can conveniently provision specific machine configurations using VMs, and those VMs can contain operating systems, libraries, and other applications required to build and execute their software under development. However, the size of full VM images and network bandwidth limitations makes large-scale reuse of VMs among distributed groups of developers extremely difficult. In this paper we address the problem of provisioning software configurations realized as virtual machine images rapidly and incrementally from a set of pristine VM states, by caching and sharing configuration fragments between developer groups. We first formally model the entire configuration space that might be cached and shared between groups, describe the design of our infrastructure to incrementally provision configurations from its fragments, and finally evaluate the performance of our approach with an example scenario common in software testing. Our experimental results show that our approach can help developers reduce the time and resource requirements for provisioning software configurations.

Read the paper · More papers on PaperTik