Uma arquitetura para monitoramento e medição de desempenho para ambientes virtuais - Fabricio Benevenuto de Souza (2006)
Virtual environments are experiencing a renewed interest due to several reasons, such as isolation, server consolidation and resource partitioning. The deployment of a virtual server allow the consolidation of multiple operational systems and applications on a single hardware platform, reducing the number of servers of an enterprise, increasing resource utilization, simplifying infrastructure organization, reducing management costs and allowing the creation of an environment able to adapt to changes on application workloads. However, before migrating applications from physical machines to virtualized environments, one needs to be able to understand the behavior of the applications on the new environment. The performance of such applications on virtual environments may differ considerably from their performance on real systems due to interactions with the software layer which simulates the hardware and due to the need of sharing some with other virtual machines. Moreover, the configuration of a virtual environment has a significant impact on system performance. For instance, in the Xen virtual environment, I/O device drivers execute in privileged virtual machines called isolated driver domains (IDDs). A configuration choice that critically affects system performance is the assignment of multiple virtual machines and IDDs to the CPUs in a multiprocessor server. In this context, understanding the sources of virtualization overhead and quantify this overhead is crucial for the deployment and configuration of applications on virtual environments.This work presents two techniques to measure and monitor performance in virtual environments. Using these techniques, we provide a performance evaluation of applications executing on the Xen virtual environment as a function of application parameters and configuration choices. Our results show that I/O processing in Xen requires three to five times the CPU capacity as in Linux. Furthermore, we show that the throughput of an IDD is limited by the processing capacity of a single CPU, even with a multiprocessor IDD. We also observed a performance overhead of almost 18% when virtual machines share the same resources, such as processor caches.