Simulation-Based Tracing and Profiling for System Software Development

被引:2
作者
Busse, Anselm [1 ]
Karnapke, Reinhardt [1 ]
Parzyjegla, Helge [2 ]
机构
[1] Tech Univ Berlin, Berlin, Germany
[2] Univ Rostock, Rostock, Germany
来源
SYSTOR'17: PROCEEDINGS OF THE 10TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE | 2017年
关键词
D O I
10.1145/3078468.3078475
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Tracing and profiling low-level kernel functions (e.g. as found in the process scheduler) is a challenging task, though, necessary in both research and production in order to acquire detailed insights and achieve peak performance. Several kernel functions are known to be not traceable because of architectural limitations, whereas tracking other functions causes side effects and skews profiling results. In this paper, we present a novel, simulation-based approach to analyze the behavior and performance of kernel functions. Kernel code is executed on a simulated hardware platform avoiding the bias caused by collecting the tracing data within the system under observation. From the flat call trace generated by the simulator, we reconstruct the entire call graph and enrich it with detailed profiling statistics. Specifying regions of interest enables developers to systematically explore the system behavior and identify performance bottlenecks. As case study, we analyze the process scheduler of the Linux kernel. We are interested in quantifying the synchronization overhead caused by a growing number of CPU cores in a custom, semi-partitioned scheduler design. Conventional tracing methods were not able to obtain measurements with the required accuracy and granularity.
引用
收藏
页数:6
相关论文
共 10 条
[1]  
[Anonymous], 2006, P OTT LIN S
[2]  
Binkert Nathan, 2011, Computer Architecture News, V39, P1, DOI 10.1145/2024716.2024718
[3]   CoBaS: Introducing a Component Based Scheduling Framework [J].
Busse, Anselm ;
Karnapke, Reinhardt ;
Heiss, Hans-Ulrich .
2015 INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING WORKSHOP (SBAC-PADW), 2015, :79-84
[4]  
Corbet J., 2014, EXTENDING EXTENDED B
[5]  
Desnoyers M., 2006, Proceedings of the Linux Symposium, P209
[6]  
Gansner ER, 2000, SOFTWARE PRACT EXPER, V30, P1203, DOI 10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO
[7]  
2-N
[8]  
Rostedt Steven., 2008, ftrace-Function Tracer kernel documentation
[9]  
Weaver V, LINUX PERF EVENT FEA, P35
[10]  
Weaver VM, 2015, INT SYM PERFORM ANAL, P102, DOI 10.1109/ISPASS.2015.7095789