透過您的圖書館登入
IP:18.222.67.251
  • 學位論文

虛擬平台中針對Linux及Android應用程式之全系統效能分析

Full-system Profiling of Android/Linux Applications on Virtual Platforms

指導教授 : 洪士灝

摘要


在現今的電腦系統中,一個龐大且複雜的應用軟體效能,可能會取決於 許多系統元件的組合。然而,對於目前現有的追蹤及效能分析工具而言, 有效率的全系統剖析是很難達到的,如果程式的執行階段有牽涉中介軟體 或是虛擬機器的運行,那麼該效能分析會更加困難。 在本篇論文裡,我們描述了一個嶄新的全系統效能及追蹤的架構,可以 在虛擬平台上,針對系統的執行階段,蒐集執行期間的行為及效能。該架 構提供了一個介面,讓使用者可以選擇想要追蹤系統的哪些元件。我們使 用動態插入程式碼至執行檔的技術,來降低對於要追蹤系統行為的干擾。 系統執行期間的紀錄檔,可以結合效能數據,以進行全系統效能分析。在 虛擬平台上,我們利用之前的成果『虛擬效能控制單元』來提供效能數據。 我們選擇用Android 來作為個案研究,Android 是目前在手持裝置系統上 被廣泛應用的作業系統,我們在基於QEMU 的Android 模擬器上,實現所 提出來的架構。我們已經利用了該架構,開發了一套追蹤及效能分析的工 具,並且以實驗來驗證該工具的效率及可用性。

並列摘要


On a modern computer systems, the performance of a complex application may depend on a combination of several factors in a system. However, an efficient program analysis of system-wide execution is difficult to achieve for traditional tracing/profiling tools. The complexity of program analysis is even higher if application execution involves middleware or virtual machines. In this thesis, we describe an innovative full-system tracing framework, called SET, which enables the user to collect a complete trace of system activities and performance data on a virtual platform. The framework provides an easy-to-use interface to let users choose what components of interest are going to be traced. We use the dynamic binary instrumentation technique to trace the system activities with little intrusiveness and disturbance to the target system. The trace of system activities can be attached with the performance data to assist performance profiling and analysis. The performance data on a virtualized system are provided by our previous work, virtual performance monitoring unit. Android is a state-of-the-art operating environment for mobile personal computing today and chosen as our case study. We have implemented the dynamic instrumentation in the QEMU based Android Emulator. We have developed a set of tracing/profiling tools using the SET framework, and carried out experiments to evaluate the effectiveness of the tools.

參考文獻


[1] B. Buck and J. K. Hollingsworth, “An api for runtime code patching,” The International
Journal of High Performance Computing Applications, vol. 14, pp. 317–329, 2000.
[2] W.-C. Hsu, S.-H. Hung, and C.-H. Tu, “A virtual timing device for program performance
analysis,” Computer and Information Technology, International Conference on, vol. 0, pp.
[Online]. Available: http://doi.acm.org/10.1145/503272.503274

延伸閱讀