Check out the new USENIX Web site. next up previous
Next: 2 Xen Up: Measuring CPU Overhead for Previous: Measuring CPU Overhead for


1 Introduction


The current trend toward virtualized computing resources and outsourced service delivery has caused interest to surge in Virtual Machine Monitors (VMMs) that enable diverse applications to run in isolated environments on a shared hardware platform. The Xen virtual machine monitor [1] allows multiple operating systems to execute concurrently on commodity x86 hardware. The recent HP Labs SoftUDC project [3] is using Xen to create isolated virtual clusters out of existing machines in a data center that may be shared across different administrative units in an enterprise. Managing this virtual IT infrastructure and adapting to changing business needs is a challenging task. In SoftUDC, virtual machines (VMs) can be migrated from one physical node to another when current physical node capacity is insufficient, or for improving the overall performance of the underlying infrastructure.

To support these management functions, we need an accurate monitoring infrastructure reporting resource usage of different VMs. The traditional monitoring system typically reports the amount of CPU allocated by the scheduler for execution of a particular VM over time. However, this method might not reveal the ``true'' usage of the CPU by different VMs. The reason is that virtualization of I/O devices results in an I/O model where the data transfer process involves additional system components, e.g. hypervisor and/or device driver domains. Hence, the CPU usage when the hypervisor or device driver domain handles the I/O data on behalf of the particular VM needs to be charged to the corresponding VM.

In this work, we present a lightweight, non-intrusive monitoring framework for measuring the CPU overhead in VMM related layers during I/O processing and a method for charging this overhead to VMs causing the I/O traffic. Our performance study presents measurements of the CPU overhead in the device driver domain during I/O processing and attempts to quantify and analyze the nature of this overhead.


next up previous
Next: 2 Xen Up: Measuring CPU Overhead for Previous: Measuring CPU Overhead for