簡易檢索 / 詳目顯示

研究生: 許博竣
Hsu, Po-Chun
論文名稱: Support of C++ Communication Library with Design Patterns on Multi-Core Embedded System
支援C++溝通函式庫和設計樣式於多核心嵌入式系統
指導教授: 李政崑
Lee, Jenq-Kuen
口試委員: 黃冠寰
遊逸平
李政崑
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2011
畢業學年度: 99
語文別: 英文
論文頁數: 30
中文關鍵詞: C++ 溝通函式庫設計樣式多核心系統
外文關鍵詞: C++ Communication Library, Design Pattern, Multi-Core System
相關次數: 點閱:3下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 如何將程式平行化以達到效能、穩定度以及上市時間等需求是平行程式設計師的最大挑戰。雖然硬體通常提供了許多有用的支援於平行計算,但軟體平行化的程度還是跟不上硬體發展的腳步,以效能的角度來看,這是平行化程式的最大瓶頸。

    為了要在計算單元之間交換資訊,一個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.

    Abstract i Contents ii List of Figures iv 1. Introduction 5 1.1 Motivation 5 1.2 Thesis Overview 6 2. Background 9 2.1 C++ and C++ Programming Model 9 2.2 Design Patterns of Parallel Programming 13 2.3 PAC Duo Platform and Toolchain 14 3. Implement Streaming RPC++ 16 3.1 Driver Module Support 18 3.2 OS/Runtime Support 19 3.3 APIs 20 4. Experiment 21 4.1 Belif propagation for stereo maching 21 5. Conclusion 26 5.1 Summary 26

    [1] Message Passing Interface Forum. http://www.mpi-forum.org/.
    [2] OpenMP official website. http://openmp.org/wp/.
    [3] Intel Threading Building Blocks website. http://threadingbuildingblocks.org/.
    [4] StreamIt programming language and a compilation infrastructure website. http://groups.csail.mit.edu/cag/streamit/
    [5] Brook compiler and runtime implementation of the Brook stream program language. http://graphics.stanford.edu/projects/brookgpu/
    [6] The C++ reference website. http://www.cplusplus.com/reference/
    [7] H.-J. Boehm. Threads cannot be implemented as a library. In Proc. Conf. on Programming Language Design and Implementation, 2005
    [8] H. Sutter. Prism: A principle-based sequential memory model for microsoft native code platforms. C++ standards committee paper WG21/N2197 = J16/07-0057,http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2007/n2197.pdf, March 2007.
    [9] Patterns for Parallel Programming.
    Timothy Mattson, Beverly A. Sanders, Berna L. Massingill, 2004

    [10] A Pattern Language for Parallel Programming. http://parlab.eecs.berkeley.edu/wiki/patterns/patterns
    [11] Industrial Technology Research Institute (ITRI) website. http://www.itri.org.tw/

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE