研究生: |
戴銘佑 Tai, Ming-Yuo |
---|---|
論文名稱: |
雙核心平台動態負載平衡最佳化技術之研究 A Study of Dynamic Load-Balancing for Duo-Core Platforms |
指導教授: |
徐爵民
Shyu, Jyuo-Min |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 資訊工程學系 Computer Science |
論文出版年: | 2010 |
畢業學年度: | 98 |
語文別: | 中文 |
論文頁數: | 45 |
中文關鍵詞: | 負載平衡 、雙核心 、CPU 使用率 、編譯器基礎套件 |
外文關鍵詞: | Load-Balance, duo-core, CPU usage, compiler infrastructure |
相關次數: | 點閱:1 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
由於高性能與低耗能之運算需求不斷上升,多核心平台的系統越來越
多,如何在多核心系統之複雜的使用環境中,有效的將多核心系統的效能發揮出來,成為了重要的問題。本論文在雙核心平台上,提出了結合系統資訊、編譯器和程式設計師,以協助解決平行程式負載平衡問題,並且從(1) CPU 使用率資訊的取得,(2) 在程式中加入對CPU 使用率的考量,以及(3) 程式執行過程中自動依照CPU 使用率調整程式負載,等三個步驟提出可能碰到的問題和解決方法,並且以實驗驗證構想的可行性。
With rapidly increasing demand on high-performance and low-power computing applications, multicore platforms have become popular in information and communication devices. To improve the CPU utilization for multicore platform, we propose a scheme to combine system information and compiler directives for programmer to dynamically balance the CPU load for parallel programs. Our procedure is (1) obtain the CPU usage information, (2) incorporate the CPU usage information in the programs, and (3) dynamically balance the load. Our experimental results in Duo-Core platform show that performance improvement can be obtained using the proposed scheme.
[1] The cetus api. http://cetus.ecn.purdue.edu/cetusapi/index.html.
[2] The cetus project. http://cetus.ecn.purdue.edu/.
[3] Gcc, the gnu compiler collection. http://gcc.gnu.org/.
[4] Linux/unix command: top. http://linux.about.com/od/commands/l/blcmdl1top.htm.
[5] Ompscr: Openmp source code repository. http://sourceforge.net/projects/ompscr/.
[6] Openmp and automatic parallelization in gcc. http://www.airs.com/dnovillo/Papers/gcc2006.pdf.
[7] The openmp api specification for parallel programming. http://openmp.org/wp/.
[8] Openmp application program interface. http://www.openmp.org/mpdocuments/spec25.pdf.
[9] The openmp profiler ompp. http://www.cs.utk.edu/karl/ompp.html.
[10] The openmp profiler ompp: User guide and manual version 0.7.0,january 2010. http://www.cs.utk.edu/~karl/~research/ ompp/omppusage.html.
[11] Oprofile - a system profiler for linux. http://oprofile.sourceforge.net/.
[12] / proc/ stat explained. http:// www.linuxhowtos.org/ System/ procstat.htm.
[13] H. Bae, L. Bachega, C. Dave, S.-I. Lee, S. Lee, S.-J. Min, R. Eigenmann, and S. Midkiff. Cetus: A source-to-source compiler infrastructure for
multicores. In Proceedings of the 14th Int’l Workshop on Compilers for
Parallel Computing, 2009.
[14] S. Browne, J. Dongarra, N. Garner, G. Ho, and P. J. Mucci. A portable
programming interface for performance evaluation on modern processors.
International Journal of High Performance Computing Applications,
14(3):189–204, Fall 2000.
[15] K. Furlinger and D. Skinner. Detection and analysis of iterative behavior
in parallel applications. In Proceedings of the 2008 International
Conference on Computational Science, pages 261–267, 2008.
[16] B. Mohr, A. D. Malony, H.-C. Hoppe, F. Schlimbach, G. Haab, J. Hoeflinger,
and S. Shah. A performance monitoring interface for openmp.
In Proceedings of the Fourth Workshop on OpenMP, 2002.
[17] B. Mohr, A. D. Malony, S. S. Shende, and F. Wolf. Towards a performance tool interface for openmp: An approach based on directive rewriting. In Proceedings of the Third Workshop on OpenMP, 2001.
[18] A. Morris1, A. D. Malony1, and S. S. Shende1. Supporting nested openmp parallelism in the tau performance system. International Journal of Parallel Programming, 35(4):417–436, June 2007.
[19] S. S. Shende and A. D. Malony. The tau parallel performance system. International Journal of High Performance Computing Applications, 20:287–311, May 2006.
[20] C. Terboven, D. an Mey, D. Schmidl, H. Jin, and T. Reichstein. Data and thread affinity in openmp programs. In Proceedings of the 2008 workshop on Memory access on future processors, pages 377–384, 2008.