2 research outputs found

    New Tracing and Performance Analysis Techniques for Embedded Applications

    No full text

    Developing New Tracing and Performance Analysis Techniques for Embedded Applications

    No full text
      對於任何的應用程式,效能評估是一件很重要的工作。然而,許多用來測量效能的技術及剖析工具都有硬體相依(hardware dependent)或是執行環境 (如作業系統) 相依的問題。在一個全新的或是比較不普及的平台開發程式的工程師,很可能沒有合適的分析工具可以用來分析該平台上應用程式的效能。此一現象,在嵌入式系統的開發上屢見不鮮,因此,設計出一個不需相依於特定硬體或是執行環境的效能分析工具是有其重要性的。   本篇論文描述一個不用任何硬體,在高階語言 (source level) 上插入額外程式碼的分析技術。我們將這個技術實作在Moduletracer工具集之中,配合一個插程式碼工具 (CIL), 以純軟體的方式,不需特定硬體或是執行環境,即能產生記錄 (trace) 和分析記錄,幫助其使用者可以了解一個系統中,應用程式與作業系統的活動,以利尋找潛在的效能問題。Performance evaluation is key to many computer applications. Many techniques and profiling tools are available for measuring performance, but most of them depend on the hardware and the software on which they run. For a new platform, or a platform which is not popular, programmers usually suffer from few analysis tools, which has been a serious problem for application development on many embedded systems. Thus, a performance analysis tool with the software mechanism is quite important for developing embedded applications. This thesis describes a software mechanism for analyzing program performance on a wide range of platforms via code instrumentation at the source level. We implement this mechanism in a pure software profiling toolkit, called Moduletracer, which works with a public-domain tool, CIL, to carry out code instrumentation for C programs. The toolkit aids programmers in understanding the behavior of applications by generating and analyzing traces and identify potential performance problems.Acknowledgment i 摘要 ii Abstract iii Table of Contents iv Table of Figures vi List of Tables viii Chapter 1 Introduction 1 Chapter 2 Related Works 4 2-1 Instrumentor 4 2-2 Profiler 7 Chapter 3 Trace Collection and Trace Post-Processing Framework (TCPP) 8 3-1 TCPP Framework Overview 9 3-2 Preprocessing 10 3-3 Collection 11 3-4 Trace Interface 12 3-5 Transformation and Simulation 12 3-6 Visualization 13 Chapter 4 Moduletracer 14 4-1 Architecture 15 4-2 Profiling 17 4-2-1 Path Profiling 18 4-2-2 Execution Time Profiling 21 4-3 Kernel Space and User Space 29 Chapter 5 Results and Validation 32 Chapter 6 Case Study - High Performance Storage System 36 6-1 Overview 36 6-2 Performance Tuning 38 6-2-1 Removing Locks 39 6-2-2 Clearing the Small Part of a Structure 40 6-2-3 Replacing Functions with Macros 41 6-3 Results 42 Chapter 7 Conclusion and Future Works 46 7-1 Conclusion 46 7-2 Future Works 46 Bibliography 4
    corecore