標籤: 暫無標籤

1異構計算

基本概念
在異構計算系統上進行的并行計算通常稱為異構計算。人們已從不同角度對異構計算進行定義,綜合起來我們給出如下定義:異構計算是一種特殊形式的并行和分散式計算,它或是用能同時支持simd方式和mimd方式的單個獨立計算機,或是用由高速網路互連的一組獨立計算機來完成計算任務。它能協調地使用性能、結構各異地機器以滿足不同的計算需求,並使代碼(或代碼段)能以獲取最大總體性能方式來執行。
概括來說,理想的異構計算具有如下的一些要素:
(1)它所使用的計算資源具有多種類型的計算能力,如simd、mimd、向量、標量、專用等;(2)它需要識別計算任務中各子任務的并行性需求類型;(3)它需要使具有不同計算類型的計算資源能相互協調運行;(4)它既要開發應用問題中的并行性,更要開發應用問題中的異構性,即追求計算資源所具有的計算類型與它所執行的任務(或子任務)類型之間的匹配性;(5)它追求的最終目標是使計算任務的執行具有最短時間。
可見,異構計算技術是一種使計算任務的并行性類型(代碼類型)與機器能有效支持的計算類型(即機器能力)最相匹配、最能充分利用各種計算資源的并行和分佈計算技術。
分類
異構計算按以何種形式來提供計算類型多樣性,可分為系統異構計算(shc-system heterogeneous computing)和網路異構計算(nhc-network heterogeneous computing)兩大類。shc以單機多處理器形式提供多種計算類型,而nhc則以網路連接的多計算機形式提供多種計算類型。
根據異構性實現方式不同,即是空間異構性還是時間異構性,shc和nhc各自又可進一步分為兩類。shc分為單機多計算方式和單機混合計算方式兩大類,前者在同一時刻允許以多種計算方式執行任務,後者在同一時刻只允許以一種計算方式執行任務,但在不同時刻計算可從一種方式自動切換到另一種方式,如simd和mimd方式間的切換。前者的實例有美國hughes研究實驗室和mit共同研製的圖像理解系統結構(iua),它是多層異構系統結構,按圖像理解層次要求設計每一層,低層是simd位串網路(4096),用來處理像素級操作(如圖像增強),中層是由64個數字信號處理(dsp)晶元構成的,以spmd或mimd(中粒度)方式執行模式分類等操作,頂層是一個通用mimd(粗粒度)機器,完成場景和動作分析等知識處理操作。後者的實例為美國普渡大學研製的pasm系統原型,由16個pe(處理單元)組成的系統,它們可動態地加以劃分以形成各種大小的獨立的混合方式子機器,執行方式可按需要在simd和mimd之間自動切換。
nhc可進一步分為同類異型多機方式和異類混合多機方式兩類。同類異型多機方式中所使用的多機,它們的結構屬同一類,即支持同一種并行性類型(如simd、mimd、向量等類型之一),但型號可能不同,因此性能可以各有差異。通常的now或cow為同類同型多機方式,因此可看成是同類異型多機方式中的特例。異類混合多機方式中所使用的多機,它們的結構則屬不同類型。
主要問題
異構計算處理過程本質上可分為三個階段:并行性檢測階段、并行性特徵(類型)析取階段以及任務的映射和調度階段。并行性檢測不是異構計算特有的,同構計算也需要經歷這一階段。可用并行和分佈計算中的常規方法加以處理。并行性特徵析取階段是異構計算特有的,這一階段的主要工作是估計應用中每個任務的計算類型參數,包括映射及對任務間通信代價的考慮。任務映射和調度階段(也稱為資源分配階段)主要確定每個任務(或子任務)應映射哪台機器上執行以及何時開始執行。
從用戶來看,上述的非同步計算處理過程可用兩種方法來實現。第一種是用戶指導法,即由用戶用顯式的編譯器命令指導編譯器完成對應用代碼類型分析及有關任務的分解等工作,這是一種顯式開發異構性和并行性方法,較易於實現,但對用戶有一定要求,需將異構計算思想融入用戶程序中。另一種是編譯器指導法,需將異構思想融入編譯器中,然後由具有「異構智力」的編譯器自動完成應用代碼類型分析、任務分解、任務映射及調度等工作,即實現自動異構計算。這是一種隱式開發異構性和并行性方法,是異構計算追求的終極目標,但難度很大,對編譯器要求很高。
自動異構計算的概念性模型如圖2所示。首先對兩個對象進行分析,一是異構計算系統中的機器集,二是求解的應用程序。為了獲取最好的執行效果,對它們不但進行定性分析,還需進行相應的定量分析。
整個異構計算處理過程可分為以下四個階段:第一階段主要是對各台機器進行計算特徵的分類,得出異構計算系統所能完成的計算類型;按代碼塊統計應用對計算特徵的需求並加以分類;用基準程序測試各機器的性能參數,包括速度參數及機器間通信性能參數,生成對應的兩個機器速度性能矩陣和通信帶寬矩陣。將程序按計算類型分類劃分;估算各子任務的計算量和子任務間通信量,生成相應的任務dag圖。dag圖中結點上的數值表示子任務計算量,弧上的數值表示兩結點間通信量。
第二階段主要是根據dag和速度性能矩陣計算出每個子任務在各台機器上的執行時間,生成時間性能矩陣;根據通信性能矩陣和子任務的通信量計算各子任務間的通信時間,生成通信時間矩陣。
第三階段根據前兩個階段結果,給出各子任務到各機器的映射和符合任務dag圖偏序關係的調度。映射和調度可以是靜態或動態的,動態調度需根據機器負載和網路狀態信息進行。
第四階段為執行。

應用與研究

異構計算的應用範圍很廣,幾乎所有涉及巨大挑戰性問題的求解都可用異構計算進行經濟有效的求解。典型的應用包括圖像理解、質點示蹤、聲束形成、氣候建模、湍流對流混合模擬以及多媒體查詢等。這些應用中通常都含有多種不同的計算類型的需求,因此很適合於用異構計算來進行求解。
1、未來應重點開展異構混合多機方式的網路異構計算的研究,它代表著發展趨向,且較經濟有效;2、自動異構計算是長期追求目標,在現階段宜採用用戶指導方法來進行研究和開發;3、應盡量利用現有成熟工具如pvm和mpi來開展異構計算的研究和開發;4、應注意開展異構計算的理論分析和建模、性能估計模型、有關軟體工具以及異構計算中任務映射和調度演算法等方面的研究;5、應研究如何使異構計算系統具有良好的單一系統映像。

2圖書《OpenCL異構計算》

Fusion開發者峰會如火如荼地舉行之際,AMD宣布與高等院校聯合,面向開發人員出版一本新書:《OpenCL異構計算》(Heterogeneous Computing with OpenCL)。
該書將由荷蘭愛思唯爾出版集團(Elsevier)旗下的Morgan Kaufmann負責出版發行。全書328頁,中文版共277頁,提供了OpenCL體驗的第一手資料,詳盡闡述了多核心處理器、GPU圖形核心、APU融合處理器等多種設備的架構,以及基礎性并行演算法等API,並且提供了OpenCL在進行圖像處理、Web插件、隨機數生成、視頻處理等各方面強大能力的詳細實力。
這本書由AMD與美國東北大學的多位專業人士聯合撰寫,包括:
- AMD OpenCL架構師Benedict Gaster
- AMD技術骨幹Lee Howes
- 東北大學計算機架構研究實驗室(NUCAR)主管、信息安全保障研究院(IIA)聯合主管、工程學院副院長David R. Kaeli
- 東北大學電氣與計算機工程系博士研究生Perhaad Mistry
- 東北大學電氣與計算機工程系博士研究生Dana Schaa
《OpenCL異構計算》於2012八月份出版發行,提供紙質和電子版兩種格式,售價69.95美元。
同時《OpenCL異構計算》已被張雲泉,張先軼,龍國平,姚繼峰譯為中文版,並由清華大學出版社出版,定價76.00元。
圖書封面

  圖書封面

相關評論

同義詞:暫無同義詞