Evaluating the Performance and Intrusiveness of Virtual Machines for Desktop Grid Computing Patricio Domingues School of Technology and Management - Polytechnic Institute of Leiria, Portugal patricio@estg.ipleiria.pt Filipe Araujo, Luis Silva CISUC, Dept. of Informatics Engineering, University of Coimbra, Portugal {filipius, luis}@dei.uc.pt Abstract We experimentally evaluate the performance overhead of the virtual environments VMware Player, QEMU, Virtu- alPC and VirtualBox on a dual-core machine. Firstly, we assess the performance of a Linux guest OS running on a virtual machine by separately benchmarking the CPU, file I/O and the network bandwidth. These values are compared to the performance achieved when applications are run on a Linux OS directly over the physical machine. Secondly, we measure the impact that a virtual machine running a vol- unteer @home project worker causes on a host OS. Results show that performance attainable on virtual machines de- pends simultaneously on the virtual machine software and on the application type, with CPU-bound applications much less impacted than IO-bound ones. Additionally, the perfor- mance impact on the host OS caused by a virtual machine using all the virtual CPU, ranges from 10% to 35%, de- pending on the virtual environment. 1. Introduction System-level virtual machines that can run unmodified operating systems (OS) are substantially changing comput- ing. In fact, virtual machines have emerged in the last decade as a viable solution for running a full operating system (guest OS) on top of a hosting environment (host OS). Among other features, virtual machines provide for the easy deployment of virtual OSes, migration, fault tol- erance and sandboxing. A major use for virtualization has been software development, software testing and server consolidation [15]. Additionally, virtualization can also play a major role in public resource computing projects, like SETI@home, Einstein@home, Rosetta@home and oth- ers [2]. Indeed, several characteristics make virtualization appealing for public resource computing, both from the de- velopers and volunteers point of view. For instance, virtu- alization provides for an easy deployment of the same com- puting environment across all participating machines. This includes the operating system and all the software stack that might be required by the desktop grid application. In addi- tion, having a unique and well-known environment across all volunteers considerably eases the task of developers, be- cause they only have to deal with a single platform. Besides providing for a homogeneous environment, the use of virtual machines for desktop grid computing brings an enhanced security for volunteers. Indeed, the sandboxing isolation offered by system-level virtual machines makes the execution of a foreign application by a volunteer ma- chine much safer. In fact, virtual machines are often used in security-oriented environments for testing potentially mali- cious software. Another appealing feature of virtual machines for desk- top grid computing lies in the possibility of saving the state of the guest OS to persistent storage. This is done in a trans- parent manner, requiring no intervention nor modification of the guest OS. This checkpointing feature allows simulta- neously for fault tolerance and migration, making possible the exportation of a virtual environment to another physical machine, with the execution being resumed at the remote machine. Nonetheless the above stated advatanges, wide deploy- ment of virtualization for desktop grids has some hin- drances: (1) software licensing, (2) the size of the virtual OS images and (3) the performance impact on both the virtualized environment and on the host OS. Software li- censing issues, namely operating system ones can be dealt by resorting to open source OS, such as Linux and BSD. To contain the size of the virtual machine image, one can choose a small footprint distribution, such as ttylinux (www.minimalinux.org). However, this will always impose