羅眉,周興社,張凱龍,胡英英
(1.西北工業大學計算機學院,陜西西安 710129;2.西安高科技研究所,陜西西安 710025)
眾核多態實時計算模型設計及應用
羅眉1,2,周興社1,張凱龍1,胡英英1
(1.西北工業大學計算機學院,陜西西安 710129;2.西安高科技研究所,陜西西安 710025)
為了滿足復雜嵌入式實時系統中應用任務對計算的需求,提高計算有效性,將多態實時計算的概念引入眾核架構中,設計了一種眾核多態實時計算模型。提出了計算態的概念,并設計了三種計算態以適用于不同類型任務。仿真測試結果表明,在較低通信衰減的情況下,此眾核多態實時計算模型使應用任務在以不同計算態進行計算時均可獲得較高的加速比,從而提高了系統對計算量大的應用任務的響應速度。
多態計算,眾核,計算態,計算模型
復雜嵌入式實時系統具有多種應用任務,多應用任務對嵌入式高效能計算提出了更高需求。通用計算使系統響應時間無法滿足大計算量任務的實時性需求。因此,應依據應用任務及其需求的具體變化,設計面向應用驅動的計算模型,使其能夠實時、動態地選擇合適的計算模式。
目前,在飛機、智能機器人等復雜嵌入式應用領域,越來越多地采用了眾核處理機。眾核處理機適用于密集計算,國內外對眾核處理機的研究主要集中在體系結構、資源調度、CPU+GPU異構系統相關技術以及眾核應用模型[1-4]的研究。
多態計算技術[5]是指在復雜嵌入環境下支持系統多級資源重構的技術,用來反映一種計算系統軟、硬件結構和計算模式適應任務需求變化的思想。目前國內外對多態技術的研究熱點主要集中于體系結構、資源配置和任務調度等方面[6-8]。近年來的研究結果表明,適應不斷變化應用需求的一種先進模式是建立多態計算模式。文獻[8]提出了一種用戶滿意度驅動的多態計算模型,并將多態計算與眾核相結合,但仍是圍繞通用移動計算而開展的研究。目前,面向復雜嵌入式實時系統應用,且將多態計算技術和眾核相結合的研究相對較少。因此,本文結合眾核處理機的特點,將多態計算的概念引入到眾核架構中,針對復雜嵌入式實時系統應用,建立了眾核多態實時計算模型,并從邏輯上實現了眾核的3種計算態,為快速響應不同應用任務提供了有效支撐。
在嵌入式實時系統中,主要有3類任務:一類任務是計算復雜,需要占用系統全部可用資源以保證其時間約束;一類任務可獨立并行執行;還有一類任務可被分解成若干個具有前驅后繼的子任務執行。因此根據嵌入式實時系統應用特點,本文構建了一種眾核多態實時計算模型,描述了眾核資源上的系統服務軟件及任務集,分為眾核多態任務模型和眾核多態實時服務模型。
2.1眾核多態任務模型
2.1.1相關概念
眾核多態任務模型負責接收應用任務,并按其計算需求分為單任務、多任務分區、多任務流式3種計算模式。為有效描述眾核多態任務模型,引入如下相關定義。
定義1(計算態)指眾核處理單元的核資源在不同組織形式下所對應的并行計算模式。
定義2(應用任務)應用任務是系統的宏觀行為目標。系統應用任務集由Γ={T1,T2,…,Tn}表示,?Ti∈Γ稱為一個應用任務。
定義3(多態計算任務)眾核計算平臺管理和執行的具體任務指多態計算任務,它們能夠運行于眾核處理機,且有不同計算形態。系統計算任務集由~T={PT1,PT2,…,PTm}表示,?PTi∈~T稱為一個多態計算任務。公式(1)描述了多態計算任務相關屬性。

式中,PTID為計算任務號;PTpr為計算任務的優先級,同一計算任務在不同應用任務集中的優先級由系統指派;PTtype為任務需要的計算態,PTtype=0時表示眾核以單任務計算態工作,PTtype=1時表示眾核以多任務分區計算態工作,PTtype=2時表示眾核以多任務流式計算態工作;PT~I為任務輸入數據;PT~O為任務輸出數據。
2.1.2眾核單任務計算態
單任務計算態適用于計算復雜、時間約束強的應用任務,將眾核運算單元內部的所有核資源同時分配給單一任務。單任務計算滿足:

2.1.3眾核分區計算態
分區計算態適用于多個相互獨立并行執行的應用任務。由于任務間相互獨立,對眾核資源進行劃分時,會形成不同的分區,使各任務在不同的分區內執行。


2.1.4眾核流式計算態
流式計算態適用于關聯并行處理的應用任務,任務之間由一組具有前驅后繼關系的子任務并行執行,依據計算需求及全局優化策略,將眾核資源劃分為多個分區,每個分區執行一個子任務,各子任務間通過共享存儲機制實現數據的快速交換。

其中“·”表示用多個計算步組成一個計算任務。流式計算由多個這樣的計算任務組成,每個計算任務將輸入數據流Isti經由m個計算步,最終產生輸出數據流Osti。式中“→”表示依賴關系,表示第b個計算步對第i個數據流的處理必須依賴于第a個計算步對第i個數據流的處理結果,即同一數據流必須依次執行各個具有前驅后繼關系的計算步。
2.2眾核多態實時服務模型
眾核多態實時服務模型負責屏蔽底層硬件資源的異構性,使得系統各組成部分之間可以無差別地進行數據通信。同時,為應用提供運行時系統服務,有可用資源時通過通信接口進行數據傳輸。
本文基于通信有限狀態機模型(communicating finite state machines,CFSM)[9]構建了一種多態實時服務模型,其形式化描述如下:




圖1 基于CFSM的多態實時服務模型通信過程
圖中的阻塞發送方式是指發送方一直阻塞直到所要發送數據傳輸完成后返回,非阻塞發送是指發送方在給底層協議發送數據的指令后立即返回,真正的數據傳輸由底層協議完成。
仿真測試分為2個方面:①測試眾核多態任務模型的有效性;②測試眾核多態實時服務模型的通信效率。
3.1實驗設置
1)眾核多態任務模型
眾核多態任務模型包含3種計算態,分別用于不同類型的應用任務。以加速比為衡量依據,測試多態任務模型中3種計算態的有效性。
硬件環境為眾核控制單元采用2塊Intel Sandy-Bridge E5-2609的4核CPU,每塊CPU主頻為2.4 GHz,15M緩存,眾核計算單元采用基于Kepler K20架構的GPU,時鐘頻率0.71 GHz,CUDA核心數2 496。
(1)單任務計算態:測試用例如表1所示。當同一計算任務在計算規模增大時,分別記錄運行在多核CPU和GPU上的計算時間,取加速比為多核CPU執行時間/GPU執行時間。

表1 單任務計算態測試用例
(2)多任務分區計算態:測試2個獨立的應用任務,如表2所示,一個應用任務包含6個計算任務,另一個應用任務包含32個計算任務。為驗證方便,計算任務的輸入輸出仍采用表1中的數據,當計算規模變化時,測試多個計算任務并發執行和分區執行時間,取加速比為多任務并發時間/多任務分區執行時間。

表2 多任務分區計算態測試用例
(3)多任務流式計算態:測試2個應用任務,一個由3個計算任務組成,另一個由32個計算任務組成,如表3所示。為驗證方便,計算任務的輸入輸出仍采用表1中的數據,記錄當計算規模變化時,多任務串行執行和多任務流式執行時間,加速比為多任務串行執行時間/多任務流式執行時間。

表3 多任務流式計算態測試用例
2)眾核多態實時服務模型
多態實時服務模型的作用是實現應用任務和硬件之間的通信交互,因此以通信接口的通信速率相比于理論峰值的衰減程度來測試多態實時服務性能。測試方法為使用1/5 000 s為時鐘周期,每次傳送4MB字節數據并接收到確認信息后記錄1次所用的周期數,共傳輸128MB數據。通信速率理論峰值為1.25 Gbit/s。多態實時服務運行在主控處理機上,采用Curtiss-Wright公司VPX6-185的PowerPC。
3.2實驗結果及分析
根據3.1的設置,得到眾核多態任務模型及多態實時服務模型測試結果,分別如圖1、圖2所示。

圖2 眾核多態任務模型測試結果

圖3 眾核多態實時服務模型測試結果
圖1顯示了眾核多態任務模型在以不同計算態工作時獲得的加速比,實驗結果表明:
1)眾核工作于單任務計算態時,從圖1a)中看出,當計算規模較小時,由于啟動GPU上的內核需占用一定時間,因此和多核CPU相比,獲得的加速比較小,但隨著計算規模增大,采用GPU計算單個任務可取得較高的加速比。
2)眾核工作于多任務分區計算態時,從圖1b)中看出,當任務數增多,計算規模增大,由于任務組中的某些計算任務占用了較多的計算資源,雖然不能達到最大的任務級并行,但在滿足系統負載的情況下,分區計算態可較好的適應多個獨立任務需求,縮短計算時間,提高系統對多個任務的響應速度。
3)眾核多任務流式計算態適應于多個具有前驅后繼關系的任務,從圖1c)中可以看出,隨著任務計算規模增大,任務之間需要傳送數據和同步,采用流式計算,當后續計算任務數據到達時,前驅計算任務已經完成,該計算態不僅使GPU全局存儲器充分利用,也獲得了較高的加速比。
圖2表明,多態實時服務相對于系統接口的通信速率有一定的影響,但平均衰減在12%左右,能夠保持通信的高效性。
論文結合不同類型任務需求,提出了一種眾核多態實時計算模型及3種計算態,并對所設計的模型進行了測試。測試結果表明,眾核多態實時計算模型能較好地適應復雜嵌入式實時系統的應用需求,實現快速計算,保證對不同類型任務的快速響應。
[1] Gibson D,Wood D A.Forwardflow:a Scalable Core for Power-Constrained CMPs[J].ACM SIGARCH Computer Architecture News,2010,38(3):14-25
[2] 曹仰杰,錢德沛,伍衛國,等.眾核處理器系統核資源動態分組的自適應調度算法[J].軟件學報,2012,23(2):240-252
Cao YangJie,Qian Depei,Wu Weiguo,et al.Adaptive Scheduling Algorithm Based on Dynamic Core-Resource Partitions for Many-Core[J].Journal of Software,2012,23(2):240-252(in Chinese)
[3] Anderson Boettge Pinheiro,Francisco Heron de Carvalho Junior,Neemias Gabriel Pena Batista Arruda,et al.Fusion:Abstractions for Multicore/Manycore Heterogenous Parallel Programming Using GPUs[J].Lecture Notes in Computer Science,2014, 8771:109-123
[4] Stephane Louise,Paul Dubrulle,Thierry Goubier.A Model of Computation for Real-Time Applications on Embedded Manycores[C]//2014 IEEE 8th International Symposium on Embedded Multicore/Manycore SoCs,2014:333-340
[5] Fernando J.Dynamically Reconfigurable Processing Engine for Polymorphic Embedded System[D].Martinez Vallina,Chicago, Illinois,2007
[6] Wu Yi,Zhou Xingshe,Wu Xiao,et al.An Embedded Real-Time Polymorphic Computing Platform Architecture[C]//2013 International Conference on Mechatronic Sciences,Electric Engineering and Computer,2013:2326-2330
[7] Arshdeep Bahga,Vijay K.Madisetti.A Dynamic Resource Management and Scheduling Environment for Embedded Multimedia and Communications Platforms[J].IEEE Embedded Systems Letters,2011,3(1):24-27
[8] Zhang Zhang,Swamy D.Ponpandi and Akhilesh Tyagi.An Evaluation of User Satisfaction Driven Scheduling in a Polymorphic Embedded System[C]//2014 IEEE 28th International Parallel&Distributed Processing Symposium Workshops,2014:263-268
[9] Brand D,Zafiropulo P.On Communicating Finite-State Machines[J].Journal of the ACM,1983,30(2):323-342
Design and APPlication of PolymorPhic Real-time ComPutational Model Using Many-Core Architecture
Luo Mei1,2,Zhou Xingshe1,Zhang Kailong1,Hu Yingying1
(1.Department of Computer Science and Engeenring,Northwestern Polytechnical University,Xi′an 710129,China
2.Xi′an Research Inst of Hi-Tech Hongqing Town,Xi′an 710025,China)
In order to improve the computational efficiency and fit the needs of complex embedded real time systems,the concept of polymorphic real time computing is introduced in many-core parallel architectures.A polymorphic real time computational model is designed and the concept of computating mode is proposed.The paper design and test three types of computing mode for computational model.The results and their analysis show preliminarily that the proposed model in different computing modes can obtain higher speedup under lower attenuation of communication and the response time of tasks is reduced.
computational efficiency,conceptual design,design of experiments,embedded software,intelligent systems,mathematical models,parallel architetures,real time systems,scalability;computing mode, many-core,polymorphic computing
TP399
A
1000-2758(2016)02-0338-05
2015-09-08基金項目:國家自然科學基金(61572403)與中國高校基礎研究基金(3102015JSJ0002)資助
羅眉(1978—),女,西北工業大學博士研究生,主要從事多態計算與分布式并行計算研究。