skip to main content
research-article

Perfctr-Xen: a framework for performance counter virtualization

Published:09 March 2011Publication History
Skip Abstract Section

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.

References

  1. AMD CodeAnalyst. http://developer.amd.com/cpu/codeanalyst/, 2011.Google ScholarGoogle Scholar
  2. Performance counters for Linux. http://lwn.net/Articles/310176/, 2008.Google ScholarGoogle Scholar
  3. Perf_counter direct access support. http://lwn.net/Articles/323891/, 2009.Google ScholarGoogle Scholar
  4. Vmkperf utility for VMWare ESX 4.0, 2011.Google ScholarGoogle Scholar
  5. VTune amplifier profiler. http://software.intel.com/en-us/articles/intel-vtune-amplifier-xe/, 2011.Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle Scholar
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. W. Cohen. Multiple architecture characterization of the build process with OProfile, Red Hat. http://people.redhat.com/wcohen/wwc2003/, 2003.Google ScholarGoogle Scholar
  13. R. Creasy. The origin of the VM/370 time-sharing system. Softw. World (UK), 13 (1): 4--10, 1982. ISSN 0038-0652.Google ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Eranian. Perfmon2: A flexible performance monitoring interface for linux. In Ottawa Linux Symposium, pages 269--288, Ottawa, Canada, 2006.Google ScholarGoogle Scholar
  18. I. Habib. Virtualization with KVM. phLinux Journal, 2008 (166): 8, 2008. ISSN 1075--3583. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Kivity. KVM: the Linux virtual machine monitor. In OLS '07: The 2007 Ottawa Linux Symposium, pages 225--230, July 2007.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. M. Pettersson. Perfctr library. http://user.it.uu.se/ mikpe/linux/perfctr/, 2011.Google ScholarGoogle Scholar
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. M. Rosenblum. The reincarnation of virtual machines. Queue, 2 (5): 34--40, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  27. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Perfctr-Xen: a framework for performance counter virtualization

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 46, Issue 7
            VEE '11
            July 2011
            231 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/2007477
            Issue’s Table of Contents
            • cover image ACM Conferences
              VEE '11: Proceedings of the 7th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
              March 2011
              250 pages
              ISBN:9781450306874
              DOI:10.1145/1952682

            Copyright © 2011 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 9 March 2011

            Check for updates

            Qualifiers

            • research-article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!