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.
- Intel. IA-32 Architecture Software Developer's Manual, Vol. 3: System Programming Guide, 2003Google Scholar
- J. Liedtke. L4 reference manual (486, Pentium, PPro). Research Report RC 20549, IBM T. J. Watson Research Center, Yorktown Heights, NY, September 1996.Google Scholar
- Adam Lackorzynski. L4Linux Porting Optimizations. Master's thesis, Technische Universitat Dresden, March 2004.Google Scholar
- Operating Systems Group Technische Universitat Dresden. The L4 Environment, http://www.tudos.org/l4env.Google Scholar
- J. Levon. OProfile. http://oprofile.sourceforge.net.Google Scholar
- 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 ScholarDigital Library
- Intel. The VTune#8482; Performance Analyzers. http://www.intel.com/software/products/vtune.Google Scholar
- S. Eranian. The perfmon2 interface speciation. Technical Report HPL-2004-200 (R.1), HP Labs, Feb 2005.Google Scholar
- M. Pettersson. The Perfctr interface. http://user.it.uu.se/mikpe/linux/perfctrGoogle Scholar
- ICL Team University of Tennessee. PAPI: The Performance API., http://icl.cs.utk.edu/papi/index.html.Google Scholar
- A. Weigand. Tracing unter L4/Fiasco. Großer Beleg. Technische Universitat Dresden, Lehrstuhl für Betriebssysteme, 2003.Google Scholar
- T. Riegel. A generalized approach to runtime monitoring for real-time systems. Diploma thesis, Technische Universitat Dresdèn, Lehrstuhl für Betriebssysteme, 2005.Google Scholar
- M. Pohlack, B. Döbel, and A. Lackorzynski. Towards Runtime Monitoring in Real-Time Systems. In Eighth Real-Time Linux Workshop, October 2006Google Scholar
- M. Pohlack. The rt_mon monitoring framework, 2004.Google Scholar
- 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 ScholarDigital Library
- The University of Illinois. Iperf. http://dast.nlanr.net/Projects/Iperf.Google Scholar
- Michael Hohmuth. The Fiasco kernel: System architecture. Technical Report TUD-F102--06-Juli-2002, TU Dresden, 2002. I, 2Google Scholar
- Free Software Foundation. Multiboot Specification. http://www.gnu.org/software/grub/manual/multiboot/multiboot.htmlGoogle Scholar
Index Terms
- L4oprof: a performance-monitoring-unit-based software-profiling framework for the L4 microkernel
Recommendations
L4oprof: A System-Wide Profiler Using Hardware PMU in L4 Environment
ICESS '07: Proceedings of the 3rd international conference on Embedded Software and SystemsThe recent advance of L4 microkernel technology enables building a secure embedded system with comparable performance to a traditional monolithic kernel-based system. According to the different system software architecture, the execution behavior of an ...
Comments