Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊工程學系
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/46441
完整後設資料紀錄
DC 欄位值語言
dc.contributor.advisor洪士灝(Shih-Hao Hung)
dc.contributor.authorYu-Wei Chenen
dc.contributor.author陳裕偉zh_TW
dc.date.accessioned2021-06-15T05:09:12Z-
dc.date.available2016-09-18
dc.date.copyright2011-09-18
dc.date.issued2011
dc.date.submitted2011-08-23
dc.identifier.citation[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.
2255–2260, 2010.
[3] L. O. Andersen, “Program analysis and specialization for the c programming language,”
Tech. Rep., 1994.
[4] T. Ball and S. K. Rajamani, “The slam project: debugging system software via static
analysis,” in Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles
of programming languages, ser. POPL ’02. New York, NY, USA: ACM, 2002, pp. 1–3.
[Online]. Available: http://doi.acm.org/10.1145/503272.503274
[5] N. Nethercote and J. Seward, “Valgrind: a framework for heavyweight dynamic binary
instrumentation,” in Proceedings of the 2007 ACM SIGPLAN conference on Programming
language design and implementation, ser. PLDI ’07. New York, NY, USA: ACM, 2007,
pp. 89–100. [Online]. Available: http://doi.acm.org/10.1145/1250734.1250746
[6] S. L. Graham, P. B. Kessler, and M. K. Mckusick, “Gprof: A call graph execution
profiler,” in Proceedings of the 1982 SIGPLAN symposium on Compiler construction, ser.
SIGPLAN ’82. New York, NY, USA: ACM, 1982, pp. 120–126. [Online]. Available:
http://doi.acm.org/10.1145/800230.806987
[7] A. Srivastava and A. Eustace, “Atom: a system for building customized program analysis
tools,” in Proceedings of the ACM SIGPLAN 1994 conference on Programming language
design and implementation, ser. PLDI ’94. New York, NY, USA: ACM, 1994, pp.
196–205. [Online]. Available: http://doi.acm.org/10.1145/178243.178260
[8] J. R. Larus and T. Ball, “Rewriting executable files to measure program behavior,”
Madison, WI, USA, Tech. Rep. CS-TR-92-1083, Mar. 1992. [Online]. Available:
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.8810
[9] J. Keniston, “Ptrace, utrace, uprobes: Lightweight, dynamic tracing
of user apps,” 2007. [Online]. Available: http://www.linuxinsight.com/
ols2007-ptrace-utrace-uprobes-lightweight-dynamic-tracing-of-user-apps.html
[10] C.-K. Luk, R. Cohn, R. Muth, H. Patil, A. Klauser, G. Lowney, S. Wallace, V. J. Reddi,
and K. Hazelwood, “Pin: building customized program analysis tools with dynamic
instrumentation,” in Proceedings of the 2005 ACM SIGPLAN conference on Programming
language design and implementation, ser. PLDI ’05. New York, NY, USA: ACM, 2005,
pp. 190–200. [Online]. Available: http://doi.acm.org/10.1145/1065010.1065034
[11] F. Bellard, “Qemu, a fast and portable dynamic translator,” in Proceedings of
the annual conference on USENIX Annual Technical Conference, ser. ATEC ’05.
Berkeley, CA, USA: USENIX Association, 2005, pp. 41–41. [Online]. Available:
http://dl.acm.org/citation.cfm?id=1247360.1247401
[12] C. Reas and B. Fry, “Processing: a learning environment for creating interactive web
graphics,” in ACM SIGGRAPH 2003 Web Graphics, ser. SIGGRAPH ’03. New York,
NY, USA: ACM, 2003, pp. 1–1. [Online]. Available: http://doi.acm.org/10.1145/965333.
965356
[13] “clone(2) - linux man page.” [Online]. Available: http://linux.die.net/man/2/clone
[14] Oracle Corporation, “Java Virtual Machine Tool Interface (JVM TI),” 2004. [Online].
Available: http://download.oracle.com/javase/6/docs/technotes/guides/jvmti/index.html
[15] ——, “Java Debug Wire Protocol,” 1999. [Online]. Available: http://download.oracle.
com/javase/6/docs/technotes/guides/jpda/jdwp-spec.html
[16] The Santa Cruz Operation, Inc, “System V Application Binary Interface,” 1997. [Online].
Available: http://www.sco.com/developers/devspecs/gabi41.pdf
[17] J. Corbet, A. Rubini, and G. Kroah-Hartman, Linux Device Drivers, 3rd Edition. O’Reilly
Media, Inc., 2005.
[18] R. Love, Linux Kernel Development (2nd Edition) (Novell Press). Novell Press, 2005.
[19] A. Sloss, D. Symes, and C. Wright, ARM System Developer’s Guide: Designing and Optimizing
System Software. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.,
2004.
[20] J. Weidendorfer, M. Kowarschik, and C. Trinitis, “A tool suite for simulation based
analysis of memory access behavior,” in Computational Science - ICCS 2004, ser.
Lecture Notes in Computer Science, M. Bubak, G. van Albada, P. Sloot, and J. Dongarra,
Eds. Springer Berlin / Heidelberg, 2004, vol. 3038, pp. 440–447, 10.1007/978-3-540-
24688-6_58. [Online]. Available: http://dx.doi.org/10.1007/978-3-540-24688-6_58
[21] B. M. Cantrill, M. W. Shapiro, and A. H. Leventhal, “Dynamic instrumentation of
production systems,” in Proceedings of the annual conference on USENIX Annual
Technical Conference, ser. ATEC ’04. Berkeley, CA, USA: USENIX Association, 2004,
pp. 2–2. [Online]. Available: http://dl.acm.org/citation.cfm?id=1247415.1247417
[22] M. Guthaus, J. Ringenberg, D. Ernst, T. Austin, T. Mudge, and R. Brown, “Mibench: A
free, commercially representative embedded benchmark suite,” in Workload Characterization,
2001. WWC-4. 2001 IEEE International Workshop on, dec. 2001, pp. 3 – 14.
[23] Google Inc., “Android NDK | Android Developers,” 2011. [Online]. Available:
http://developer.android.com/sdk/ndk/index.html
[24] R. Pozo and B. Miller, “SciMark 2.0,” 1999. [Online]. Available: http://math.nist.gov/
scimark2/
[25] M. Schoeberl, T. B. Preuber, and S. Uhrig, “The embedded java benchmark suite
jembench,” in Proceedings of the 8th International Workshop on Java Technologies for
Real-Time and Embedded Systems, ser. JTRES ’10. New York, NY, USA: ACM, 2010,
pp. 120–127. [Online]. Available: http://doi.acm.org/10.1145/1850771.1850789
[26] X. Chen, “Simsight: A virtual machine based dynamic call-graph generator,”
Ph.D. dissertation, University of Nebraska at Lincoln, 2010. [Online]. Available:
http://digitalcommons.unl.edu/computerscidiss/5/
dc.identifier.urihttp://tdr.lib.ntu.edu.tw/jspui/handle/123456789/46441-
dc.description.abstract在現今的電腦系統中,一個龐大且複雜的應用軟體效能,可能會取決於
許多系統元件的組合。然而,對於目前現有的追蹤及效能分析工具而言,
有效率的全系統剖析是很難達到的,如果程式的執行階段有牽涉中介軟體
或是虛擬機器的運行,那麼該效能分析會更加困難。
在本篇論文裡,我們描述了一個嶄新的全系統效能及追蹤的架構,可以
在虛擬平台上,針對系統的執行階段,蒐集執行期間的行為及效能。該架
構提供了一個介面,讓使用者可以選擇想要追蹤系統的哪些元件。我們使
用動態插入程式碼至執行檔的技術,來降低對於要追蹤系統行為的干擾。
系統執行期間的紀錄檔,可以結合效能數據,以進行全系統效能分析。在
虛擬平台上,我們利用之前的成果『虛擬效能控制單元』來提供效能數據。
我們選擇用Android 來作為個案研究,Android 是目前在手持裝置系統上
被廣泛應用的作業系統,我們在基於QEMU 的Android 模擬器上,實現所
提出來的架構。我們已經利用了該架構,開發了一套追蹤及效能分析的工
具,並且以實驗來驗證該工具的效率及可用性。
zh_TW
dc.description.abstractOn 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.
en
dc.description.provenanceMade available in DSpace on 2021-06-15T05:09:12Z (GMT). No. of bitstreams: 1
ntu-100-R98922142-1.pdf: 1405005 bytes, checksum: 73a37918b0281ae0be8d65fe737ee874 (MD5)
Previous issue date: 2011
en
dc.description.tableofcontents致謝. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
中文摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Background and Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1 Analysis of Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 QEMU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Design and Implementation of SET Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1 SET Control Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 SET Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 SET Agent. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 SET Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4.1 Dynamic Instrumentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.4.2 SET Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.3 Process Tracker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.4 Program Analysis Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.4.5 Event Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4.6 Event Recorder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.5 Trace Analysis Tools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4 Experiments and Evaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.1 Experimental Setup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5 Conclusion and Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
dc.language.isoen
dc.subject虛擬平台zh_TW
dc.subject效能分析zh_TW
dc.subject系統追蹤工具zh_TW
dc.subjectAndroiden
dc.subjecttracingen
dc.subjectprofiling toolsen
dc.subjectvirtual platformsen
dc.subjectprogram analysisen
dc.title虛擬平台中針對Linux及Android應用程式之全系統效能分析zh_TW
dc.titleFull-system Profiling of Android/Linux Applications on Virtual Platformsen
dc.typeThesis
dc.date.schoolyear99-2
dc.description.degree碩士
dc.contributor.oralexamcommittee施吉昇(Chi-Sheng Shih),林風(Phone Lin)
dc.subject.keyword效能分析,系統追蹤工具,虛擬平台,zh_TW
dc.subject.keywordprogram analysis,tracing,profiling tools,virtual platforms,Android,en
dc.relation.page35
dc.rights.note有償授權
dc.date.accepted2011-08-23
dc.contributor.author-college電機資訊學院zh_TW
dc.contributor.author-dept資訊工程學研究所zh_TW
顯示於系所單位:資訊工程學系

文件中的檔案:
檔案 大小格式 
ntu-100-1.pdf
  未授權公開取用
1.37 MBAdobe PDF
顯示文件簡單紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved