研究生: |
王健宇 Wang, Chien-Yu |
---|---|
論文名稱: |
增強LatencyTOP達到函式層級之系統延遲量測 Enhancing LatencyTOP for Function-Level System Latency Profiling |
指導教授: |
金仲達
King, Chung-Ta |
口試委員: |
徐正炘
Hsu, Cheng-Hsin 彭文志 Peng, Wen-Chih |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2012 |
畢業學年度: | 100 |
語文別: | 英文 |
論文頁數: | 30 |
中文關鍵詞: | 系統延遲 、性能分析 、函式層級 |
外文關鍵詞: | system latency, profiler, Android, function-level |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在軟體開發的過程中,程式設計者經常會碰到令他們棘手的問題像是冗長的執行或等待時間、不正常的硬體行為、資源的錯誤使用......等狀況。所以現在有越來越多的剖析器被用來發掘這些現象並且協助開發者改善這些問題。而系統延遲是評測系統效能的重要指標之一。
在這些工具中,我們對可以量測Linux和Android上系統延遲的LatencyTOP特別感到興趣。當許多的工具都已經可以量測到函式層級的資訊時,LatencyTOP並還沒有達到這個精準度。本論文研究LatencyTOP並些微地修改它使它可以分析Linux和Andoid系統在函示層級的延遲。
我們提供一系列的應用程式介面(Application Programming Interface)來取得函示層級的系統延遲。另一方面,我們試著在巢狀函式呼叫中區分出呼叫函式與被呼叫函式的系統延遲。最後,我們提出這篇論文來增強LatencyTOP達到在每個函式中量測到正確的系統延遲,而且我們的實驗中顯示出此工具不僅分析正確的系統延遲,而且有效地運行。
During the process of software development, developers may encounter many thorny is- sues such as long execution time, abnormal hardware behavior or improper allocation of resources, etc. Therefore, more and more profilers are used to discovery these events and help developers to solve the problems. Among these profilers, LatencyTop is especially in- teresting, because it can report system-level delays for Linux and Android systems. While many profilers are able to investigate the problems down to the level of individual functions, LatencyTOP can only report system delays at the process level. This thesis enhances La- tencyTOP so that it can profile system latency at the function level on Linux and Android. The enhancement is not straightforward. For example, we need to discriminate the latency between callee and caller in nested function calls. Multithreading also causes problem in differentiating different versions of a function. In order to retrieve the function-level system latency, we provide a set of APIs to allow the developer to use our profiler. To evaluate our system, we run some simple programs to demonstrate the correctness of our system in profiling at the function level. We also evaluate the performance of our system.
[1] Traceview, http://developer.android.com/tools/debugging/debugging-tracing.html.
[2] Susan L. Graham, Peter B. Kessler, and Marshall K. Mckusick, “Gprof: A call graph execution profiler”, SIGPLAN Not., vol. 17, no. 6, pp. 120–126, June 1982.
[3] Kernprof, http://oss.sgi.com/projects/kernprof/.
[4] M. McKusick, “Using gprof to tune the 4.2 bsd kernel”, in European UNIX Users Group
Meeting, 1984.
[5] Milan Jovic and Matthias Hauswirth, “Measuring the performance of interactive appli- cations with listener latency profiling”, in Proceedings of the 6th international sympo- sium on Principles and practice of programming in Java, New York, NY, USA, 2008, PPPJ ’08, pp. 137–146, ACM.
[6] A. Adamoli, M. Jovic, and M. Hauswirth, “Lagalyzer: A latency profile analysis and visualization tool”, in Performance Analysis of Systems Software (ISPASS), 2010 IEEE International Symposium on, march 2010, pp. 13 –22.
[7] Oprofile, http://oprofile.sourceforge.net/.
[8] VTune Amplifier XE, http:// software.intel.com/ en-us/ articles/ intel-vtune-amplifier- xe/.
[9] J. Flinn and M. Satyanarayanan, “Powerscope: a tool for profiling the energy usage of mobile applications”, in Mobile Computing Systems and Applications, 1999. Proceedings. WMCSA ’99. Second IEEE Workshop on, feb 1999, pp. 2 –10.
[10] Yi-Fan Chung, Chun-Yu Lin, and Chung-Ta King, “Aneprof: Energy profiling for android java virtual machine and applications”, in Paral lel and Distributed Systems (ICPADS), 2011 IEEE 17th International Conference on, dec. 2011, pp. 372 –379.
[11] LatencyTOP, http://www.latencytop.org/.
[12] Nikolai Joukov, Avishay Traeger, Rakesh Iyer, Charles P. Wright, and Erez Zadok, “Operating system profiling via latency analysis”, in Proceedings of the 7th symposium on Operating systems design and implementation, Berkeley, CA, USA, 2006, OSDI ’06, pp. 89–102, USENIX Association.