新聞中心

EEPW首頁 > 電源與新能源 > 設計應用 > 眾核多計算模式系統(tǒng)的構建

眾核多計算模式系統(tǒng)的構建

作者: 時間:2014-01-19 來源:網絡 收藏

在航空航天、醫(yī)療服務、地質勘探等復雜應用領域,需要處理的數(shù)據量急劇增大,需要高性能的實時計算能力提供支撐。與多核處理器相比,眾核處理器計算資源密度更高、片上通信開銷顯著降低、性能/功耗比明顯提高,可為實時系統(tǒng)提供強大的計算能力。

本文引用地址:http://butianyuan.cn/article/226779.htm

在復雜應用領域當中,不同應用場景對計算的需求可能不同。例如,移動機器人在作業(yè)時,可能需要同時執(zhí)行路徑規(guī)劃、目標識別等多個任務,這些任務需要同時執(zhí)行;在對遙感圖像處理時,需要對圖像數(shù)據進行配準、融合、重構、特征提取等多個步驟,這些步驟間既需要同時執(zhí)行,又存在前驅后繼的關系。因此,基于眾核處理器進行計算模式的動態(tài)構造,以適應不同的應用場景和應用任務成為一種新的研究方向。文獻[1]研究了具有邏輯核構造能力的眾核處理器體系結構,其基本思想是基于多個細粒度處理器核構建成粗粒度邏輯核,將不斷增加的處理器核轉化為單線程串行應用的性能提升。文獻提出并驗證了一種基于類數(shù)據流驅動模型的可重構眾核處理器結構,實現(xiàn)了邏輯核處理器的運行時可重構機制。文獻 提出了一種支持核資源動態(tài)分組的自適應調度算法,通過對任務簇的拆分與合并,動態(tài)構建可彈性分區(qū)的核邏輯組,實現(xiàn)核資源的隔離優(yōu)化訪問。

GPGPU(General - Purpose Computing on GraphicsProcessing Units)作為一種典型的眾核處理器,有關研究多面向單任務并發(fā)執(zhí)行方面的優(yōu)化以及應用算法的加速。本文以GPGPU為平臺,通過研究和設計,構建了單任務并行、多任務并行和多任務流式處理的多計算模式處理系統(tǒng)。

1 眾核處理機

1.1 眾核處理機結構

眾核處理機是基于眾核控制單元(MPU)與眾核處理器(GPGPU)相結合的主、協(xié)處理方式構建而成,其邏輯結構如圖1所示。眾核處理機由眾核控制單元和眾核計算單元兩部分組成,其中眾核控制單元采用X86結構的MPU,與眾核計算單元之間通過PCI-E總線進行互連。

眾核多計算模式系統(tǒng)的構建

1.2 CUDA流與Hyper-Q

在統(tǒng)一計算設備架構(Compute Unified Device Ar-chitecture,CUDA)編程模型中,CUDA流(CUDA Stream)表示GPU的一個操作隊列,通過CUDA流來管理任務和并行。CUDA 流的使用分為兩種:一種是CUDA 在創(chuàng)建上下文時會隱式地創(chuàng)建一個CUDA流,從而命令可以在設備中排隊等待執(zhí)行;另一種是在編程時,在執(zhí)行配置中顯式地指定CUDA 流。不管以何種方式使用CUDA流,所有的操作在CUDA流中都是按照先后順序排隊執(zhí)行,然后每個操作按其進入隊列的順序離開隊列。換言之,隊列充當了一個FIFO(先入先出)緩沖區(qū),操作按照它們在設備中的出現(xiàn)順序離開隊列。

在GPU 中,有一個CUDA 工作調度器(CUDA WorkDistributor,CWD)的硬件單元,專門負責將計算工作分發(fā)到不同的流處理器中。在Fermi架構中,雖然支持16 個內核的同時啟動,但由于只有一個硬件工作隊列用來連接主機端CPU 和設備端GPU,造成并發(fā)的多個CUDA 流中的任務在執(zhí)行時必須復用同一硬件工作隊列,產生了虛假的流內依賴關系,必須等待同一CUDA流中相互依賴的kernel執(zhí)行結束,另一CUDA流中的ker-nel才能開始執(zhí)行。而在Kepler GK110架構中,新具有的Hyper-Q特性消除了只有單一硬件工作隊列的限制,增加了硬件工作隊列的數(shù)量,因此,在CUDA 流的數(shù)目不超過硬件工作隊列數(shù)目的前提下,允許每個CUDA流獨占一個硬件工作隊列,CUDA流內的操作不再阻塞其他CUDA流的操作,多個CUDA流能夠并行執(zhí)行。

如圖2 所示,當利用Hyper-Q 和CUDA 流一起工作時,虛線上方顯示為Fermi模式,流1、流2、流3 復用一個硬件工作隊列,而虛線下方為Kepler Hyper-Q 模式,允許每個流使用單獨的硬件工作隊列同時執(zhí)行。

眾核多計算模式系統(tǒng)的構建

2 眾核多計算模式處理框架

為了充分發(fā)揮眾核處理器的計算能力,眾核處理系統(tǒng)面對不同的計算任務的特點,可構建三種計算模式,即單任務并行計算、多任務并行計算、多任務流式計算。

2.1 眾核多計算模式處理系統(tǒng)結構

眾核多計算模式處理系統(tǒng)結構如圖3 所示。眾核處理系統(tǒng)包括數(shù)據通信、任務管理、形態(tài)管理、資源管理和控制監(jiān)聽模塊。

眾核多計算模式系統(tǒng)的構建

數(shù)據通信模塊:提供接口給主控機,負責接收從主控機發(fā)送來的任務命令和任務計算所需的任務數(shù)據,并且最終將眾核處理機運算完成的計算結果通過該模塊返回給主控機。

控制監(jiān)聽模塊:在眾核處理系統(tǒng)運行時,實時獲取主控機發(fā)送給眾核處理機的任務命令,將其傳送給任務管理模塊,并接收任務管理模塊返回的任務命令執(zhí)行結果。

任務管理模塊:負責計算任務的加載過程,將控制監(jiān)聽模塊發(fā)送來的任務命令存于任務隊列,當眾核計算單元需要加載任務進行計算時,從任務隊列中獲取任務命令,根據任務命令從任務配置文件中獲取任務計算所需的任務信息,該任務信息包含了計算任務運行時所需的存儲空間大小、適合于該任務的計算


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉