




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 多核平臺間的并行計算系統研究 王韋樺Summary:近年來,隨著多核芯片的產生和現代科學計算需求的不斷增大,并行計算系統被廣泛研究和使用,旨在提高多核芯片的利用率,提升系統的計算執行效率。該文針對多核平臺間的并行計算系統,首先,介紹了并行計算系統的硬件組成結構,然后,針對系統的硬件結構,提出了相應的并行編程模型的基本編程接口和支持機制,并從3個角度,即并行性分解、任務劃分和任務調度介紹并行計算系統的設計原理;最后總結并展望了并行計算系統未來的研究方向。Key:并行計算系統;并行編程模型;并行任務劃分;并行任務調度:TP391 :A :1009-3044(2016)05-0244-03Abst
2、ract: In recent years, with the development of multi-core chips and the increasing demand of modern scientific computing, Parallel computing systems have been widely studied and used in order to improve the utilization of multi-core chips, and to improve the computational efficiency of the system. I
3、n this paper, a parallel computing system is aimed at the multi core platform, First, the hardware structure of parallel computing system is introduced;Then, the basic programming interface and supporting mechanism of the parallel programming model are put forward;The design principles of parallel c
4、omputing system are introduced from 3 aspects, namely, parallel decomposition, task partitioning and task scheduling; Finally, the future research directions of parallel computing systems are summarized and discussed.Key words: parallel computing system; parallel programming model; parallel task par
5、titioning; parallel task scheduling1 背景隨著互聯網行業的蓬勃發展,針對不同行業各類應用的數據處理性能要求也在不斷提升,直接推動了并行計算系統和分布式處理系統的廣泛應用。所謂并行計算系統,就是構建一組并行處理單元,并建立各個處理單元間的交互與協同規則,將數據處理任務分解成多個子任務,并依據并行計算系統各個處理單位的處理能力和運行狀態進行任務分派,以達到提高系統數據處理能力、處理規模和處理效率的目的1。如圖1所示,并行計算系統的構建主要包含三個部分,即:系統的硬件組成、系統的軟件環境和系統的并行程序設計2。以下針對這三個部分分別展開描述。2 并行計算系統硬件組
6、成本文所設計的并行計算系統的硬件設備,由三臺并行計算節點compute-0-0、compute-0-1 和 compute-0-2組成,如圖2所示。這三個計算節點無主次之分,采用對等通信方式,通過以太網交換機構成局域網絡。其中各個并行計算節點CPU:選用不低于Intel Core i7二代運算能力的處理器(四核八線程),支持同步多線程;內存:容量為4G,支持大容量高速運算。該并行計算系統的存儲方式可以認為是一種多層次分布式內存共享并行結構,它同時結合了結點間分布式存儲和結點內共享內存的層次結構。在該結構下每個計算節點內的多核CPU間利用內存共享的方式進行并行計算,而各計算節點之間則可采用基于消
7、息傳遞的方式實現并行處理,其結構如圖3所示。3 多層次的并行編程模型鑒于并行計算系統的分布式共享內存并行結構特點,和并行處理節點操作系統所提供的軟件支持,可以采用MPI+POSIX接口(Portable Operating System Interface of Unix) 的混合編程模型進行并行計算系統的設計與開發。MPI由一組庫函數組成,提供了統一的編程接口,并行程序的各個進程之間通過這些函數進行通信。在標準串行程序設計語言(C、C+)的基礎上,再加入實現進程間通信的MPI消息傳遞函數,就構成了MPI并行程序設計所依賴的并行編程環境2。MPI是一個標準,它不屬于任何一個產商,不依賴與某個操
8、作系統。MPI支持多種操作系統,包括絕大多數的類Unix、Windows系統和所有主流的并行機3。POSIX接口也稱為Pthreads,它是C語言多線程編程接口標準的一種具體實現,主要提供線程管理(創建、連接等)、線程同步(互斥量的創建、銷毀和鎖定等)和線程間的通信(條件變量的創建、銷毀和等待等)。使用 MPI+Pthreads的多層次并行編程模型可以充分利用分布式內存共享結構的特點。上層使用MPI實現并行計算系統節點間的并行處理,下層使用Pthreads實現并行計算系統節點內的多線程并行計算,實現原理如圖4所示。 4 并行計算系統的并行程序設計根據并行計算系統的硬件組成和編程模式,其程序并行
9、設計應包含以下二個層面:1)單個并行平臺內的程序并行設計根據系統在各個節點上所執行的功能任務,從數據/任務劃分、通信同步和任務分配的層面上,討論程序并行處理設計的實現手段。2)多個并行節點間的程序并行設計重點考慮系統多節點間并行處理的任務分解和任務調度方法,目的是根據系統硬件組成和軟件環境,對數據處理任務進行有效分解,并通過各節點間的任務合理調度,提升系統數據處理能力。4.1 單個并行平臺內的程序并行設計單個并行平臺內的并行程序設計就是將一個串行程序并行化,分解成若干個子程序塊,再分別進行調度,從而讓程序并發的在多個核上運行。以構建仿真系統為例,依據并行程序設計的基本思路和設計模式開展研究討論
10、:4.1.1 任務劃分根據仿真系統在單個并行平臺內執行的功能任務流程,同時,按照軟件構件化設計思想,遵循高內聚低耦合的設計理念,可將單個節點所處理的仿真任務按照不同的處理粒度和執行層次劃分為一系列階段分別實施,包括:場景模擬階段、仿真數據生成階段、信息處理階段和顯示及結果評估階段。各個數據處理階段在進行任務處理時,可依據各階段任務處理流程,分時順序執行。該階段劃分任務的特點表現為:1)系統由多個階段的不同功能處理協作完成任務;2)每個處理階段均對應不同的處理任務,并且各個任務之間按照規定的流程分時順序執行;3)各個處理階段之間可以采用基于消息傳遞或者內存共享的方式進行參數傳遞和函數調用。綜上所
11、述,仿真系統在單個并行計算平臺內處理時,可按不同任務階段,基于流水線的方式實現并行計算處理,如圖5所示。4.1.2 任務間的通信、同步和調度根據仿真系統處理各個階段相對獨立的特點,各個處理階段通過自主交互的方式進行任務間的通信、同步和調度。首先,并行處理模塊建立一個任務隊列,各處理階段建立屬于其自身的任務調度器,用于其內部任務的調度和從任務隊列提取任務。各個處理階段進程中的任務調度器都有一個標識信息,在從任務隊列拿到任務數據后,利用數據中的標志信息,與各個處理階段的標識信息進行匹配,匹配時就激活該處理階段,并在處理完成后更新處理數據中的標志信息,繼而激活后續的處理階段。同時,在各個任務階段(進
12、程)之間的通信和同步,可利用MPI系統實現基于消息傳遞的點對點通信、全局通信和同步處理;亦可通過共享內存方式,通過參數傳遞實現通信和同步。而對于大規模數據處理需求,即可能在某個時間點或時間范圍內會出現大量的待處理數據,而如果單個并行處理模塊的計算能力不足,造成數據隊列的堵塞,就會使系統出現無法預測的問題。此時,可用考慮采用一定的調度算法將實時任務分派到不同的處理節點執行,實現多個并行處理模塊間的任務并行處理,從而使系統處理能力得到最大程度優化。4.2 多個并行節點間的程序并行設計實時應用的日趨復雜、數據的快速增長和系統規模的不斷擴大迫切需要高性能的計算和處理能力的增長。提高系統計算和處理能力的
13、途徑主要有兩種,一種是依賴于硬件(如電子元器件)的性能;另一種是建立多節點并行處理系統,利用節點的并行計算提高系統的處理能力4。同樣以構建仿真系統為例,研究討論多個并行節點間的任務分配和調度策略:4.2.1 任務劃分對于多個并行處理節點間的并行程序設計,應根據并行系統的硬件組成和軟件環境,首先對處理任務進行有效分解,并在實現處理能力提升的基礎上,滿足系統負載均衡需求。處理任務的劃分方法通常可從處理的數據和實現的功能兩方面進行考慮。1)基于處理數據分解的任務劃分數據分解的對象可以是輸入數據,計算的輸出數據或計算的中間結果。其實現步驟是,首先分解與仿真處理相關的輸入數據,并盡可能對數據進行等量劃分
14、;其次再將每個計算關聯映射到相應的操作節點;當該操作需要別的任務的數據時,就會產生通信要求。2)基于計算功能分解的任務劃分功能分解也叫計算分解,它主要關注所需執行的計算,將整個計算任務分解成一些小的任務,即各個處理節點使用同一處理軟件的不同功能模塊,對相同的數據信息進行處理。其目的是盡量開拓并行執行的可能,并行結構如圖7所示。4.2.2 任務調度1)在數據分解并行模式下,并行處理系統應有一個任務調度中心,在盡量考慮負載均衡、存儲空間均衡使用以及較少并行節點間通信的基礎上,將分解的數據發送到各個處理節點并行執行。各個節點接受到任務調度中心的數據后開始本節點的局部計算任務,并實施計算節點間的通信,
15、通過流水線方式輸出計算結果。2)在功能分解并行模式下,多個處理模塊的并行系統也應有一個任務調度中心,任務調度中心可以根據各個處理節點的處理功能和處理狀態,在并行系統內尋找任務執行節點。各個節點在完成對數據的本地處理功能后,向任務調度中心提交任務并發出后續功能操作的執行請求。5 結束語本文以單平臺并行程序設計和多并行節點間的并行程序設計兩種體系結構為例,說明并行計算技術在多核平臺間的并行計算體系結構中的必要性和可行性。提出了用并行處理流水線的方法來加速單個平臺內的多核系統計算;對于多個并行處理節點,通過將數據處理隊列或功能處理隊列的劃分,同時通過保證不同隊列間的時間同步,在不損失精度的前提下實現多平臺間的并行處理功能。綜上所述,隨著多核/眾核芯片的發展以及一系列互聯網新興應用的涌現,并行計算系統正步入面向新處理器結構和新興應用的優化階段,如何高效設計并行模型和如何支持各類數據并行處理應用將是未來發展重要方向5。Reference:1 陳國棟. 基于網絡流模型的統計費用流相位解纏并行算法研究D. 成都: 成都理工大學碩士論文, 2012.2 李偉峰. FDTD與MPSTD并行算法在電磁散射中的應用研究D. 長沙: 國防科學技術大學碩士論文,2010.3 王金花. 工程化星載SAR/InSAR數據處理軟件設計與實現D.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB31/T 1023-2016老年宜居社區建設細則
- 輪胎行業可持續發展戰略考核試卷
- 南陽市桐柏縣2025年八年級《語文》上學期期末試題與參考答案
- 計算機二級Web考試重點難點試題及答案
- 2025年中國鋇鎘鋅穩定劑行業市場前景預測及投資價值評估分析報告
- 數字科技企業數據總監數據挖掘與分析聘用協議
- 抖音平臺賬號運營權分割與內容創作合作協議
- 2025年中國薄膜位置傳感器行業市場規模調研及投資前景研究分析報告
- 離婚房產稅費均攤及過戶實施合同
- 2025年中國棒球護具行業市場規模調研及投資前景研究分析報告
- 幼兒園大班科學《痕跡》
- 靜脈用藥安全輸注藥護專家指引
- DB61T1755-2023放心消費示范創建認定與管理規范
- 企業借款申請書
- 乙醇管施工方案
- 項目七 信息素養與社會責任
- 電氣施工安全技術交底記錄范本
- 說課稿【全國一等獎】
- 急性扁桃體炎臨床診療指南
- 第七講 社會主義現代化建設的教育科技人才戰略PPT習概論2023優化版教學課件
- 室間質評記錄表
評論
0/150
提交評論