請用此 Handle URI 來引用此文件:
http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/46441完整後設資料紀錄
| DC 欄位 | 值 | 語言 |
|---|---|---|
| dc.contributor.advisor | 洪士灝(Shih-Hao Hung) | |
| dc.contributor.author | Yu-Wei Chen | en |
| dc.contributor.author | 陳裕偉 | zh_TW |
| dc.date.accessioned | 2021-06-15T05:09:12Z | - |
| dc.date.available | 2016-09-18 | |
| dc.date.copyright | 2011-09-18 | |
| dc.date.issued | 2011 | |
| dc.date.submitted | 2011-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.uri | http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/46441 | - |
| dc.description.abstract | 在現今的電腦系統中,一個龐大且複雜的應用軟體效能,可能會取決於
許多系統元件的組合。然而,對於目前現有的追蹤及效能分析工具而言, 有效率的全系統剖析是很難達到的,如果程式的執行階段有牽涉中介軟體 或是虛擬機器的運行,那麼該效能分析會更加困難。 在本篇論文裡,我們描述了一個嶄新的全系統效能及追蹤的架構,可以 在虛擬平台上,針對系統的執行階段,蒐集執行期間的行為及效能。該架 構提供了一個介面,讓使用者可以選擇想要追蹤系統的哪些元件。我們使 用動態插入程式碼至執行檔的技術,來降低對於要追蹤系統行為的干擾。 系統執行期間的紀錄檔,可以結合效能數據,以進行全系統效能分析。在 虛擬平台上,我們利用之前的成果『虛擬效能控制單元』來提供效能數據。 我們選擇用Android 來作為個案研究,Android 是目前在手持裝置系統上 被廣泛應用的作業系統,我們在基於QEMU 的Android 模擬器上,實現所 提出來的架構。我們已經利用了該架構,開發了一套追蹤及效能分析的工 具,並且以實驗來驗證該工具的效率及可用性。 | zh_TW |
| dc.description.abstract | 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. | en |
| dc.description.provenance | Made 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.iso | en | |
| dc.subject | 虛擬平台 | zh_TW |
| dc.subject | 效能分析 | zh_TW |
| dc.subject | 系統追蹤工具 | zh_TW |
| dc.subject | Android | en |
| dc.subject | tracing | en |
| dc.subject | profiling tools | en |
| dc.subject | virtual platforms | en |
| dc.subject | program analysis | en |
| dc.title | 虛擬平台中針對Linux及Android應用程式之全系統效能分析 | zh_TW |
| dc.title | Full-system Profiling of Android/Linux Applications on Virtual Platforms | en |
| dc.type | Thesis | |
| dc.date.schoolyear | 99-2 | |
| dc.description.degree | 碩士 | |
| dc.contributor.oralexamcommittee | 施吉昇(Chi-Sheng Shih),林風(Phone Lin) | |
| dc.subject.keyword | 效能分析,系統追蹤工具,虛擬平台, | zh_TW |
| dc.subject.keyword | program analysis,tracing,profiling tools,virtual platforms,Android, | en |
| dc.relation.page | 35 | |
| dc.rights.note | 有償授權 | |
| dc.date.accepted | 2011-08-23 | |
| dc.contributor.author-college | 電機資訊學院 | zh_TW |
| dc.contributor.author-dept | 資訊工程學研究所 | zh_TW |
| 顯示於系所單位: | 資訊工程學系 | |
文件中的檔案:
| 檔案 | 大小 | 格式 | |
|---|---|---|---|
| ntu-100-1.pdf 未授權公開取用 | 1.37 MB | Adobe PDF |
系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。
