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.
在虚拟机环境中,每个应用程序通常在其自身的虚拟机(VM)中运行,从而与在同一物理机上运行的其他应用程序隔离开来。虚拟机之间对内存、磁盘空间和网络带宽的争夺,加上由于虚拟机提供的隔离性而无法共享,导致资源利用率过高。此外,虚拟机增加了管理开销,因为每个虚拟机本质上都是一个独立的系统。
Stork是一种用于虚拟机环境的软件包管理工具,旨在缓解这些问题。Stork安全且高效地将软件包下载到物理机上,并在虚拟机之间共享软件包。由于共享文件(如库和二进制文件)在每台物理机上只需要一个持久副本,因此减少了对磁盘空间和内存的需求。实验表明,Stork将安装软件包额外副本所需的磁盘空间减少了一个数量级以上,内存减少了约50%。无论有多少虚拟机安装某个软件包,Stork在每台物理机上只下载一次该软件包。下载过程中使用的传输协议将耗时缩短了7倍,并将存储库流量减少了一个数量级。Stork用户可以像管理一台机器一样轻松地管理虚拟机组——即使是由分布在世界各地的机器组成的组。Stork是一项真实的服务,已经在PlanetLab上运行了四年多,管理着数千个虚拟机。