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

        ?

        并行應(yīng)用程序調(diào)度策略研究*

        2012-08-09 08:07:52李愛玲彭云峰
        電子器件 2012年4期
        關(guān)鍵詞:異構(gòu)應(yīng)用程序粒度

        李愛玲,王 璐,彭云峰

        (安陽工學(xué)院計算機科學(xué)與信息工程系,河南 安陽 455000)

        并行軟件被廣泛應(yīng)用于大規(guī)??茖W(xué)計算領(lǐng)域,其編程過程通常非常繁瑣,而且不利于維護和重用,導(dǎo)致其生產(chǎn)效率不高[1]。并行組件的提出使得并行軟件效率提高有了新途徑。并行組件是用于并行結(jié)構(gòu)的軟件,美國研究人員專門為并行組件問題創(chuàng)辦了通用組件體系結(jié)構(gòu)(CCA)論壇[2]。CCA 定義了科學(xué)接口定義語言[3]。這種語言增強了不同語言編寫的組件之間的互操作性。文獻[4]提供了一種自適應(yīng)的組件機制[4],這種機制可以為某些硬件資源選擇合適的組件。文獻[5]中定義了并行組件的概念,并將組件定義分層為抽象層和應(yīng)用層,系統(tǒng)闡述了并行組件組成,并使其組合可預(yù)測。文獻[6]描述了并行系統(tǒng)的多范例特征[6],它提高了開發(fā)并行應(yīng)用程序的效率,以上研究是現(xiàn)有并行組件技術(shù)的代表。調(diào)度策略方面一般從并行應(yīng)用著手,針對集群和網(wǎng)格資源的管理,用分析任務(wù)圖的方法生成,用遺傳算法或退火算法分析[7],但這使并行組件在異構(gòu)平臺上的應(yīng)用變得復(fù)雜。

        以上研究均缺乏對范例、粒度大規(guī)模并行系統(tǒng)的考慮,這可能會影響到異構(gòu)平臺的性能和資源使用。而且現(xiàn)行的計算模型通常由數(shù)據(jù)并行,任務(wù)并行,串行等構(gòu)成,模型的執(zhí)行驗證對程序的形式化描述和對預(yù)測起到了重要的指導(dǎo)作用。根據(jù)以上原則,本文從高性能并行計算的角度提出多范例、多粒度架構(gòu),將并行應(yīng)用程序描述為并行組件的組合,并為其編寫運行范式和編程范式,通過部署、調(diào)度定義組件的粒度,由資源管理系統(tǒng)負(fù)責(zé)異構(gòu)平臺的資源管理,用優(yōu)化的窮舉法生成調(diào)度策略。

        1 組件體系結(jié)構(gòu)

        鑒于CCA 是一個相對正規(guī)的標(biāo)準(zhǔn),組件模型基于CCA 平臺設(shè)立。組件體系結(jié)構(gòu)由五個層次組成:組件層、CCA 原型構(gòu)架層、調(diào)度層、資源管理層和異構(gòu)平臺層。組件層包含一些CCA 并行組件,每個組件都有其范例和粒度描述;CCA 原型構(gòu)架層[8],是一個CCA 的組件的分布式框架,它為組件的連接提供必要的服務(wù);調(diào)度層,負(fù)責(zé)生成并執(zhí)行應(yīng)用程序的調(diào)度策略;資源管理層負(fù)責(zé)監(jiān)控異構(gòu)平臺的資源使用狀況,每個資源都模擬一個C++對象,此處不使用Java 對象[2],是因為Java 虛擬機影響性能[9];異構(gòu)平臺層,負(fù)責(zé)調(diào)控并行組件所需的資源。圖1 以一個地理圖像過程應(yīng)用為例給出了它們之間關(guān)系的簡要描述。

        圖1 組件體系結(jié)構(gòu)

        1.1 組件層

        在這一層,我們?yōu)閼?yīng)用程序定義了標(biāo)準(zhǔn)并行組件。一個標(biāo)準(zhǔn)的并行組件是在應(yīng)用程序中具有特定功能的CCA 并行組件,且在執(zhí)行過程中不會調(diào)用其它組件,它是基于應(yīng)用程序的并行組件中最小組成單位。標(biāo)準(zhǔn)并行組件的運行范式如下:如果r 的值是“s”,該組件以串行的方式運行。如果是“p”,則并行運行。不同的進程均以消息傳遞的方式相互聯(lián)系。當(dāng)組件在不同的并行線程運行時,如果r 的值為“ps”,不同線程之間靠共享內(nèi)存信息通信。t 表示標(biāo)準(zhǔn)并行組件的編程范式。如果r 的值是“s”,t 可以是“C”、“Java”、“Fortran77”或其它串行高級語言。如果r 是“p”,t 可以是“C +MPI”[10],“F90+MPI”或其它消息傳遞并行編程范例。如果r 是“ps”,t 可以是“HPT”、“C+OpenMP”[11]或其它內(nèi)存共享并行編程范式。例如,標(biāo)準(zhǔn)的CCA 并行組件,r=p,t=C+MPI 是用C 語言編寫的一個組件,組件內(nèi)不同進程間的聯(lián)系靠MPI。

        我們定義了三個不同的粒度。粗粒度并行指以上定義的運行范例的不同實例并行運行,這意味著兩個或兩個以上運行范例并行執(zhí)行,這些實例可以是不同的實例相同的模式,或不同模式的實例。例如,在CCA SCMD 組件中,相同組件的不同實例粗粒度并行執(zhí)行。中粒度并行指在一個并行運行范例內(nèi)部并行運行的實例。例如,在OpenMP 下并行執(zhí)行不同的線程就是中粒度并行。精粒度并行需要特別指出,它是串行執(zhí)行的,不允許并行執(zhí)行。如果一個組件包括一些粗粒度并行模塊,我們就說他是粗粒度并行的。一個組件包括中粒度并行模塊且無粗粒度并行模塊稱之為中粒度并行。其它即為精粒度并行。

        1.2 CCA 原型架構(gòu)層

        本層使標(biāo)準(zhǔn)并行組件組合成復(fù)合并行組件,進而所有這些組件組合成一個應(yīng)用程序。我們將此組合消息存入XML 文件內(nèi),范例和組件層的描述也存放在這些XML 文件內(nèi)。

        圖2 是一個并行組件實例。它描述的是圖1 提到的地理圖像處理的應(yīng)用程序過程。

        圖2 并行組件構(gòu)成

        1.3 資源管理層和異構(gòu)平臺層

        在調(diào)度層之前先介紹這兩層是由于調(diào)度層需要從這兩層獲取資源信息。異構(gòu)平臺由四組不同的集群組成,分別如下:

        (1)第1 組是SMP(Symmetric Multiprocessing 對稱多處理)集群。它由37個SMP 服務(wù)器組成。每個SMP 服務(wù)器都是一個雙核Intel Xeon 處理器,屬于對稱多處理器。

        (2)第2 組是多核服務(wù)器群集,包含6個多核服務(wù)器。其中兩個為4 ×4 核Intel Xeon E7320 處理器,兩個4 ×4 核AMD Opteron 8347 HE 處理器,一個CPU-GPU[12]多核服務(wù)器,一個AMD 多核服務(wù)器。

        (3)第3 組是PS3(PlayStation 3)集群,由16個PS3 組成,是非常強大的矢量運算器。

        (4)第4 組是PC 工作站集群,約80個PC 工作站分布這個集群內(nèi)。

        異構(gòu)平臺由這4 組集群通過以太網(wǎng)連接,每個集群都有其自己的特點:SMP 集群針對MOI 任務(wù),不同的進程可以運行在不同的SMP 服務(wù)器上,它們通過消息庫傳遞消息。多核服務(wù)器集群處理OpenMP 任務(wù)非常得力,不同的OpenMP 線程在多核服務(wù)器上并行運行,通過共享內(nèi)存進行通信。PS3 的群集執(zhí)行矢量運算速度遠(yuǎn)遠(yuǎn)超過其它機器,偶爾也用顯卡處理矢量運算。PC 工作站集群用來處理時間限制不是很苛刻的任務(wù)。資源管理層將這些平臺上的資源看為C++對象來模擬,它們屬于繼承層次結(jié)構(gòu)。

        1.4 調(diào)度層

        調(diào)度層是架構(gòu)的核心層,它從資源管理層獲取資源信息,從XML 文件獲取范例和粒度描述。關(guān)于調(diào)度做以下假設(shè):

        (1)粗粒度并行組件在某個集群上運行。

        (2)中粒度并行組件在機器節(jié)點上運行。

        (3)精粒度并行組件在處理器上運行,如果是多核處理器則在其核心處理器上運行。

        (4)對于粗粒度并行組件,如果它包含OpenMP任務(wù),它將會首先被多核服務(wù)器集群調(diào)度。如果是用Cell BE 編程又涉及大量的矢量運算,則由PS3集群調(diào)度,否則被SMP 集群調(diào)度。

        (5)對于中粒度并行組件,如果它包含的OpenMP 任務(wù),將首先考慮多核服務(wù)器調(diào)度。如果是用Cell BE 編程又涉及大量的矢量運算,則某個PS3 機調(diào)度,否則被某個SMP 服務(wù)器調(diào)度。

        (6)如果精粒度并行組件用PowerPC 指令編寫,則被某個PS3 機調(diào)度。否則它將被多核服務(wù)器調(diào)度。

        (7)如果組件包含GPU 指令,過程或線程將被CPU-GPU 多核服務(wù)器調(diào)度執(zhí)行這些指令。

        (8)如果組件完成指令有時間要求且并非Cell BE 語言編寫,無GPU 指令,則優(yōu)先考慮被PC 工作站調(diào)度。

        規(guī)則(1),(2),(3)和(7)必須嚴(yán)格遵守。規(guī)則(4)-(6)組件首先考慮在多核服務(wù)器上調(diào)度,如多核服務(wù)器忙,則可被SMP 調(diào)度。

        根據(jù)以上規(guī)則和范例及粒度描述信息,調(diào)度策略引擎為組件運行生成所有可能的調(diào)度信息,這類似于窮舉法。由于上述調(diào)度規(guī)則的規(guī)定,使得調(diào)度方法有窮且可用,從而可在這些有窮的方法內(nèi)選出最優(yōu)策略。所有調(diào)度策略發(fā)送到性能估計引擎,由性能估計引擎估算出每個策略所需的性能成本。我們將標(biāo)準(zhǔn)并行組件的計算和通信代價分類,計算成本可通過分析模型和微基準(zhǔn)[13]估算。通信成本包括所有不同的進程或線程之間的通信,如數(shù)據(jù)的分布,結(jié)果收集等,這種成本可以基于通信模型和平臺參數(shù)獲得。從而策略引擎可選出最優(yōu)策略。應(yīng)用程序運行過程中,如果某個資源不再可用,如某個服務(wù)器關(guān)閉,則資源管理引擎將把組件移植到其它可用資源上。

        2 測試結(jié)果

        本小節(jié)給出一個例子,利用組件體系結(jié)構(gòu)得出測試結(jié)果。測試是對地理圖像處理應(yīng)用的抽象,主要功能是對地理圖像中值濾波。如表1所示。

        表1 組成信息

        用C、MPI、OpenMP 分別執(zhí)行本測試。用SAR圖作為輸入數(shù)據(jù),數(shù)據(jù)變化范圍100 M至500 M,將測試組件移植至異構(gòu)平臺并測試,調(diào)度層在多核服務(wù)器集群調(diào)度此應(yīng)用程序。為做比較研究,我們再用原始CCA 組件工具建立此應(yīng)用程序,隨后隨機調(diào)度。結(jié)果如圖3所示??梢姡{(diào)度策略改進了圖像處理應(yīng)用程序的性能。

        圖3 應(yīng)用測試圖

        一周內(nèi)每天應(yīng)用程序總的執(zhí)行時間,如圖4所示。圖中可見采用策略前后的對比,異構(gòu)平臺上一周內(nèi)總的執(zhí)行時間是之前的83%。這說明,在一個相對較長的時間內(nèi),調(diào)度策略優(yōu)勢較為明顯。它可將并行組件應(yīng)用程序分配至合適的資源,也可使一周內(nèi)總的執(zhí)行時間縮短。

        圖4 執(zhí)行總時間圖

        我們也對異構(gòu)平臺資源利用率的使用進行了記錄。發(fā)現(xiàn)一月內(nèi)機器的平均資源利用率提升了36%,如圖5所示。

        圖5 資源利用率測試圖

        3 結(jié)論

        本文以CCA 原型架構(gòu)為中心,在異構(gòu)平臺的基礎(chǔ)上建立了基于范例和粒度的組件體系結(jié)構(gòu),組件層描述多范例和多粒度的并行組件特征,資源管理層負(fù)責(zé)生產(chǎn)資源報告,調(diào)度層執(zhí)行由組成信息和資源信息形成的調(diào)度策略。最優(yōu)策略通過優(yōu)化的窮舉法確定,實驗結(jié)果表明組件模型和調(diào)度策略改善了并行應(yīng)用程序的執(zhí)行,提高了異構(gòu)平臺資源的利用率。

        [1]Burke B,Monson-Haefel R.Enterprise Java-Beans 3.0.CA,USA:O'Reilly Media,Inc,2006.

        [2]David E Bernholdt,Benjamin A Allan,Robert Armstrong,et al.A Component Architecture for Highperformence Scientific Computing[J].International Journal of High Performance Computing Aplications,2006,20(8):163-202.

        [3]Scott R Kohn,Gray Kumfert,Jeffrey F Painter,et al.Divorcing Language Dependencies from a Scientific Software Library[C]//Proceedings of the Tenth SIAM Conference on Parallel Processing for ScientificComputing,2001[CD].Philadelphia,PA,USA:SIAM Press,2001:10 pages on CD-ROM.

        [4]Yves Maheo,F(xiàn)rederic Guidec,Luc Courtrai.Middleware Support for the Deployment of Resource-Aware Parallel Java Components on Heterogeneous Distributed Platforms:Proceedings of the 30th Euromicro Conference2004[C]//Washington,DC,USA:IEEE Compuer Socie-Component-Based Softy,2004:144-151.

        [5]Lei Zhao,Stephen A Jarvis.Predictive Performance Modeling of Parallel Component Compositions[J].Cluster Computing,2007,10(2):155-166.

        [6]Hamelin F,Jezequel J M,Priol T.A Multi-Paradigm Object Oriented Parallel Environment Proceeding of English International Parallel Processing Symposium,1994:182-186.

        [7]Joanna Jozefowska,Marek Mika,rafat Rozicki,et al.Simulated Annealing for Multi-Mode Resource Constrined Prject Scheduling.

        [8]Benjiamin A Allan,Rob Armstrong C.Caffeine Framework:Composing and Debugging Applications Interratively and Running Them Statically[C/OL]:Compframe2005 Workshop,2005.

        [9]Oracle Company.Java Virtual Machine[EB/OL].http://www.java.com/object/gpu_programming_guide.html.

        [10]ANL Mathematics and Computer Science.Message passing interface[EB/OL].http://www.mcs.anl.gov/research/projects/mpi.

        [11]M.OpenMP Architecture Review Board[EB/OL].OpenMp.org.http://openmp.org/wp.

        [12]NVIDIA Corporation.NVIDIA GPU Programming Guide-Performance Tuning Advice[EB/OL].http://developer.nvdia.

        [13]Nudd G R,Kerbyson D J,Papaefstathiou E.Pace-a Toolset for the Performance Prediction of Parallel and Distributed Systems[J].International Jurnal of High Performance Computing Applications,SagePublications,2000,14(3):228-251.

        猜你喜歡
        異構(gòu)應(yīng)用程序粒度
        試論同課異構(gòu)之“同”與“異”
        粉末粒度對純Re坯顯微組織與力學(xué)性能的影響
        基于矩陣的多粒度粗糙集粒度約簡方法
        刪除Win10中自帶的應(yīng)用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        基于粒度矩陣的程度多粒度粗糙集粒度約簡
        overlay SDN實現(xiàn)異構(gòu)兼容的關(guān)鍵技術(shù)
        LTE異構(gòu)網(wǎng)技術(shù)與組網(wǎng)研究
        在新興異構(gòu)SoCs上集成多種系統(tǒng)
        多粒度空間中的粗糙隸屬度與知識粒度
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        精品人妻人人做人人爽| 国产av剧情久久精品久久 | 极品老师腿张开粉嫩小泬| 国产亚洲精品aaaa片小说| 国产97色在线 | 免| 婷婷成人基地| 亚洲天天综合色制服丝袜在线| 在线观看国产精品一区二区不卡| 婷婷久久国产综合精品| 日本老熟妇50岁丰满| 国产女人精品视频国产灰线| 青青草在线成人免费视频| 蜜臀一区二区三区精品| 18分钟处破好疼哭视频在线观看| 亚洲色成人网一二三区| 国产黄色三级三级三级看三级| 18禁在线永久免费观看| 亚洲精品国产av成拍色拍| 国产精品欧美韩国日本久久| 中文字幕乱码一区在线观看| 精品无人码麻豆乱码1区2区| 亚洲综合无码一区二区三区| 中文字幕偷拍亚洲九色| 国产三级精品三级在线专区| 精品视频无码一区二区三区| 精品国产福利一区二区在线 | 亚洲av熟女传媒国产一区二区| 少妇连续高潮爽到抽搐| 人妻丰满av无码中文字幕| 亚洲综合久久成人a片| 亚洲AV秘 片一区二区三区| 精品一区二区三区久久| 最爽无遮挡行房视频| 亚洲熟妇一区无码| 高潮av一区二区三区| 日韩精品中文一区二区三区在线 | 黄片午夜免费观看视频国产| 蜜桃视频一区二区三区四| 又粗又黄又猛又爽大片免费 | а的天堂网最新版在线| 精品在线观看一区二区视频|