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

虛擬平台上基於事件的效能分析

Event-based Performance Analysis on Virtual Platforms

指導教授 : 洪士灝
若您是本文的作者,可授權文章由華藝線上圖書館中協助推廣。

摘要


程式效能技術對於許多的電腦應用相當重要,包括即時程式規劃,嵌入式系統,高效能運算等應用在內, 開發者往往需要效能分析工具來發現程式中瓶頸的所在,才有辦法改善程式的效能。 因此,在這篇論文中,我們提出一套利用虛擬平台追蹤程式的方法,以提供更好的效能分析工具。 首先,我們注意到現今許多使用虛擬平台作為跨平台軟體開發的方式,例如 Google 的 Android 軟體開發工具組中,提供以 QEMU 為基礎的模>擬器供軟體開發者在個人電腦上開發手機應用。 因此,我們在 QEMU 模擬器中,加入效能計數器(Performance Counters),以方便使用者收集效能資訊。 接著,為了降低收集效能資訊時對系統的侵入性影響 (Intrusion),我們發展稱之為智慧型事件追蹤(Smart Event Tracing, SET)的技術。 和傳統作法不同的,SET不會在程式中插入資料收集用的探測程式碼,而是在虛擬平台中監控與收集目標程式所產生的事件, 因此收集到的效能資訊不會受到探測程式碼的干擾。 此外,我們也設計使用者介面和提出在虛擬平台中過濾事件的機制,讓使用者能夠指定想追蹤的事件以降低資料收集時間, 並且提供可視化(Visualization)工具,幫助使用者分析所收集到的效能資訊。 最後,在開發嵌入式平台的系統軟體時,往往缺乏程式追蹤和效能分析工具, 必需借助昂貴的電路模擬器(In-Circuit Emulator)來追蹤程式, 因此我們的方法,由於在虛擬平台中運行,特別適用於系統軟體之開發。

並列摘要


Performance evaluation is key to many computer applications, including real-time programming, embedded systems, and high-performance computing. To identify the bottlenecks which dominate the perfromance of a computer application, performance profiling and tracing tools are often needed. In this thesis, we proposes an approach to profile and trace computer applications on virtual platforms. First, we take advantage of the QEMU system-level emulators which are commonly used today for cross-platform embedded software development, for example, the Android Software Development Kit To support performance evaluation, the virtual platform is enhanced with performance counters, so that we can collect performance statistics during the execution of a program. To minimize the intrusion caused by data collection, we developed a techniques called Smart Event Tracing (SET). Unlike traditional program instrumentation techniques for data collection, SET does not insert probing codes into target programs. Instead, SET resides in the virtual platform and traces the events generated by the target programs, so that the instruction counts of the target programs would not be polluted by the data collection. We also developed an interface and filtering mechanisms for users to limit the events to trace and reduce the overhead for data collection , and visualization tools for users to examine the collected performance data. Furthermore, our approach is especially useful for developing system software, where very few or no performance evaluation tools exists, without needing hardware-based in-circuit emulators.

參考文獻


[3] Graphviz - graph visualization software. http://www.graphviz.org.
[10] Fabrice Bellard. QEMU, a fast and portable dynamic translator. In Pro-
formance Analysis of Systems and software, pages 213{222. IEEE Com-
puter Society, 2008.
[12] Bryan M. Cantrill, Michael W. Shapiro, and Adam H. Leventhal. Dy-

延伸閱讀