Proceedings of the seventeenth ACM symposium on Operating systems principles
Formal requirements for virtualizable third generation architectures
Communications of the ACM
Xenoservers: Accountable Execution of Untrusted Programs
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Diagnosing performance overheads in the xen virtual machine environment
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Building a MAC-Based Security Architecture for the Xen Open-Source Hypervisor
ACSAC '05 Proceedings of the 21st Annual Computer Security Applications Conference
Virtual Machines: Versatile Platforms for Systems and Processes (The Morgan Kaufmann Series in Computer Architecture and Design)
Measuring CPU overhead for I/O processing in the Xen virtual machine monitor
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Xen and the art of repeated research
ATEC '04 Proceedings of the annual conference on USENIX Annual Technical Conference
Optimizing network virtualization in Xen
ATEC '06 Proceedings of the annual conference on USENIX '06 Annual Technical Conference
Virtage: Server virtualization with hardware transparency
Euro-Par'09 Proceedings of the 2009 international conference on Parallel processing
Hi-index | 0.01 |
The use of virtualization as a means to consolidate multiple applications on the same server platform continues to grow in the datacenter. However, the performance implications in a virtualized environment are not yet thoroughly understood for key commercial server workloads. In this paper, our goal is to provide architectural insights into the performance of server application scaling in a virtualization environment. We do so by studying the scaling behavior of a compute intensive application, namely SPECjbb2005 which is a commercial Java server benchmark. When comparing to native execution, the performance of a single virtual machine running SPECjbb2005 appears to be comparable. However, as the number of virtual machines is increased, the performance degradation was found to be significant. A detailed investigation into overheads of virtual machine scheduling and context switching overhead was conducted. Based on this investigation, we show how the number of instructions executed per operation, the cycles per instruction, and the cache misses and the TLB misses all are affected when scaling virtual machines. We also compare the performance of the simultaneously running virtual machines and discuss fairness and prioritization implications of scheduling decisions.