研究生: |
陳文笙 Chen, Wen-Sheng |
---|---|
論文名稱: |
為晶片上網路平台設計之非阻礙式資料通訊元件 Design of a Non-blocking Communication Engine for NoC-based Platforms |
指導教授: |
劉靖家
Liou, Jing-Jia |
口試委員: |
金仲達
King, Chung-Ta 黃稚存 Huang, Chih-Tsun |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 電機工程學系 Department of Electrical Engineering |
論文出版年: | 2014 |
畢業學年度: | 102 |
語文別: | 英文 |
論文頁數: | 50 |
中文關鍵詞: | 非阻礙式資料通訊 |
外文關鍵詞: | non-blocking |
相關次數: | 點閱:1 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
晶片上網路 (NoC) 多核心平台已經在之前被提出來,這個平台上有專門的硬體去支援平行程式所需要的資料傳輸函式庫,但是之前的平台只有支援阻礙式通訊。在阻礙式通訊的過程中,處理核心必須要透過不斷的檢查通訊的狀態以確定通訊完成。在資料傳輸過程中的時間,包含了網路上的傳輸時間、以及流量控制 (flow control) 過程的時間,這些時間會導致較沒有效率的計算資源分配。在這篇論文中,我們提出了一個支援非阻礙式與阻礙式的傳輸。根據硬體的架構也發展出非阻礙式資料傳輸的程式介面 (API) ,讓程式設計者可以使用計算與通訊之間重疊的時間來增加程式的效率。
我們設計的通訊元件以及程式介面環境是在SystemC與TLM下,在這個環境下進行對硬體以及軟體層的開發和驗證。在實驗的結果中我們比較了阻礙式與非阻礙式的傳輸所需要的時間,在單一資料的傳輸中為比例為1.77 (非阻礙式/阻礙式),在多筆資料的傳輸中為2。此外我們也使用高階合成 (HLS) 的工具幫我們產生出Verilog RTL,在RTL這個層級我們可以得到通訊元件更為精確的時間與面積。
Previously, a Network-on-Chip (NoC) based many-core platform has been proposed. This platform
features a dedicated hardware module to support a message passing communication library
for parallel programming. However, only blocking communication is supported in the previous
platform. During blocking communication, the processor cores have to stop computation and wait
in a busy loop to check communication status. It is possible that a long communication latency
(including waiting time for network transfer and response at the other end) will lead to less efficient
computation resource allocation. In this thesis, we proposed a communication unit which
supports both blocking and non-blocking data transfer. Based on the hardware infrastructure, a set
of non-blocking message passing application programming interface (API) is also developed for
programmers to overlap computation and communication which may improve the overall program
efficiency.
We designed our communication unit and APIs with SystemC/TLM for an early stage evaluation
and verification at both hardware and software levels. The experimental results show that the
average ratios of computation cycles needed for non-blocking and blocking is 2 (burst mode) and
1.77 (single mode). In addition, we also used a high-level synthesis (HLS) tool to generate Verilog
RTL code of the communication unit to study the actual circuit timing and area.
[1] S. Borkar, “Thousand Core Chips—A Technology Perspective”, in Proc. IEEE/ACM Design
Automation Conf. (DAC), 2007, pp. 746–749.
[2] Yangjie Cao, Baodong Wu, Yongcai Tao, and Lei Shi, “Performance analysis of current parallel
programming models for many-core systems”, IEEE CONFERENCE PUBLICATIONS,
pp. 132–135, 2013.
[3] William Gropp, Ewing Lusk, and Anthony Skjellum, Using MPI:Portable Parallel Programming
with the Message-Passing Interface, MIT Press, 1999.
[4] D. Lampret, C.-M. Chen, M. Mlinar, J. Rydberg, M. Ziv-Av, C. Ziomkowski, G. McGary,
B. Gardner, R. Mathur, and M. Bolado, OpenRISC 1000 Architecture Manual rev 1.3, May
2006, http://opencores.org/or1k/Main Page.
[5] Imperas Software Limited, OVP Guide To Using Processor Modeles, 2013,
http://www.ovpworld.org/using-ovp-fast-processor-models-with-ovpsim-and-othersimulators.
[6] Imperas Software Limited, Using OVP Models in SystemC TLM2.0 Platfroms,
May 2013, http://www.ovpworld.org/using-ovp-models-with-osci-systemc-tlm20-platformsto-
gain-200-500-mips-performance.
[7] Yu. Hsun. Chen, “Design and Analysis of Inter-PE Communication on Many-Core Platform”,
Master’s thesis, National Tsing-Hua University, Computer Science Department, 2012.
[8] Ting. Shuo. Hsu, “A DVFS Many-core ESL Simulation Platform with Software Communication
API”, Master’s thesis, National Tsing-Hua University, Electrical Engineering Department,
2011.
[9] Tilera Corporation, ILIB API REFERENCE MANUAL, May 2008.
[10] Open SystemC Initiative, OSCI TLM 2.0 Language Reference Manual, July 2009.
[11] Open Core Protocol International Partnership, Open Core Protocol Specification Release 2.2,
Jan. 2007.
[12] Unauthorized, Candence CtoSilicon Compiler User Guide, May 2012,
http://www.cadence.com/products/sd/silicon compiler/pages/default.aspx.
[13] Open SystemC Initiative, “IEEE Standard SystemC Language Reference Manual”, IEEE Std
1666-2005, pp. 1–423, Mar. 2006.
[14] D. C. Black, J. Donovan, B. Bunton, and A. Keist, SystemC: From the ground up, Springer
Verlag, 2009.
[15] Mike Fingeroff, High-Level Synthesis Blue Book, Xlibris Corporation, 2010.