Browse > Article

A Performance Analysis Framework Considering the Hierarchy of Embedded Linux Systems Software Architecture  

Kwak, Sang-Heon (국민대학교 컴퓨터공학과)
Lee, Nam-Seung (국민대학교 컴퓨터공학과)
Lee, Ho-Rim (국민대학교 컴퓨터공학과)
Lim, Sung-Soo (국민대학교 컴퓨터공학과)
Abstract
Recent embedded systems are being more complicated due to their hierarchical software architecture including operating systems. The performance of such complicated software architecture could not be well analyzed through separate analysis of each software layer; the combined effect and the interactions among the whole software layers should be considered. In this paper, we show the design and implementation of a performance analysis framework that enables hierarchical analysis of performance of Linux-based embedded systems considering interactions among the software layers. By using the proposed framework, we can obtain useful run-time information about a hierarchical software structure which usually consists of user-defined function layer, library function layer, system call layer, and kernel events layer. Experimental results reveal that the proposed framework could accurately identify the performance bottlenecks with the corresponding software layers during executions of target applications through the accompanying sub-steps of the analysis: the actual execution paths, the execution time of each observed event in each software layer, and the control flows across the software layers.
Keywords
Software Performance Analysis; Performance Evaluation; Profiling; Software layer; Linux Platform;
Citations & Related Records
연도 인용수 순위
  • Reference
1 R.R. Branco, Ltrace Internals, Ottawa Linux Symposium, 2007.
2 M. Desnoyer, M.R. Dagenais, The LTTng Tracer: A low impact performance and behavior monitor for GNU/Linux, Ottawa Linux Symposium, 2007.
3 http://gpe.handhelds.org.
4 M.R. Guthaus et al. MiBench: A free, commercially representative embedded benchmark suite, In IEEE 4th Workshop on Workload Characterization, Dec. 2001.
5 http://en.wikipedia.org/wiki/YAFFS
6 http://www.linux-mtd.infradead.org/doc/ubifs.html
7 J.Keniston, A.Mavinakayanahalli, P. Panchamukhi, Ptrace, Utrace, Uprobes: Lightweight, Dynamic Tracing of User Apps, Ottawa Linux Symposium, 2007.
8 Francis M. David, Jeffrey C. Carlyle, Roy H. Campbell, Context Switch Overheads for Linux on ARM Platforms, Proceedings of the 2007 workshop on Experimental computer science.
9 Raj Jain, The Art of Computer Systems Performance Analysis Techniques for Experimental Design, Measurement, Simulation, and Modeling, John Wiley & Sons, Inc., 1991.
10 N. Nethercote, Dynamic Binary Analysis and Instrumentation. PhD Thesis, University of Cambridge, Mass., USA, 2006.
11 http://kprof.sourceforge.net/
12 http://lttng.org/
13 Orran Krieger et al, K42: building a complete operating system, ACM SIGOPS Operating Systems Review archive, vol.40, Issue 4 (October 2006).
14 FC Eigler, R Hat, Problem solving with systemtap, Proceedings of the Ottawa Linux Symposium, 2006.
15 http://valgrind.org/
16 http://www.gnu.org/software/gdb/
17 Richard Moore, A universal dynamic trace for Linux and other operating systems, In Proceedings of the FREENIX Track: 2001 USENIX Annual Technical Conference June 2001.
18 Bryan M. Cantrill, Michael W. Shapiro and Adam H. Leventhal, Dynamic Instrumentation of Production Systems, In Proceedings of the 2004 USENIX Annual Technical Conference.
19 Chi-Keung Luk Robert Cohn Robert Muth Harish Patil Artur Klauser Geoff Lowney StevenWallace Vijay Janapa Reddi Kim Hazelwood, Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation, In Proceedings of the 7th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming.
20 Miller, B. P., Callaghan, M. D., Cargille, J. M., Hollingsworth, J. K., Irvin, R. B., Karavanic, K. L., Kunchithapadam, K., and Newhall, T. The Paradyn ParallelPerformance Measurement Tools. IEEE Computer (28) 11, (Nov., 1995).
21 Pradeep Padala, Playing with ptrace, Part I, Linux Journal 2002.
22 J. Levon and P. Elie. Oprofile: A system profiler for linux. http://oprofile.sf.net, September 2004.
23 Ed Burnette, Hello, Android, second edition, Pragmatic Bookshelf, 2009.
24 http://gcc.gnu.org/onlinedocs/gcc/Gcov.html
25 http://www.qplus.or.kr/
26 http://www.mvista.com/product_detail_devrocket.php
27 David Lefty Schlesinger, Architectural Principles and Overview of the LiMo Platform, OSCON, 2008.
28 S. Lim, Feature Story: Android Platform, Embedded World 2009. 8, pp.52-58.
29 Graham, S., Kessler, P., and McKusick, M. gprof: A Call Graph Execution Profiler. In Proceedings of ACM SIGPLAN Symposium on Compiler Construction. ACM, 1982.
30 Strace, Ltrace: http://www.gnu.org/software/libc/resources.html
31 Mark Wilding, Self-Service Linux: Determining Problems and Finding Solutions, Prentice Hall, 2005.
32 http://www.windriver.com/products/workbench/
33 K. Kantou et al, Performance Measurement/Analysis Tool "mevalet," NEC technical journal, vol.2, no.2, 2007.
34 Steve Best, Linux Debugging and Performance Tuning: Tips and Techniques, Prentice Hall, 2005.