Stork: package management for distributed VM environments

  • Authors:
  • Justin Cappos;Scott Baker;Jeremy Plichta;Duy Nyugen;Jason Hardies;Matt Borgard;Jeffry Johnston;John H. Hartman

  • Affiliations:
  • University of Arizona;University of Arizona;University of Arizona;University of Arizona;University of Arizona;University of Arizona;University of Arizona;University of Arizona

  • Venue:
  • LISA'07 Proceedings of the 21st conference on Large Installation System Administration Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In virtual machine environments each application is often run in its own virtual machine (VM), isolating it from other applications running on the same physical machine. Contention for memory, disk space, and network bandwidth among virtual machines, coupled with an inability to share due to the isolation virtual machines provide, leads to heavy resource utilization. Additionally, VMs increase management overhead as each is essentially a separate system. Stork is a package management tool for virtual machine environments that is designed to alleviate these problems. Stork securely and efficiently downloads packages to physical machines and shares packages between VMs. Disk space and memory requirements are reduced because shared files, such as libraries and binaries, require only one persistent copy per physical machine. Experiments show that Stork reduces the disk space required to install additional copies of a package by over an order of magnitude, and memory by about 50%. Stork downloads each package once per physical machine no matter how many VMs install it. The transfer protocols used during download improve elapsed time by 7X and reduce repository traffic by an order of magnitude. Stork users can manage groups of VMs with the ease of managing a single machine - even groups that consist of machines distributed around the world. Stork is a real service that has run on PlanetLab for over four years and has managed thousands of VMs.