透過您的圖書館登入
IP:3.142.35.75
  • 學位論文

多核心系統上訊息傳遞函式之效能分析與最佳化

Performance Analysis and Optimization of Message-Passing Operations on Multicore Systems

指導教授 : 洪士灝

摘要


嵌入式系統的發展已漸漸趨向多核心化,伴隨而來的問題是平行程式的開發,整合以及移植越來越困難,而核心間溝通更是其中相當重要的問題之一。對於軟體開發人員,若有一套標準、高度移植性、具延展性且有效率的核心間溝通機制,則可大幅降低多核心程式開發的時程與難度。為此我們提出一套解決方案稱為MSG函式庫,採用三層模組化設計,第一層提供標準的介面,當移植到不同平台時,使用者不需要修改已寫好的程式,第二層則將現有的硬體平台劃分為共享記憶體架構及分散是記憶體架構,不同硬體架構我們採用不同的資源管理機制及通訊協定,最後,最下層設計則是引用平台特殊指令集來達到MSG的最佳化。 先前我們針對共享記憶體架構與分散式記憶體架構分別挑選工研院開發的平台-PAC Duo及IBM Cell來實驗與評估MSG的設計,為了能讓MSG能更廣泛被使用,我們將此概念實作於對稱式多元處理器(Symmetric Multi-Processor, x86),在該平台上我們另外討論如何對MSG做最佳化,包含小量訊息傳輸方案等策略。對於延展性,我們加入了緩衝區池(Buffer Pool)及Request Queue。除此之外,我們還考慮到嵌入式系統上協同處理器(co-processor)地域記憶體(local memory)不足的因素。因此,我們實作務處理器的概念,並且針對此概念做了許多效能分析與最佳化。 最後,我們正著手於整理並開放我們MSG原始碼,希望我們的經驗與結果未來能夠在核心間溝通函式庫的設計及開發有實質的幫助。

並列摘要


Recently, embedded multicore platforms have become popular, but software development for such platforms has been very challenging. One of the major problems is that the inter-core communication mechanisms are diversified. Thus, we propose a portable message-passing library with three layer modular design. The top layer supports the essential communication operations that are commonly found in message-passing applications. The middle layer facilitates the resource management and communication portocols with support for shared/distributed memory architecture. The bottom layer enables the developers to optimize the library for a specific platform by exploiting the hardware features. This thesis focuses on the optimizations of the library with case studies on the ITRI PAC Duo platform, IBM Cell platform, and x86 platforms. We show how to optimize the performance of the communication library for small-size and large-size messages. For scalability, the buffer pool and request queue designs are evaluated. To converse the on-chip memory space for embedded processors, we also evaluated an approach using a service processor. We have released our works as an open-source project. Hopefully, our work can help the design and development of communication libraries for exiting and future multicore platforms.

參考文獻


[1] W. Gropp, E. Lusk, N. Doss, and A. Skjellum, “A high-performance, portable implementation of the mpi message passing interface standard.” Parallel Comput., vol. 22, pp. 789–828, September 1996.
[2] “Multicore communication api specification,” Multicore communications API working group, Tech. Rep., 2008.
[3] J. Holt, A. Agarwal, S. Brehmer, M. Domeika, P. Griffin, and F. Schirrmeister, “Software standards for the multicore era,” Micro, IEEE, vol. 29, no. 3, pp. 40 –51, 2009.
[4] T. Chen, R. Raghavan, J. N. Dale, and E. Iwata, “Cell broadband engine architecture and its first implementation: A performance view,” IBM Journal of Research and Development, vol. 51, no. 5, pp. 559 –572, 2007.
[5] Z.-M. Hsu, I.-Y. Chuang, W.-C. Su, J.-C. Yeh, J.-K. Yang, and S.-Y. Tseng, “System performance analyses on pac duo esl virtual platform,” in Intelligent Information Hiding and Multimedia Signal Processing, 2009. IIH-MSP ’09. Fifth International Conference on, 2009, pp. 406 –409.

延伸閱讀