{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:39:33Z","timestamp":1750307973886,"version":"3.41.0"},"reference-count":17,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2007,7,1]],"date-time":"2007-07-01T00:00:00Z","timestamp":1183248000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2007,7]]},"abstract":"<jats:p>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.<\/jats:p>","DOI":"10.1145\/1278901.1278911","type":"journal-article","created":{"date-parts":[[2007,9,14]],"date-time":"2007-09-14T13:44:55Z","timestamp":1189777495000},"page":"69-76","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["L4oprof"],"prefix":"10.1145","volume":"41","author":[{"given":"Dohun","family":"Kim","sequence":"first","affiliation":[{"name":"Pohang, Gyungbuk, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jugwan","family":"Eom","sequence":"additional","affiliation":[{"name":"Pohang, Gyungbuk, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chanik","family":"Park","sequence":"additional","affiliation":[{"name":"Pohang, Gyungbuk, Republic of Korea"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2007,7]]},"reference":[{"volume-title":"System Programming Guide","year":"2003","key":"e_1_2_1_1_1"},{"volume-title":"Research Report RC 20549","year":"1996","author":"Liedtke J.","key":"e_1_2_1_2_1"},{"key":"e_1_2_1_3_1","unstructured":"Adam Lackorzynski. L4Linux Porting Optimizations. Master's thesis Technische Universitat Dresden March 2004.  Adam Lackorzynski. L4Linux Porting Optimizations. Master's thesis Technische Universitat Dresden March 2004."},{"key":"e_1_2_1_4_1","unstructured":"Operating Systems Group Technische Universitat Dresden. The L4 Environment http:\/\/www.tudos.org\/l4env.  Operating Systems Group Technische Universitat Dresden. The L4 Environment http:\/\/www.tudos.org\/l4env."},{"key":"e_1_2_1_5_1","unstructured":"J. Levon. OProfile. http:\/\/oprofile.sourceforge.net.  J. Levon. OProfile. http:\/\/oprofile.sourceforge.net."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265925"},{"key":"e_1_2_1_7_1","unstructured":"Intel. The VTune#8482; Performance Analyzers. http:\/\/www.intel.com\/software\/products\/vtune.  Intel. The VTune#8482; Performance Analyzers. http:\/\/www.intel.com\/software\/products\/vtune."},{"volume-title":"HP Labs","year":"2005","author":"Eranian S.","key":"e_1_2_1_8_1"},{"key":"e_1_2_1_9_1","unstructured":"M. Pettersson. The Perfctr interface. http:\/\/user.it.uu.se\/mikpe\/linux\/perfctr  M. Pettersson. The Perfctr interface. http:\/\/user.it.uu.se\/mikpe\/linux\/perfctr"},{"key":"e_1_2_1_10_1","unstructured":"ICL Team University of Tennessee. PAPI: The Performance API. http:\/\/icl.cs.utk.edu\/papi\/index.html.  ICL Team University of Tennessee. PAPI: The Performance API. http:\/\/icl.cs.utk.edu\/papi\/index.html."},{"volume-title":"Lehrstuhl f\u00fcr Betriebssysteme","year":"2003","author":"Weigand A.","key":"e_1_2_1_11_1"},{"volume-title":"Lehrstuhl f\u00fcr Betriebssysteme","year":"2005","author":"Riegel T.","key":"e_1_2_1_12_1"},{"volume-title":"Towards Runtime Monitoring in Real-Time Systems. In Eighth Real-Time Linux Workshop","year":"2006","author":"Pohlack M.","key":"e_1_2_1_13_1"},{"key":"e_1_2_1_14_1","unstructured":"M. Pohlack. The rt_mon monitoring framework 2004.  M. Pohlack. The rt_mon monitoring framework 2004."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1064979.1064984"},{"key":"e_1_2_1_16_1","unstructured":"The University of Illinois. Iperf. http:\/\/dast.nlanr.net\/Projects\/Iperf.  The University of Illinois. Iperf. http:\/\/dast.nlanr.net\/Projects\/Iperf."},{"key":"e_1_2_1_18_1","unstructured":"Free Software Foundation. Multiboot Specification. http:\/\/www.gnu.org\/software\/grub\/manual\/multiboot\/multiboot.html  Free Software Foundation. Multiboot Specification. http:\/\/www.gnu.org\/software\/grub\/manual\/multiboot\/multiboot.html"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1278901.1278911","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1278901.1278911","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T14:58:23Z","timestamp":1750258703000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1278901.1278911"}},"subtitle":["a performance-monitoring-unit-based software-profiling framework for the L4 microkernel"],"short-title":[],"issued":{"date-parts":[[2007,7]]},"references-count":17,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2007,7]]}},"alternative-id":["10.1145\/1278901.1278911"],"URL":"https:\/\/doi.org\/10.1145\/1278901.1278911","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2007,7]]},"assertion":[{"value":"2007-07-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}