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

Support of C++ Communication Library with Design Patterns on Multi-Core Embedded System

支援C++溝通函式庫和設計樣式於多核心嵌入式系統

指導教授 : 李政崑

摘要


如何將程式平行化以達到效能、穩定度以及上市時間等需求是平行程式設計師的最大挑戰。雖然硬體通常提供了許多有用的支援於平行計算,但軟體平行化的程度還是跟不上硬體發展的腳步,以效能的角度來看,這是平行化程式的最大瓶頸。 為了要在計算單元之間交換資訊,一個C++溝通函式庫,命名為SRPCPP,被設計出來以提供平行程式規劃模型,SRPCPP以主從式模型形式被實作, 在從屬核心上的程式單元會被主要核心給喚醒,另外,SRPCPP提供一個串流機制,利用串流機制重疊溝通與計算的時間,以此來增進程式的效能。 本篇論文,我們提供一個C++溝通函式庫於嵌入式異質多核心平台,並以設計樣式的方法平行化程式,利用此有理論的方式幫助軟體系統設計師撰寫平行程式。

並列摘要


How to parallelize programs to reach the performance, reliability and time-to-market requirements is the most critical issue for parallel programmers. Although hardware provides helpful and available supports for parallel computing, the scalability of software still can’t catch up; it has also become the bottleneck for performance concern. To exchange information between various computing units, a C++ communication library--Streaming Remote Procedure Call (SRPCPP)--for parallel programming models is introduced. SRPCPP library is built in a master-slave model; tasks on the slave-cores could be invoked or terminated by the master-core. In addition, SRPCPP provides a streaming mechanism which overlaps the communication and computation. In this way, we can improve the performance when transferring data between cores. In this thesis, we propose a communication library called SRPCPP with Design Patterns on a heterogeneous embedded multi-core system platform. Design Patterns give a name to solutions to recurring problems in a domain where experts gradually learn to “take for granted.” They have been whetting software programmer’s appetite for architecting parallel software in recent years. We will show how to use these patterns with SRPCPP library to parallelize applications in our experiment. We provide a C++ communication library that can be utilized to carry out the parallel programs on heterogeneous multi-core embedded systems. Equally impressive, the employment of design patterns providing methodological approaches aims to architect software systematically for programmers.

參考文獻


[1] Message Passing Interface Forum. http://www.mpi-forum.org/.
[3] Intel Threading Building Blocks website. http://threadingbuildingblocks.org/.
[7] H.-J. Boehm. Threads cannot be implemented as a library. In Proc. Conf. on Programming Language Design and Implementation, 2005
[9] Patterns for Parallel Programming.
Timothy Mattson, Beverly A. Sanders, Berna L. Massingill, 2004

延伸閱讀