| 研究生: |
陳緯澤 Chen, Wei-Tze |
|---|---|
| 論文名稱: |
一個方便計算密集程式除錯之函式導向檢查點機制 A Function-Based Checkpoint Mechanism to Facilitate Debugging Computation-Intensive Programs |
| 指導教授: |
謝錫堃
Shieh, Ce-Kuen |
| 共同指導: |
黃祖基
Huang, Tzu-Chi |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2012 |
| 畢業學年度: | 100 |
| 語文別: | 英文 |
| 論文頁數: | 38 |
| 中文關鍵詞: | 計算密集程式 、程序檢查點 、除錯 |
| 外文關鍵詞: | Computation-intensive program, Process checkpointing, Debugging |
| 相關次數: | 點閱:102 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
計算密集程式,如SystemC或是科學運算等程式,除錯是一件非常耗費時間的工作,因為在修改程式之後,程式設計者皆必須使程式從頭開始執行。雖然現在有一些檢查點機制的研究可以讓使用者可以在尋找程式錯誤的時候不必一直從頭執行程式,但是他們不允許使用者修改程式。一旦修改程式之後,他們的機制將重新編譯以及重新執行程式。
我們提出一個基於函式的檢查點機制,這個機制可以幫助程式設計者除錯計算密集程式,也可以減少使用者除錯的時間。這個機制可以讓程式在修改之後從被修改的函式第一次被呼叫的地方開始執行,如此一來可以節省掉許多重覆執行的時間。此機制讓程式設計者節省除錯時間、減輕除錯的難度且可攜性佳和可忽略的系統負擔。
Debugging computation-intensive programs such as those implemented with SystemC library and those designed for scientific computation always burdens programmers with the time-consuming repeat of program execution. Although debugging computation-intensive programs becomes a little bit easier with checkpoint-based mechanisms proposed in recent years, programmers still have to suffer from the time-consuming repeat of program execution after updating source codes of the programs. In the time-consuming repeat of program execution, most importantly, debugging computation-intensive programs gives programmers no other benefit except for making sure that their programs are bug-free.
In this thesis, a Function-based Checkpoint Mechanism (FCM) is proposed to facilitate debugging computation-intensive programs. FCM not only allows programmers to debug their programs but also conserves the debugging time by an intelligent checkpoint/restore mechanism. In debugging a program, FCM allows a programmer to continue the program execution even though source codes of the program are updated, which is totally different to other proposals. With the feature of source-code live update and debugging, FCM outperforms other proposals in many points such as conserving the debugging time, easing the debugging task, owning the high portability, and having the negligible run-time overhead.
[1] Open SystemC Initiative: http://www.accellera.org/home/
[2] GNU Debugger: http://www.gnu.org/software/gdb/
[3] Debugging in Visual Studio: http://msdn.microsoft.com/en-us/library/sc65sadd.aspx
[4] H. Zhong and J. Nieh, “CRAK: Linux Checkpoint/Restart As a Kernel Module,” 2001
[5] J. Duell, “The Design and Implementation of Berkeley Lab’s Linux Checkpoint/Restart,” 2005
[6] E. R. Jason Duell, Paul Hargrove, "Requirements for Linux Checkpoint/Restart," 2002
[7] S. Sankaran, J. M. Squyres, B. Barrett, A. Lumsdaine, J. Duell, P. Hargrove, and E. Roman, "The LAMIMPI Checkpoint/Restart Framework: System-Initiated Checkpointing," International Journal of High Performance Computing Applications, vol. 19, no. 4, pp. 479-493, 2005.
[8] M. Litzkow, T. Tannenbaum, J. Basney, and M. Livny, "Checkpoint and Migration of UNIX Processes in the Condor Distributed Processing System," 1997.
[9] J. S. Plank, M. Beck, G. Kingsley, and K. Li, "Libckpt: Transparent Checkpointing under Unix," in Proceedings of USENIX Technical Conference, pp. 213-224, 1995
[10] D. Liang, P. E. Chung, Y. Huang, C. M. R. Kintala, w.-J. Lee, T. K. Tsai, and c.-Y. Wang, "NT-SwiFT: Software Implemented Fault Tolerance on Windows NT," in Journal of Systems and Software, vol. 71, pp. 127-14l, 2004
[11] P. E. Chung, w.-J. Lee, Y. Huang, D. Liang, and c.-Y. Wang, "Winckp: A transparent checkpointing and rollback recovery tool for Windows NT applications," in FTCS '99: Proceedings of the Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing, p. 220, 1999
[12] H. Abdel-Shafi, E. Speight, and J. K. Bennett, "Efficient User-Level Thread Migration and Checkpointing on Windows NT Clusters," in Proceedings of the 3rd USENIX Windows NT Symposium. 1999
[13] E. Roman, "A Survey of Checkpoint/Restart Implementations," 2002
[14] GDB-heap: https://fedorahosted.org/gdb-heap/
[15] M.Bozyigit, M. Wasiq, “User-Level Process Checkpoint and Restore for Migration”, 2001
[16] Kraemer, S., Leupers, R., Petras, D., Philipp, T., “A checkpoint/restore framework for systemc-based virtual platforms”, International Symposium on System-on-Chip, 2009
[17] Vallee, G., Lottiaux, R., Margery, D., Morin, C., Berthou, J. Y., “Ghost Process: a Sound Basis to Implement Process Duplication, Migration and Checkpoint/Restart in Linux Clusters,” The International Symposium on Parallel and Distributed Computing, 2005
[18] Johny Srouji, Paul Schuster, Maury Bach, Yulik Kuzmin, “A Transparent Checkpoint Facility On NT,” Proceedings of the USENIX Windows NT Symposium, 1998
[19] Anil Francis Thomas, Barbara Harder, Anthony Chavez, Kwanjalit S. Marok, Nirmal R. Soy, “Restoration of a computer to a previous working state”, Google Patent, 2004
[20] Pi-Yu Chung, Yennun Huang, Chandra Kintala, Kiem-Phong Vo, Yi-Min Wang, “Checkpoint and restoration systems for execution control”, Google Patent, 2000
[21] Long Xiang, Liang Zhen, Chen Jin, and Liao Hongbin, "Kernel Support for checkpoint in Linux - the design of core-ckpt file system," Computer Engineering and Applications, vol, 38, pp. 120-122, 2002
[22] Cloud Computing: http://en.wikipedia.org/wiki/Cloud_computing
[23] Fefora: http://fedoraproject.org/