国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

HPC集群編程模型研究

2012-11-09 06:41許建亞田園齊記周慶國(guó)
中國(guó)教育網(wǎng)絡(luò) 2012年4期
關(guān)鍵詞:細(xì)粒度高性能計(jì)算能力

文/許建亞田園 齊記 周慶國(guó)

HPC集群編程模型研究

文/許建亞1田園1齊記1周慶國(guó)2

高性能計(jì)算是計(jì)算科學(xué)的一個(gè)分支,研究并行算法和開發(fā)相關(guān)軟件,并致力于開發(fā)高性能計(jì)算機(jī)。目前較為流行的并行程序設(shè)計(jì)模型為基于消息傳遞M P I(Message Passing interface)的編程模式,基于共享內(nèi)存的Ope MP模式和結(jié)合MPI+OpenMP的混合編程模型,以及利用GPU作為并行數(shù)據(jù)計(jì)算設(shè)備(GPU計(jì)算的模式就是在異構(gòu)協(xié)同處理計(jì)算模型中,將CPU與GPU結(jié)合起來加以利用, 應(yīng)用程序的串行部分在CPU上運(yùn)行,而計(jì)算任務(wù)繁重的部分則由GPU來加速)的MPI+OpenMP+CUDA的三級(jí)混合編程模型。本文基于中國(guó)科學(xué)院近代物理研究所超算中心的深騰 7000G 集群,進(jìn)行GPU通用計(jì)算能力和并行編程模型的研究,采用MPI+CUDA多粒度混合編程模型,節(jié)點(diǎn)間使用MPI進(jìn)行通信,實(shí)現(xiàn)粗粒度并行,節(jié)點(diǎn)內(nèi)利用GPU強(qiáng)大的并行數(shù)據(jù)處理能力,使用CUDA架構(gòu)實(shí)現(xiàn)細(xì)粒度的數(shù)據(jù)并行和線程并行。實(shí)驗(yàn)結(jié)果表明,該方法能使并行效率顯著提高,同時(shí)證明MPI+CUDA混合編程模型能充分發(fā)揮集群節(jié)點(diǎn)間分布式存儲(chǔ)和節(jié)點(diǎn)內(nèi)共享存儲(chǔ)的優(yōu)勢(shì),為CPU+GPU混合架構(gòu)的集群系統(tǒng)提供了一種有效的并行策略。

高性能計(jì)算四個(gè)歷程

高性能計(jì)算機(jī)是信息產(chǎn)業(yè)的重要領(lǐng)域,是現(xiàn)代社會(huì)科學(xué)研究、社會(huì)服務(wù)、經(jīng)濟(jì)活動(dòng)中一種極為重要且不可或缺的戰(zhàn)略工具,世界上許多國(guó)家對(duì)計(jì)算能力的建設(shè)和計(jì)算科學(xué)的發(fā)展都給予了高度重視。自從1946年ENIAC(Electronic Numerical Integrator And Computer)在美國(guó)賓法利亞工程學(xué)院的摩爾電子工程學(xué)院誕生起,人類對(duì)高性能計(jì)算的追求就一直沒有停止過,高性能計(jì)算經(jīng)歷了史前時(shí)代、向量機(jī)時(shí)代、大規(guī)模并行處理機(jī)時(shí)代、集群和超級(jí)計(jì)算機(jī)時(shí)代四個(gè)大的發(fā)展階段。二十世紀(jì)九十年代中期,隨著Linux操作系統(tǒng)的出現(xiàn),微處理器和動(dòng)態(tài)隨機(jī)存儲(chǔ)器速度的提升,PCI總線的研制成功以及局域網(wǎng)技術(shù)的發(fā)展,高性能計(jì)算的集群和超級(jí)計(jì)算機(jī)時(shí)代到來。現(xiàn)在,高性能計(jì)算機(jī)已經(jīng)被廣泛地應(yīng)用到了生命科學(xué)、物理、化學(xué)、材料等研究領(lǐng)域,還被應(yīng)用于能源、氣候、環(huán)境、金融、游戲等產(chǎn)業(yè)與公共服務(wù)領(lǐng)域,高性能計(jì)算的普及在一定程度上改變了科學(xué)研究的方式,已成為繼理論科學(xué)和實(shí)驗(yàn)科學(xué)之后科學(xué)研究的第三大支柱。

深騰7000G集群介紹

深騰7000G集群專為連接GPU 設(shè)計(jì)。節(jié)點(diǎn)機(jī)采用基于Intel 架構(gòu)的商用服務(wù)器,節(jié)點(diǎn)間通過高速通信網(wǎng)絡(luò)實(shí)現(xiàn)互連,能夠很好地支持大規(guī)??茖W(xué)工程計(jì)算,具有節(jié)點(diǎn)選擇豐富靈活、機(jī)群域網(wǎng)專業(yè)高效、基礎(chǔ)架構(gòu)完備可靠等技術(shù)優(yōu)點(diǎn)。

深騰7000G集群包含100個(gè)計(jì)算節(jié)點(diǎn),每個(gè)計(jì)算節(jié)點(diǎn)均含有2個(gè)Xeon E5504CPU處理器和2個(gè)TeslaC1060GPU處理器, 2GB內(nèi)存,500GB硬盤。深騰7000G集群安裝的操作系統(tǒng)為Red Hat Enterprise Linux Server release 5.6,采用了著名的開源作業(yè)處理系統(tǒng)Torque+Maui的資源管理組合,同時(shí)部署了ganglia監(jiān)控系統(tǒng),便于系統(tǒng)管理員和用戶實(shí)時(shí)了解集群的相關(guān)運(yùn)行狀況,并提供了MPICH、Intel MPI等并行計(jì)算環(huán)境和CUDA-SDK、CUDAToolkit等相關(guān)GPU開發(fā)平臺(tái),充分利用了集群提供的眾多GPU強(qiáng)大的計(jì)算能力。

MPI + CUDA 編程模型研究

MPI和CUDA介紹

MPI ( Message Passing Interfac)e 是一種消息傳遞機(jī)制,吸取了眾多消息傳遞系統(tǒng)的優(yōu)點(diǎn),是目前國(guó)際上最流行的并行編程環(huán)境之一,尤其是分布式存儲(chǔ)的可縮放并行計(jì)算機(jī)和工作站網(wǎng)絡(luò)以及集群的一種編程范例。MPI具有可移植性和易用性、完備的異部通信功能、正式和詳細(xì)的精確定義等優(yōu)點(diǎn),為并行軟件產(chǎn)業(yè)的增長(zhǎng)提供了必要的條件,在基于MPI編程模型中,計(jì)算由一個(gè)或多個(gè)彼此通過調(diào)用庫(kù)函數(shù)進(jìn)行消息收、發(fā)通信的進(jìn)程組成。MPICH是MPI標(biāo)準(zhǔn)的一種最重要的實(shí)現(xiàn),本文研究基于MPICH2版本。

CUDA ( Compute Unified Device Architecture )是nVIDIA公司推出的基于GPU的通用計(jì)算模型。在CUDA編程模型中,GPU作為一個(gè)協(xié)處理器能產(chǎn)生大量線程,這種優(yōu)勢(shì)要得益于GPU的物理構(gòu)造,GPU由許多晶體管組成,專為計(jì)算密集型、高度并行化的計(jì)算而設(shè)計(jì),因而GPU的設(shè)計(jì)能使更多晶體管用于數(shù)據(jù)處理,而非數(shù)據(jù)緩存和流控制。GPU專用于解決可表示為數(shù)據(jù)并行計(jì)算的問題,具有極高的計(jì)算密度(數(shù)學(xué)運(yùn)算與存儲(chǔ)器運(yùn)算的比率),因此可通過計(jì)算隱藏存儲(chǔ)器訪問延遲,而不必使用較大的數(shù)據(jù)緩存。通過nVIDIA公司的CUDA技術(shù),開發(fā)人員能夠利用GPU解決及其復(fù)雜的并行計(jì)算難題,開發(fā)出前所未有的高性能計(jì)算軟件。

MPI+CUDA編程模型

深騰7000G集群下,MPI+CUDA程序的聯(lián)合編譯運(yùn)行環(huán)境用Makefile文件完成配置,主要配置文件如下:

Makefile配置文件主要添加了程序的MPI部分simpleMPI.cpp的編譯和鏈接時(shí)用到的函數(shù)庫(kù),其中程序的C U D A部分simpleMPI.cu用common.mk文件規(guī)則完成編譯和鏈接,最后生成一個(gè)可執(zhí)行的simpleMPI文件。MPI+CUDA編程模型如圖1。

開發(fā)人員把問題分解成粗粒度(一個(gè)并行任務(wù)包含較長(zhǎng)的程序段和較大的計(jì)算量)的問題,這些子問題可以獨(dú)立地并行解決,然后把這些子問題分為更小的細(xì)粒度(一個(gè)并行任務(wù)包含較短的程序段和較小的計(jì)算量)任務(wù),然后在集群的不同層次實(shí)現(xiàn)并行粒度及優(yōu)化。集群并行計(jì)算的方式,多為啟動(dòng)多個(gè)進(jìn)程,在各個(gè)節(jié)點(diǎn)上分別執(zhí)行,節(jié)點(diǎn)間通過消息傳遞的方式通信,最后規(guī)約出計(jì)算結(jié)果。這種方法靈活,能夠適應(yīng)任務(wù)并行、幾何分解、分治等大部分科學(xué)計(jì)算模式,但由于其通信成本較高,因此多用于任務(wù)劃分清晰、通信頻率較低的粗粒度并行。MPI是一種粗粒度并行編程模型。而GPU擁有強(qiáng)大的數(shù)據(jù)處理能力,可以同時(shí)開啟成百上千個(gè)線程,是典型的細(xì)粒度并行編程模型。對(duì)于含有支持CUDA架構(gòu)的顯卡(GeForce、Quadro以及Tesla產(chǎn)品均采用nVIDIA CUDA并行計(jì)算架構(gòu),GeForce和Quadro分別是為消費(fèi)級(jí)圖形處理和專業(yè)可視化而設(shè)計(jì)的,只有Tesla產(chǎn)品系列是完全針對(duì)并行計(jì)算而設(shè)計(jì)的,可提供廣泛的計(jì)算特性)的機(jī)群,可以綜合以上兩者的優(yōu)點(diǎn),通過消息傳遞機(jī)制,將任務(wù)分配到各個(gè)節(jié)點(diǎn)實(shí)現(xiàn)粗粒度并發(fā)性;在每個(gè)節(jié)點(diǎn)上,啟用多線程機(jī)制,利用共享內(nèi)存實(shí)現(xiàn)快速高效的細(xì)粒度并行。這種混合粒度的并行程序的開發(fā)既可以發(fā)揮每個(gè)節(jié)點(diǎn)的巨大計(jì)算能力,又可以充分利用集群的可擴(kuò)展性,為大型計(jì)算提供一個(gè)切實(shí)可行的方案。

(作者單位1為中國(guó)科學(xué)院近代物理研究所 ,2為蘭州大學(xué))

猜你喜歡
細(xì)粒度高性能計(jì)算能力
融合判別性與細(xì)粒度特征的抗遮擋紅外目標(biāo)跟蹤算法
淺談如何提高小學(xué)生的計(jì)算能力
小學(xué)生計(jì)算能力的提高策略
基于SVM多分類的超分辨圖像細(xì)粒度分類方法
小學(xué)生計(jì)算能力的培養(yǎng)
淺談小學(xué)生計(jì)算能力的培養(yǎng)
基于型號(hào)裝備?角色的IETM訪問控制研究
基于web粒度可配的編輯鎖設(shè)計(jì)
一款高性能BGO探測(cè)器的研發(fā)
高性能砼在橋梁中的應(yīng)用