亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向通用計算GPU集群的任務(wù)自動分配系統(tǒng)

        2014-06-02 06:35:26胡新明盛沖沖李佳佳吳百鋒
        計算機工程 2014年3期
        關(guān)鍵詞:計算資源異構(gòu)編程

        胡新明,盛沖沖,李佳佳,吳百鋒

        ?

        面向通用計算GPU集群的任務(wù)自動分配系統(tǒng)

        胡新明,盛沖沖,李佳佳,吳百鋒

        (復(fù)旦大學(xué)計算機科學(xué)技術(shù)學(xué)院,上海 201023)

        當前GPU集群的主流編程模型是MPI與CUDA的松散耦合,采用這種編程模型進行編程,存在編程復(fù)雜度大、程序的可移植性差、執(zhí)行效率低等問題。為此,提出一種面向通用計算GPU集群的任務(wù)自動分配系統(tǒng)StreamMAP。對編譯器進行改造,以編譯制導(dǎo)的方式提供集群任務(wù)的計算資源需求,通過運行時系統(tǒng)動態(tài)地發(fā)現(xiàn)、建立并維護系統(tǒng)資源拓撲,設(shè)計一種較為契合GPU集群應(yīng)用特征的任務(wù)分配策略。實驗結(jié)果表明,StreamMAP系統(tǒng)能降低集群應(yīng)用程序的編程復(fù)雜度,使之較為高效地利用GPU集群的計算資源,且程序的可移植性和可擴展性也得到了保證。

        GPU集群;異構(gòu);編程模型;任務(wù)分配;可移植性;可擴展性

        1 概述

        采用具有大規(guī)模并行計算能力的GPU作為異構(gòu)加速設(shè)備的GPU集群在科學(xué)計算領(lǐng)域得到了廣泛的研究和應(yīng)用。文獻[1]采用GPU集群作為底層運行平臺來加速流計算應(yīng)用。文獻[2]將分子生物學(xué)中蛋白質(zhì)分子場的計算程序并行化,使之能夠在GPU集群上加速執(zhí)行。此外,GPU集群在仿真學(xué)[3]和分子動力學(xué)[4]等領(lǐng)域也有大量應(yīng)用實現(xiàn)。研究結(jié)果表明,對于具有數(shù)據(jù)密集型計算的應(yīng)用,相比較于傳統(tǒng)的計算平臺,GPU集群能夠提供充分的計算能力,并帶來可觀的性能加速比。

        GPU的加入使得GPU集群呈現(xiàn)節(jié)點內(nèi)部資源的異構(gòu)化,單個節(jié)點內(nèi)部不僅可以包含單核CPU、多核CPU,甚至GPU計算資源,而且包含了單GPU或者多GPU。GPU作為面向大規(guī)模數(shù)據(jù)并行計算的計算資源使得GPU集群的并行計算能力呈現(xiàn)多層次化。GPU集群不僅能夠支持常規(guī)粒度的單程序多數(shù)據(jù)(Single Program Multiple Date, SPMD)和多程序多數(shù)據(jù)(Multiple Program Multiple Date, MPMD)計算能力,而且可以支持更細粒度的面向大規(guī)模數(shù)據(jù)的SPMD和單指令多數(shù)據(jù)(Single Instruction Multiple Data, SIMD)計算能力。GPU集群這種異構(gòu)計算資源和多層次并行計算能力給并行程序設(shè)計帶來了巨大的困難。

        為了更好地對GPU集群這種異構(gòu)計算平臺[5]進行編程,學(xué)術(shù)界在編程模型方面進行了大量的研究。文獻[6]和文獻[7]對基于SMP體系結(jié)構(gòu)的并行編程模型MPI+openMP進行了初步的探索。文獻[8]對現(xiàn)有的消息傳遞系統(tǒng)進行了擴充,以使其能夠更好地適應(yīng)GPU加入集群帶來的通信要求。當前主流的GPU集群編程模型是MPI+CUDA[9],這種編程模給程序員提供了一種使用異構(gòu)計算資源和發(fā)揮GPU集群多層次并行的能力,但是它不能充分地契合GPU集群系統(tǒng)體系結(jié)構(gòu),并將由此帶來編程復(fù)雜度大、程序可移植性差、執(zhí)行效率低等問題。為此,本文設(shè)計并實現(xiàn)了面向節(jié)點異構(gòu)GPU集群的任務(wù)自動分配系統(tǒng)StreamMAP,StreamMAP系統(tǒng)包含語言擴展(編譯器前端)和運行時系統(tǒng)2個部分,以在自動且高效地將集群任務(wù)映射到計算節(jié)點的同時,降低編程復(fù)雜度并提高程序的可移植性。

        2 GPU集群體系結(jié)構(gòu)

        在科學(xué)計算領(lǐng)域,GPU已經(jīng)成為主流加速部件,各種不同規(guī)模的GPU集群應(yīng)運而生。例如NCSA部署的2套基于Tesla s1070系列的GPU集群Lincoln[10]和AC[11]。 Lincoln有192個節(jié)點,每個節(jié)點包含2個四核CPU。每 2個節(jié)點共享1個Tesla s1070 GPU,節(jié)點之間通過SDR INFINIBAND總線進行互連。AC包含32個節(jié)點,每個節(jié)點包含2個雙核CPU和1個Tesla s1070系列GPU。上述GPU集群至部署以來已經(jīng)成功地完成了大量的科學(xué)計算工作,其性能、穩(wěn)定性、可靠性都得到了良好的證實。

        上述GPU集群計算資源不僅包含CPU還包含GPU,這樣集群系統(tǒng)本身就是系統(tǒng)層面異構(gòu)的。但因為每個節(jié)點的資源配置完全一致,所以集群系統(tǒng)在節(jié)點層面仍然是同構(gòu)的。然而出于很多原因,在現(xiàn)實系統(tǒng)中的很多GPU集群都是節(jié)點異構(gòu)的。

        典型的GPU集群系統(tǒng)體系結(jié)構(gòu)如圖1所示。在節(jié)點異構(gòu)GPU系統(tǒng)中,每個節(jié)點可以有一個或多個GPU,也可以沒有GPU。隨著CPU和GPU的發(fā)展以及集群節(jié)點擴展,新的高性能CPU和GPU加入到GPU集群中,集群的異構(gòu)程度進一步加強??梢灶A(yù)見,在未來,節(jié)點異構(gòu)GPU集群將成為高性能計算領(lǐng)域的主流系統(tǒng)。

        圖1 GPU集群體系結(jié)構(gòu)

        3 MPI+CUDA編程模型

        消息傳遞接口MPI[12]是一種標準化可移植的消息傳遞系統(tǒng),主要用于基于分布式內(nèi)存的并行計算機或集群系統(tǒng)。MPI是為了編寫消息傳遞程序而開發(fā)的廣泛使用的標準。通過編寫配置文件可以自定義地將邏輯進程分配到具體的物理執(zhí)行節(jié)點去運行。

        計算統(tǒng)一設(shè)備架構(gòu)CUDA是NVIDIA公司研發(fā)的一種針對面向通用計算GPU的并行計算架構(gòu)。通過對C語言進行的擴展和限制,CUDA為GPU異構(gòu)計算環(huán)境提供了一種抽象的編程模型。在這種編程模型中,GPU和CPU分別被稱為device和host。CUDA程序包括2個部分,一部分在CUDA設(shè)備上執(zhí)行,稱之為內(nèi)核(kernel),另一部分在CPU上運行,稱之為主機進程(host process),兩者通過GPU全局內(nèi)存共享和交換數(shù)據(jù)。

        當前HPC領(lǐng)域GPU集群的主流編程模型是MPI與CUDA的松散耦合,構(gòu)成一個可行的GPU集群系統(tǒng)并行編程模型MPI+CUDA。

        圖2為MPI+CUDA編程模型系統(tǒng)框圖,MPI主要負責進程的顯示劃分和進程間的通信,CUDA負責GPU面向數(shù)據(jù)級并行程序的設(shè)計和實現(xiàn)。

        圖2 MPI+CUDA編程模型

        4 系統(tǒng)設(shè)計與實現(xiàn)

        4.1 系統(tǒng)模型

        采用MPI編程模型之所以會有編程難度大、可移植性差、程序執(zhí)行低效等缺點,是因為盡管每個任務(wù)都有可能是一個CUDA并行程序,需要在GPU上執(zhí)行,但MPI系統(tǒng)以一種平坦的視角對待每一個進程,即無論是純CPU任務(wù)還是CPU-GPU任務(wù),MPI系統(tǒng)并不關(guān)心每個任務(wù)的細節(jié)信息和其對于資源的需求。同樣在MPI集群系統(tǒng),系統(tǒng)中的每個節(jié)點對于MPI系統(tǒng)來說也是透明的,MPI并不關(guān)心這個節(jié)點的資源狀況。無論是集群任務(wù)對于資源的需求還是每個節(jié)點的資源情況,對于MPI運行時系統(tǒng)都是透明的,即無法進行自動高效的任務(wù)分配。

        通過提供編譯制導(dǎo)指令和運行時系統(tǒng),StreamMAP系統(tǒng)很好地解決了MPI系統(tǒng)的這2個盲點。StreamMAP系統(tǒng)模型如圖3所示。

        圖3 StreamMAP系統(tǒng)模型

        StreamMAP對于傳統(tǒng)的并行編程模型進行了2個層面的擴展:

        (1)通過對C語言編譯器進行擴展,向應(yīng)用程序員提供編譯制導(dǎo)指令。通過編譯制導(dǎo)的方式,程序員可以在程序中顯示地表達任務(wù)的計算資源需求。StreamMAP系統(tǒng)提供一個編譯器前端對編譯制導(dǎo)指令進行解析。使用編譯制導(dǎo)的好處在于,即使在原始編譯器環(huán)境下,程序仍然可以正確地編譯執(zhí)行。

        (2)StreamMAP運行時系統(tǒng)完成系統(tǒng)資源的自動發(fā)現(xiàn),建立并維護系統(tǒng)資源數(shù)據(jù)庫,并根據(jù)集群任務(wù)的資源需求,進行有效的任務(wù)分配,最終通過生成MPI執(zhí)行配置文件,完成集群任務(wù)到計算節(jié)點的映射。

        4.2 設(shè)計目標

        StreamMAP的目的是為各種不同的GPU集群體系結(jié)構(gòu)提供一個通用的、高效的編程環(huán)境。系統(tǒng)的設(shè)計與實現(xiàn)主要考慮了如下方面:

        (1)可編程性:應(yīng)用程序員只需要設(shè)計邏輯上任務(wù)劃 分和進程間通信的關(guān)系,而任務(wù)的具體運行位置則由StreamMAP系統(tǒng)自動完成。這樣應(yīng)用程序員無需了解底層的體系結(jié)構(gòu)細節(jié),就實現(xiàn)了邏輯設(shè)計與物理運行的分離。這種系統(tǒng)結(jié)構(gòu)層面的抽象簡化了程序員編程的難度。

        (2)可移植性:StreamMAP系統(tǒng)自動完成集群系統(tǒng)資源的發(fā)現(xiàn)與分配,應(yīng)用程序員無需了解底層節(jié)點資源狀況。當集群節(jié)點資源拓撲結(jié)構(gòu)發(fā)生變化時,應(yīng)用程序無需做任何修改即可在新的環(huán)境中正確、高效地運行。

        (3)高效性:StreamMAP系統(tǒng)采用有效的任務(wù)分配策略,使得對于計算資源需求不同的邏輯進程能夠高效地映射到異構(gòu)的物理節(jié)點上,保證了集群系統(tǒng)計算能力得到最大程度的利用。

        (4)可擴展性:集群平臺環(huán)境對于程序員來說是透明的,系統(tǒng)資源的發(fā)現(xiàn)和任務(wù)的分配都由StreamMAP系統(tǒng)自動完成,這使得其在應(yīng)用程序是高度可擴展的。

        4.3 系統(tǒng)實現(xiàn)

        如圖3的系統(tǒng)模型所示,StreamMAP包含任務(wù)分析模塊、系統(tǒng)監(jiān)控模塊和任務(wù)自動分配模塊3個部分。

        (1)編譯制導(dǎo)是一種通過對編譯器進行改造,提供對某些自定義編譯指令的支持以實現(xiàn)某種自定義條件編譯的技術(shù)。在正式編譯開始之前,編譯指令指示編譯器完成某項工作(通常是預(yù)處理工作)。編譯指令的解析需要編譯器的支持,但如果采用原始的編譯器進行編譯,將會忽略編譯偽指令,也可以完成編譯工作。openMP、openACC[13]等并行編程技術(shù)都采用編譯制導(dǎo)的方式對傳統(tǒng)的串行程序語言進行了相應(yīng)的擴展,使之能夠支持并行程序的設(shè)計與實現(xiàn)。StreamMAP任務(wù)分析模塊通過提供編譯器前端解析程序員提供的編譯制導(dǎo)信息,分析并存儲所有集群任務(wù)的計算資源需求狀況。StreamMAP系統(tǒng)編譯制導(dǎo)指令格式為:#pragma streamap directive [clause[[,]clause]…] new-line。當前實現(xiàn)的資源指令語法格式為:#pragma streamap resource [tasknum:res[[,]tasknum:res]…] new-line。資源指令表達了集群任務(wù)對于資源的需求狀況,其中,tasknum為任務(wù)編號,對應(yīng)于MPI+CUDA編程模型中的進程編號;res可以是 C/c,表示任務(wù)為純CPU任務(wù)(不需要GPU加速設(shè)備的支持),也可以是G/g,表示任務(wù)中含有大規(guī)模并行的cuda kernel程序,需要在GPU設(shè)備上運行。為便于使用,任務(wù)分析指令的解析支持正則表達式實現(xiàn)。

        (2)StreamMAP系統(tǒng)監(jiān)控模塊包含一個控制節(jié)點和多個計算節(jié)點,控制節(jié)點本身也可以是計算節(jié)點,并作為進行任務(wù)分配的單位。在StreamMAP系統(tǒng)啟動和更新期間,控制節(jié)點向所有計算節(jié)點發(fā)送資源發(fā)現(xiàn)請求消息,每個計算節(jié)點中運行StreamMAP的資源發(fā)現(xiàn)模塊,通過相關(guān)操作系統(tǒng)調(diào)用和一系列GPU設(shè)備查詢例程獲取本節(jié)點資源信息并反饋給控制節(jié)點,由控制節(jié)點存儲并更新所有集群節(jié)點的各種資源信息。StreamMAP運行時系統(tǒng)基于MPI消息傳遞系統(tǒng),完成對所有集群節(jié)點的輪詢,記錄并維護所有節(jié)點反饋的系統(tǒng)資源信息,包括CPU資源、GPU資源、系統(tǒng)通信拓撲等。

        圖4為基于StreamMAP系統(tǒng)的邏輯結(jié)構(gòu)和軟硬件層次模型。其中,控制節(jié)點基于MPI scatter模式向各個計算節(jié)點發(fā)送資源的發(fā)現(xiàn)請求消息,在每個計算節(jié)點的內(nèi)部StreamMAP運行時系統(tǒng)完成CPU、GPU、通信拓撲等系統(tǒng)資源的發(fā)現(xiàn)。然后所有的這些資源信息以MPI reduce模式聚集到控制節(jié)點,控制節(jié)點以此建立并維護系統(tǒng)資源數(shù) 據(jù)庫。

        圖4 StreamMAP運行時系統(tǒng)

        (3)在完成任務(wù)資源需求分析和系統(tǒng)資源發(fā)現(xiàn)的基礎(chǔ)上,StreamMAP運行時系統(tǒng)中的任務(wù)分配模塊自動地完成集群任務(wù)到物理計算節(jié)點的映射。現(xiàn)實中大量的集群應(yīng)用存在廣泛的差異性,一種單一的任務(wù)劃分方式或是任務(wù)分配算法很難保證具體的應(yīng)用能夠最高效地在集群環(huán)境中運行。為了滿足集群任務(wù)的資源需求并兼顧系統(tǒng)的負載均衡狀況,同時保證系統(tǒng)的通用性,本文采用了較為簡單和典型的Round-Robin資源輪詢算法,并有差異性地區(qū)分GPU和CPU計算資源。即相比較于CPU能支持多任務(wù)并發(fā)和搶占執(zhí)行等機制,本文系統(tǒng)將GPU視為不可搶占資源,并因此在任務(wù)分配時優(yōu)先考慮分配CPU-GPU類任務(wù),以滿足此類任務(wù)的資源需求。即在第1次分配中只考慮CPU-GPU類任務(wù),選擇具有GPU加速器的計算節(jié)點并考慮這類節(jié)點的負載情況,并將任務(wù)分配到負載較小的節(jié)點。第2次分配時,所有需要在GPU設(shè)備上執(zhí)行的任務(wù)已經(jīng)分配完畢,這時僅需要考慮純CPU類任務(wù)和所有計算節(jié)點,具體分配算法和CPU-GPU類任務(wù)的分配相同。

        5 實驗結(jié)果與分析

        5.1 實驗環(huán)境

        在本文實驗中,現(xiàn)實系統(tǒng)是系統(tǒng)和節(jié)點層面異構(gòu)的GPU集群DISPAR,集群平臺包括4個節(jié)點,系統(tǒng)拓撲結(jié)構(gòu)如圖5所示,node0、node1主機為DELL T410服務(wù)器,分別包含XEON 5606四核CPU以及內(nèi)置的1個NVIDIA C2075 GPU。node2、node3是2臺DELL T5600工作站,內(nèi)置雙核CPU。考慮到設(shè)備成本較大,而且本文實驗重點驗證StreamMAP系統(tǒng)所實現(xiàn)的任務(wù)分析、系統(tǒng)監(jiān)控和任務(wù)自動分配等功能性目標,并不追求極致的計算和通信速度,DISPAR集群系統(tǒng)沒有采用相當于萬兆以太網(wǎng)的高速互聯(lián)設(shè)備INFINIBAND,而是采用1 000M以太網(wǎng)代替。

        圖5 DISPAR集群拓撲結(jié)構(gòu)

        所有節(jié)點運行64位ubuntu 10.04 LTS操作系統(tǒng),MPI選擇支持多種體系結(jié)構(gòu)的MPICH2開源實現(xiàn)。NVIDIA driver版本是285.05.33,CUDA Toolkt版本為4.1,CUDA SDK版本為4.1,用于開發(fā)的GCC的版本是4.4.3。

        實驗采用的集群應(yīng)用樣例程flowComput共包含12個任務(wù),其中,task0~task7為純CPU任務(wù);task8~task11為CPU-GPU任務(wù)。

        5.2 結(jié)果分析

        圖6是通過StreamMAP系統(tǒng)最終生成的flowCompute執(zhí)行配置文件,配置文件的前2列是待執(zhí)行集群任務(wù)的數(shù)目,中間2列表示這些任務(wù)執(zhí)行的具體集群節(jié)點,最后 1列這是集群應(yīng)用的執(zhí)行程序和數(shù)據(jù)映像。因為在配置文件格式中,任務(wù)的編號默認是按照行的順序進行遞增,所以這實際上是建立了集群任務(wù)到計算節(jié)點的一個映射。如圖6所示,第1列表示將task0分配在node0上執(zhí)行,第2列表示將task1在分配node1上執(zhí)行,以此類推。

        圖6 MPI執(zhí)行配置文件

        表1為本文實驗中MPI和StreamMAP這2種調(diào)度方案的任務(wù)分配結(jié)果,可見MPI采用了一種簡單的隨機分配方案,任務(wù)按照編號依次地分配到各個節(jié)點。其中,MPI運行時調(diào)度系統(tǒng)忽略了任務(wù)10、任務(wù)11對于GPU計算資源的需求,而將這2個具有大規(guī)模數(shù)據(jù)并行的任務(wù)分別分配到?jīng)]有配備GPU加速器的普通計算節(jié)點2和節(jié)點3。在采用MPI+CUDA,乃至其他包含異構(gòu)GPU內(nèi)核程序的主流GPU集群編程模型中,這種分配方案使得集群應(yīng)用無法在異構(gòu)GPU集群平臺上正確地運行。而采用StreamMAP的分配方案中,4個CPU-GPU類任務(wù)task8~task11分別被分配到具有并行計算能力的GPU節(jié)點node0和node1,而純CPU任務(wù)task0~task7則被均勻地分配到集群中的各個節(jié)點。所有任務(wù)的計算資源需求都得到了滿足,因此相比之下,streamMAP更能夠契合GPU集群的體系結(jié)構(gòu)特征。

        表1 2種方案任務(wù)的分配結(jié)果

        為了能夠?qū)PI運行時調(diào)度方案和StreamMAP調(diào)度方案進行性能比較,首先需要使得采用MPI運行時系統(tǒng)的集群應(yīng)用程序能夠在GPU集群上正確運行,為此使用openACC跨平臺編譯制導(dǎo)指令對本文實驗中所用到的集群應(yīng)用進行重寫。使用OpenACC編譯制導(dǎo)指令的好處在于,如果一個具有大規(guī)模數(shù)據(jù)并行性的CPU-GPU任務(wù)沒有獲得其執(zhí)行所需要的GPU計算資源,就會通過相應(yīng)的回滾(fallback)操作在CPU處理器上執(zhí)行。

        表2是上述2種調(diào)度方案的運行時間開銷。可以看出,在MPI運行時調(diào)度方案中,節(jié)點2和節(jié)點3因為沒有配備GPU計算資源,所以其上運行的task10、task11必須通過回滾操作在CPU上運行,這大大地增加了運行時間開銷。而采用StreamMAP調(diào)度方案的各個節(jié)點的負載更加均衡,沒有明顯的性能瓶頸。在本文實驗中,采用StreamMAP調(diào)度方案帶來了約26x的整體性能提升。

        表2 2種方案運行時間開銷的對比 s

        上述所有工作都是由StremMAP系統(tǒng)自動完成的,程序員無需了解底層GPU集群體系結(jié)構(gòu)的細節(jié),降低了集群程序設(shè)計者的編程負擔,同時這樣的程序也具有廣泛的可移植性和可擴展性。

        6 結(jié)束語

        本文設(shè)計并實現(xiàn)了StreamMAP系統(tǒng),從預(yù)編譯和運行時2個層面對現(xiàn)有的集群編程模型hybrid MPI/CUDA進行了改進,使之能夠較好地契合GPU集群體系結(jié)構(gòu)特征。與傳統(tǒng)的hybrid MPI/CUDA編程模型相比,StreamMAP系統(tǒng)有效地降低了集群應(yīng)用程序的編程復(fù)雜度,并保證了程序的可移植性和可擴展性。此外,StreamMAP提供了一個系統(tǒng)性的框架,開發(fā)者可以在此基礎(chǔ)上設(shè)計針對于具體集群應(yīng)用特征的任務(wù)劃分方式和分配算法,這也是后續(xù)工作的重點。

        [1] Jacobsen D A, Thibault J C, Senocak I. An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters[C]//Proc. of the 48th AIAA Aerospace Sciences Meeting and Exhibit. Orlando, USA: [s. n.], 2010: 1065-1072.

        [2] 張 繁, 王章野, 姚 建, 等. 應(yīng)用GPU集群加速計算蛋白質(zhì)分子場[J]. 計算機輔助設(shè)計與圖形學(xué)學(xué)報, 2010, 22(3): 412-419.

        [3] 龍桂華, 趙宇波. 三維交錯網(wǎng)格有限差分地震波模擬的GPU集群實現(xiàn)[J]. 地球物理學(xué)進展, 2011, 26(6): 1938-1949.

        [4] 蘇麗麗. 基于CPU-GPU集群的分子動力學(xué)并行計算研 究[D]. 大連: 大連理工大學(xué), 2009.

        [5] 朱曉敏, 陸配忠. 異構(gòu)集群系統(tǒng)中安全關(guān)鍵實時應(yīng)用調(diào)度研究[J]. 計算機學(xué)報, 2010, 33(12): 2364-2377.

        [6] 陳 勇, 陳國良, 李春生, 等. SMP機群混合編程模型研究[J]. 小型微型計算機系統(tǒng), 2004, 25(10): 1763-1767.

        [7] 王惠春, 朱定局, 曹學(xué)年, 等. 基于SMP集群的混合并行編程模型研究[J]. 計算機工程, 2009, 35(3): 271-273.

        [8] Phillips J C, Stone J E, Schulten K. Adapting a Message- driven Parallel Application to GPU-accelerated Clusters[C]// Proc. of ACM/IEEE Conference on Supercomputing. Piscataway, USA: IEEE Press, 2008: 81-89.

        [9] 許彥芹,陳慶奎. 基于SMP集群的MPI+CUDA模型的研究與實現(xiàn)[J]. 計算機工程與設(shè)計, 2010, 31(15): 3408-3412.

        [10]University of Illinois at Urbana-Champaign. Accelerator Cluster Webpage[EB/OL]. [2013-03-12]. http://iacat.illinois. edu/resources/cluster/.

        [11] National Center for Supercomputing Applications. Intel 64 Tesla Linux Cluster Lincoln Webpage[EB/OL]. [2013-03-18]. http://www.ncsa.illinois.edu/UserInfo/Resources/Hardware/Intel64TeslaCluster/.

        [12] Message Passing Interface Forum. MPI: A Message-passing Interface Standard[EB/OL]. [2013-02-10]. http://www.mcs.anl. gov/rresearch/projects/mpi/.

        [13] OpenACC Forum. OpenACC.1.0.pdf[EB/OL]. [2013-02-20]. http://openacc.org/Downloads.

        編輯 任吉慧

        Automatic Task Assignment System of General Computing Oriented GPU Cluster

        HU Xin-ming, SHENG Chong-chong, LI Jia-jia, WU Bai-feng

        (School of Computer Science,Fudan University, Shanghai 201203, China)

        MPI+CUDA are the mainstream programming models of current GPU cluster architecture. However, by using such a low level programming model, programmers require detailed knowledge of the underlying architecture, which exerts a heavy burden. Besides, the program is less portability and inefficient. This paper proposes StreamMAP, an automatic task assignment system on GPU clusters. It provides powerful, yet concise language extension suitable to describe the compute resource demands of cluster tasks. It develops a run time system to maintain resource information, and supplies an automatic task assignment for GPU cluster. Experiments show that StreamMAP provides programmability, portability and scalability for GPU cluster application.

        GPU cluster; heterogeneous; programming model; task assignment; portability; scalability

        1000-3428(2014)03-0103-05

        A

        N945

        胡新明(1989-),男,碩士研究生,主研方向:面向GPU的大規(guī)模并行計算;盛沖沖、李佳佳,碩士研究生;吳百鋒,教授。

        2013-02-27

        2013-04-18 E-mail:10210240001@fudan.edu.cn

        10.3969/j.issn.1000-3428.2014.03.021

        猜你喜歡
        計算資源異構(gòu)編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        試論同課異構(gòu)之“同”與“異”
        基于模糊規(guī)劃理論的云計算資源調(diào)度研究
        改進快速稀疏算法的云計算資源負載均衡
        基于Wi-Fi與Web的云計算資源調(diào)度算法研究
        耦合分布式系統(tǒng)多任務(wù)動態(tài)調(diào)度算法
        overlay SDN實現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
        无人区乱码一区二区三区 | www.尤物视频.com| 黄色潮片三级三级三级免费| 亚洲午夜精品一区二区| 欧妇女乱妇女乱视频| 欧美久久久久中文字幕| 亚洲一区二区三区视频免费| 色综合久久中文字幕综合网| 国产青草视频在线观看| 久久福利青草精品资源| 亚洲av中文字字幕乱码软件| 国产日产精品_国产精品毛片| 伊人狠狠色丁香婷婷综合| 久久99热精品免费观看欧美| 白白色日韩免费在线观看| 免费人成在线观看视频高潮| 免费人成视频在线观看网站| 99久久综合国产精品免费| 一区二区三区四区黄色av网站 | 欧美伦费免费全部午夜最新| 中文字幕乱码免费视频| A阿V天堂免费无码专区| 亚洲最大av在线精品国产| 国产偷久久久精品专区| 国产精品天堂| 日本黑人人妻一区二区水多多| 亚洲视频在线一区二区| 久久精品女人天堂av| 精品无码成人片一区二区| 国产免费操美女逼视频| 少妇激情一区二区三区视频| 91高清国产经典在线观看 | 激情久久黄色免费网站| 人妻aⅴ中文字幕| 国产一级毛片卡| 国产午夜激情视频在线看| 国产精品久久精品第一页| a在线观看免费网站大全| 黄色网页在线观看一区二区三区| 中文字幕一区二区精品视频 | 91精品福利观看|