skip to main content
article

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

Published: 01 July 2007 Publication History

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, 2003
[2]
J. Liedtke. L4 reference manual (486, Pentium, PPro). Research Report RC 20549, IBM T. J. Watson Research Center, Yorktown Heights, NY, September 1996.
[3]
Adam Lackorzynski. L4Linux Porting Optimizations. Master's thesis, Technische Universitat Dresden, March 2004.
[4]
Operating Systems Group Technische Universitat Dresden. The L4 Environment, http://www.tudos.org/l4env.
[5]
J. Levon. OProfile. http://oprofile.sourceforge.net.
[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
[7]
Intel. The VTune#8482; Performance Analyzers. http://www.intel.com/software/products/vtune.
[8]
S. Eranian. The perfmon2 interface speciation. Technical Report HPL-2004-200 (R.1), HP Labs, Feb 2005.
[9]
M. Pettersson. The Perfctr interface. http://user.it.uu.se/mikpe/linux/perfctr
[10]
ICL Team University of Tennessee. PAPI: The Performance API., http://icl.cs.utk.edu/papi/index.html.
[11]
A. Weigand. Tracing unter L4/Fiasco. Gro�er Beleg. Technische Universitat Dresden, Lehrstuhl f�r Betriebssysteme, 2003.
[12]
T. Riegel. A generalized approach to runtime monitoring for real-time systems. Diploma thesis, Technische Universitat Dresd�n, Lehrstuhl f�r Betriebssysteme, 2005.
[13]
M. Pohlack, B. D�bel, and A. Lackorzynski. Towards Runtime Monitoring in Real-Time Systems. In Eighth Real-Time Linux Workshop, October 2006
[14]
M. Pohlack. The rt_mon monitoring framework, 2004.
[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
[16]
The University of Illinois. Iperf. http://dast.nlanr.net/Projects/Iperf.
[17]
Michael Hohmuth. The Fiasco kernel: System architecture. Technical Report TUD-F102--06-Juli-2002, TU Dresden, 2002. I, 2
[18]
Free Software Foundation. Multiboot Specification. http://www.gnu.org/software/grub/manual/multiboot/multiboot.html

Cited By

View all
  • (2020)Profiling Applications for a Virtual Machine on an Embedded System2020 Third International Conference on Advances in Electronics, Computers and Communications (ICAECC)10.1109/ICAECC50550.2020.9339530(1-6)Online publication date: 11-Dec-2020
  • (2020)Enabling Hardware Performance Counters for Microkernel-Based Virtualization on Embedded SystemsIEEE Access10.1109/ACCESS.2020.30021068(110550-110564)Online publication date: 2020
  • (2009)TotalProfProceedings of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis10.1145/1629435.1629477(305-314)Online publication date: 11-Oct-2009

Recommendations

Comments

Information & Contributors

Information

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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 2007
Published in SIGOPS Volume 41, Issue 4

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Profiling Applications for a Virtual Machine on an Embedded System2020 Third International Conference on Advances in Electronics, Computers and Communications (ICAECC)10.1109/ICAECC50550.2020.9339530(1-6)Online publication date: 11-Dec-2020
  • (2020)Enabling Hardware Performance Counters for Microkernel-Based Virtualization on Embedded SystemsIEEE Access10.1109/ACCESS.2020.30021068(110550-110564)Online publication date: 2020
  • (2009)TotalProfProceedings of the 7th IEEE/ACM international conference on Hardware/software codesign and system synthesis10.1145/1629435.1629477(305-314)Online publication date: 11-Oct-2009

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media