skip to main content
article

L4oprof: a performance-monitoring-unit-based software-profiling framework for the L4 microkernel

Published:01 July 2007Publication History
Skip Abstract Section

Abstract

These days, the L4 microkernel is expanding its domain towards embedded systems since it is showing a comparable performance with traditional monolithic kernels. The L4 microkernel shows a greatly different execution behavior of user applications from that in a traditional monolithic environment because most operating-system services are run as user-level applications. Therefore, we need a profiling framework to obtain a better understanding of performance bottlenecks for software optimization. However, current L4 profiling tools provide only higher-level information, such as the number of function calls, IPCs, and context switches. In this paper, we present a software profiling framework which gathers system-wide statistical information in the L4 microkernel environment. In order to support profiling lower-level information such as clock cycles, cache misses, and TLB misses, our profiling framework uses the hardware performance counters of the PMU (Performance Monitoring Unit) which most CPUs support. In this paper, we show that our profiling framework incurs less than 3% overhead below 15000 interrupts per second compared to the existing Linux profiling tool. Moreover, as a case study, we show the main cause of performance loss in L4Linux applications compared with Linux applications.

References

  1. Intel. IA-32 Architecture Software Developer's Manual, Vol. 3: System Programming Guide, 2003Google ScholarGoogle Scholar
  2. J. Liedtke. L4 reference manual (486, Pentium, PPro). Research Report RC 20549, IBM T. J. Watson Research Center, Yorktown Heights, NY, September 1996.Google ScholarGoogle Scholar
  3. Adam Lackorzynski. L4Linux Porting Optimizations. Master's thesis, Technische Universitat Dresden, March 2004.Google ScholarGoogle Scholar
  4. Operating Systems Group Technische Universitat Dresden. The L4 Environment, http://www.tudos.org/l4env.Google ScholarGoogle Scholar
  5. J. Levon. OProfile. http://oprofile.sourceforge.net.Google ScholarGoogle Scholar
  6. J. M. Anderson, W. E. Weihl, L. M. Berc, J. Dean, S. Ghemawat. Continuous profiling: Where have all the cycles gone? In ACM Transactions on Computer Systems, 1997 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Intel. The VTune#8482; Performance Analyzers. http://www.intel.com/software/products/vtune.Google ScholarGoogle Scholar
  8. S. Eranian. The perfmon2 interface speciation. Technical Report HPL-2004-200 (R.1), HP Labs, Feb 2005.Google ScholarGoogle Scholar
  9. M. Pettersson. The Perfctr interface. http://user.it.uu.se/mikpe/linux/perfctrGoogle ScholarGoogle Scholar
  10. ICL Team University of Tennessee. PAPI: The Performance API., http://icl.cs.utk.edu/papi/index.html.Google ScholarGoogle Scholar
  11. A. Weigand. Tracing unter L4/Fiasco. Großer Beleg. Technische Universitat Dresden, Lehrstuhl für Betriebssysteme, 2003.Google ScholarGoogle Scholar
  12. T. Riegel. A generalized approach to runtime monitoring for real-time systems. Diploma thesis, Technische Universitat Dresdèn, Lehrstuhl für Betriebssysteme, 2005.Google ScholarGoogle Scholar
  13. M. Pohlack, B. Döbel, and A. Lackorzynski. Towards Runtime Monitoring in Real-Time Systems. In Eighth Real-Time Linux Workshop, October 2006Google ScholarGoogle Scholar
  14. M. Pohlack. The rt_mon monitoring framework, 2004.Google ScholarGoogle Scholar
  15. A. Menon, J. R. Santos, Y. Turner, G. Janakiraman, and W. Zwaenepoel. Diagnosing Performance Overheads in the Xen Virtual Machine Environment. In First ACM/USENIX Conference on Virtual Execution Environments, June 2005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. The University of Illinois. Iperf. http://dast.nlanr.net/Projects/Iperf.Google ScholarGoogle Scholar
  17. Michael Hohmuth. The Fiasco kernel: System architecture. Technical Report TUD-F102--06-Juli-2002, TU Dresden, 2002. I, 2Google ScholarGoogle Scholar
  18. Free Software Foundation. Multiboot Specification. http://www.gnu.org/software/grub/manual/multiboot/multiboot.htmlGoogle ScholarGoogle Scholar

Index Terms

  1. L4oprof: a performance-monitoring-unit-based software-profiling framework for the L4 microkernel

              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 SIGOPS Operating Systems Review
                ACM SIGOPS Operating Systems Review  Volume 41, Issue 4
                July 2007
                86 pages
                ISSN:0163-5980
                DOI:10.1145/1278901
                Issue’s Table of Contents

                Copyright © 2007 Authors

                Publisher

                Association for Computing Machinery

                New York, NY, United States

                Publication History

                • Published: 1 July 2007

                Check for updates

                Qualifiers

                • article

              PDF Format

              View or Download as a PDF file.

              PDF

              eReader

              View online with eReader.

              eReader