Abstract
Virtualization is a powerful technique used for variety of application domains, including emerging cloud environments that provide access to virtual machines as a service. Because of the interaction of virtual machines with multiple underlying software and hardware layers, the analysis of the performance of applications running in virtualized environments has been difficult. Moreover, performance analysis tools commonly used in native environments were not available in virtualized environments, a gap which our work closes.
This paper discusses the challenges of performance monitoring inherent to virtualized environments and introduces a technique to virtualize access to low-level performance counters on a per-thread basis. The technique was implemented in perfctr-xen, a framework for the Xen hypervisor that provides an infrastructure for higher-level profilers. This framework supports both accumulative event counts and interrupt-driven event sampling. It is light-weight, providing direct user mode access to logical counter values. perfctr-xen supports multiple modes of virtualization, including paravirtualization and hardware-assisted virtualization. perfctr-xen applies guest kernel-hypervisor coordination techniques to reduce virtualization overhead. We present experimental results based on microbenchmarks and SPEC CPU2006 macrobenchmarks that show the accuracy and usability of the obtained measurements when compared to native execution.
- AMD CodeAnalyst. http://developer.amd.com/cpu/codeanalyst/, 2011.Google Scholar
- Performance counters for Linux. http://lwn.net/Articles/310176/, 2008.Google Scholar
- Perf_counter direct access support. http://lwn.net/Articles/323891/, 2009.Google Scholar
- Vmkperf utility for VMWare ESX 4.0, 2011.Google Scholar
- VTune amplifier profiler. http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/, 2011.Google Scholar
- L. Adhianto, S. Banerjee, M. Fagan, M. Krentel, G. Marin, J. Mellor-Crummey, and N. R. Tallent. HPCToolkit: Tools for performance analysis of optimized parallel programs. Concurrency and Computation: Practice and Experience, 22 (6): 685--701, 2010. Google Scholar
Digital Library
- G. Back and D. S. Nikolopoulos. Application-specific system customization on many-core platforms: The VT-ASOS framework. In STMCS: Second Workshop on Software Tools for Multi-Core Systems (STMCS), San Jose, CA, Mar. 2007.Google Scholar
- P. Barham, B. Dragovic, K. Fraser, and et al. Xen and the art of virtualization. In SOSP '03: Proceedings of the nineteenth ACM Symposium on Operating Systems Principles, pages 164--177, New York, NY, USA, 2003. ISBN 1-58113-757-5. Google Scholar
Digital Library
- S. Bratanov, R. Belenov, and N. Manovich. Virtual machines: a whole new world for performance analysis. SIGOPS Oper. Syst. Rev., 43: 46--55, April 2009. Google Scholar
Digital Library
- S. Browne, C. Deane, G. Ho, and P. Mucci. PAPI: A portable interface to hardware performance counters. In Proceedings of Department of Defense HPCMP Users Group Conference, June 1999.Google Scholar
- E. Bugnion, S. Devine, K. Govil, and M. Rosenblum. Disco: running commodity operating systems on scalable multiprocessors. ACM Trans. Comput. Syst., 15 (4): 412--447, 1997. ISSN 0734-2071. 10.1145/265924.265930. Google Scholar
Digital Library
- W. Cohen. Multiple architecture characterization of the build process with OProfile, Red Hat. http://people.redhat.com/wcohen/wwc2003/, 2003.Google Scholar
- R. Creasy. The origin of the VM/370 time-sharing system. Softw. World (UK), 13 (1): 4--10, 1982. ISSN 0038-0652.Google Scholar
- P. Drongowski, L. Yu, F. Swehosky, S. Suthikulpanit, and R. Richter. Incorporating instruction-based sampling into AMD CodeAnalyst. In IEEE International Symposium on Performance Analysis of Systems Software (ISPASS), pages 119--120, Mar. 2010. 10.1109/ISPASS.2010.5452049.Google Scholar
Cross Ref
- J. Du, N. Sehrawat, and W. Zwaenepoel. Performance profiling in a virtualized environment. In Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, HotCloud'10, Berkeley, CA, USA, 2010. USENIX Association. Google Scholar
Digital Library
- J. Du, N. Sehrawat, and W. Zwaenepoel. Performance profiling of virtual machines. In Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual Execution Environments, VEE '11, Newport Beach, CA, USA, 2011. Google Scholar
Digital Library
- S. Eranian. Perfmon2: A flexible performance monitoring interface for linux. In Ottawa Linux Symposium, pages 269--288, Ottawa, Canada, 2006.Google Scholar
- I. Habib. Virtualization with KVM. phLinux Journal, 2008 (166): 8, 2008. ISSN 1075--3583. Google Scholar
Digital Library
- S. T. King, G. W. Dunlap, and P. M. Chen. Operating system support for virtual machines. In ATEC '03: Proceedings of the annual conference on USENIX Annual Technical Conference, pages 71--84, Berkeley, CA, USA, 2003. USENIX Association. Google Scholar
Digital Library
- A. Kivity. KVM: the Linux virtual machine monitor. In OLS '07: The 2007 Ottawa Linux Symposium, pages 225--230, July 2007.Google Scholar
- A. Menon, J. R. Santos, Y. Turner, G. J. Janakiraman, and W. Zwaenepoel. Diagnosing performance overheads in the Xen virtual machine environment. In VEE '05: Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments, pages 13--23, New York, NY, USA, 2005. ISBN 1-59593-047-7. 10.1145/1064979.1064984. Google Scholar
Digital Library
- M. Pettersson. Perfctr library. http://user.it.uu.se/ mikpe/linux/perfctr/, 2011.Google Scholar
- J. S. Robin and C. E. Irvine. Analysis of the intel pentium's ability to support a secure virtual machine monitor. In 9th USENIX Security Symposium, pages 129--144, 2000. Google Scholar
Digital Library
- M. Rosenblum. The reincarnation of virtual machines. Queue, 2 (5): 34--40, 2004. Google Scholar
Digital Library
- C. Sapuntzakis, D. Brumley, R. Chandra, N. Zeldovich, J. Chow, M. S. Lam, and M. Rosenblum. Virtual appliances for deploying and maintaining software. In LISA '03: Proceedings of the 17th USENIX conference on System administration, pages 181--194, Berkeley, CA, USA, 2003. USENIX Association. Google Scholar
Digital Library
- S. Shende and A. D. Malony. TAU: The TAU parallel performance system. International Journal of High Performance Computing Applications, 20 (2): 287--311, 2006. Google Scholar
Digital Library
- D. Zaparanuks, M. Jovic, and M. Hauswirth. Accuracy of performance counter measurements. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2009)., pages 23--32, Apr. 2009.Google Scholar
Cross Ref
Index Terms
Perfctr-Xen: a framework for performance counter virtualization
Recommendations
Perfctr-Xen: a framework for performance counter virtualization
VEE '11: Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environmentsVirtualization is a powerful technique used for variety of application domains, including emerging cloud environments that provide access to virtual machines as a service. Because of the interaction of virtual machines with multiple underlying software ...
Xen and the art of virtualization
SOSP '03Numerous systems have been designed which use virtualization to subdivide the ample resources of a modern computer. Some require specialized hardware, or cannot support commodity operating systems. Some target 100% binary compatibility at the expense of ...
Hybrid CPU Management for Adapting to the Diversity of Virtual Machines
As an important cornerstone for clouds, virtualization plays a vital role in building this emerging infrastructure. Virtual machines (VMs) with a variety of workloads may run simultaneously on a physical machine in the cloud platform. The scheduling ...







Comments