Welcome to the Virtual Putty Project!

Virtualization is a key technology underlying several distributed platforms, such as clouds, virtualized Grids, and data centers. In such environments, applications are encapsulated within virtual machines and dynamically mapped onto a pool of physical servers. Virtual machines provide several benefits in these environments, including increased physical resource utilization via resource multiplexing, as well as flexibility and easy scaleup/scale-down through migration and fast restarts. However, these platforms have competing requirements: from the perspectives of the resource provider and the resource user, respectively. While the resource provider would like to increase server consolidation in order to minimize power and cooling costs, the resource user would like to maximize performance and reliability for their applications.

The key factor that determines the provisioning requirements of a virtual machine is its physical footprint: the amount of physical resources it consumes in terms of CPU time, storage (memory and disk), network bandwidth, and power. We contend that the physical footprint of a VM is highly malleable, and the physical footprint of virtual machines can be reshaped to achieve higher application performance and consolidation.

In this project, we are building virtualization mechanisms to reduce individual VM physical footprints, as well as a VM management layer to achieve system-wide footprint reshaping.  As part of this effort, we are looking at several questions:

  • How to estimate the physical footprint of a VM?
  • How to reduce the physical footprint of a VM for specific resources (network, disk, memory, etc.)?
  • How to use migration/placement to reshape the physical footprints of VMs in a virtualized platform?

Acknowledgment: We are thankful to NSF for partial support on this project.