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

?

高性能并行集群的性能測(cè)試與優(yōu)化研究

2010-05-13 08:46:00趙玖玲,田先斌
現(xiàn)代電子技術(shù) 2009年12期
關(guān)鍵詞:并行計(jì)算性能測(cè)試

趙玖玲,田先斌

摘 要:以IBM BladeCenter高性能集群系統(tǒng)性能測(cè)試為背景,研究大規(guī)模集群的性能測(cè)試與優(yōu)化方法。通過(guò)對(duì)基于區(qū)域分解大規(guī)模線(xiàn)性方程組中并行求解算法在4個(gè)測(cè)試方案下的測(cè)試和分析,得到了其加速性能隨計(jì)算節(jié)點(diǎn)數(shù)的變化曲線(xiàn)。結(jié)果表明,該高性能計(jì)算機(jī)集群具有很好的加速性能、穩(wěn)定性,達(dá)到了預(yù)期的測(cè)試目標(biāo),為基于該并行平臺(tái)的進(jìn)一步并行開(kāi)發(fā)研究奠定了基礎(chǔ)。

關(guān)鍵詞:性能測(cè)試;PCG;并行計(jì)算;MPI OpenMP;PGI

中圖分類(lèi)號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2009)12-091-04

Performance Test and Optimization Study of High Performance Parallel Cluster System

ZHAO Jiuling,TIAN Xianbin

(Teaching & Research Office 401,Second Artillery Engineering Institute,Xi′an,710025,China)

Abstract:This article studies the performance optimization of the large-scale cluster system by the performance test for IBM BladeCenter high performance cluster system.The efficiency of this system is exhibited through the test and analysis for this cluster system by running the test software in different parallel environment.Results prove that the high performance computer cluster has acceleration function and stability.These results offer a foundation for the exploiture and study.

Keywords:performance test;PCG;parallel computing;MPI;OpenMP;PGI

0 引 言

隨著科研學(xué)術(shù)活動(dòng)的不斷深入,研究對(duì)象越來(lái)越復(fù)雜,尤其在數(shù)值仿真方面,由于研究模型越來(lái)越復(fù)雜,仿真時(shí)產(chǎn)生的計(jì)算量和數(shù)據(jù)量也越來(lái)越龐大。面對(duì)如此龐大的計(jì)算負(fù)荷,使用集群系統(tǒng),利用并行技術(shù)是解決計(jì)算時(shí)間的一個(gè)理想方案[1]。

為了能夠進(jìn)行工程中的大規(guī)模數(shù)值計(jì)算,縮短科研周期,新近購(gòu)置了IBM刀片式大規(guī)模并行計(jì)算集群系統(tǒng),為了測(cè)試該系統(tǒng)的工程計(jì)算能力,實(shí)現(xiàn)了在科學(xué)計(jì)算中常用的大型線(xiàn)性方程組并行算法,測(cè)試并分析了并行集群下不同并行模型的計(jì)算時(shí)間及并行性能和優(yōu)化措施。

1 系統(tǒng)硬件架構(gòu)

計(jì)算機(jī)系統(tǒng)的性能取決于其軟硬件的配置。在對(duì)系統(tǒng)進(jìn)行有針對(duì)性的優(yōu)化前,必須了解其軟硬件組成。

1.1 硬件配置

目前大型并行計(jì)算機(jī)系統(tǒng)種類(lèi)很多,許多高性能并行機(jī)如IBM“藍(lán)色基因”計(jì)算機(jī)、曙光5000A等具有極高的計(jì)算速度。但是這些計(jì)算機(jī)硬件成本高,管理和維護(hù)花銷(xiāo)大,一般機(jī)構(gòu)難以承擔(dān)。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,利用網(wǎng)絡(luò)將多臺(tái)計(jì)算機(jī)連接起來(lái),組成集群系統(tǒng)進(jìn)行并行計(jì)算的方式逐漸成為并行計(jì)算機(jī)發(fā)展的一個(gè)趨勢(shì)。組建集群系統(tǒng)的方式通常有2種:一種是利用常見(jiàn)的局域網(wǎng)技術(shù),將多臺(tái)PC或服務(wù)器連接在一起組成的。這種組建方式可以最大限度利用局域網(wǎng)內(nèi)的計(jì)算資源,降低組建集群系統(tǒng)的成本。另一種是利用專(zhuān)業(yè)的網(wǎng)絡(luò),將經(jīng)過(guò)優(yōu)化配置后的服務(wù)器連接在一起組成集群系統(tǒng)。這種方式成本高,但是比前一種方式具有更高的計(jì)算效率、更大網(wǎng)絡(luò)通信帶寬、更低的數(shù)據(jù)通信時(shí)延和更穩(wěn)定的系統(tǒng)服務(wù)。刀片式服務(wù)器就是屬于后者的一種高可用高密度(High Availability High Density,HAHD)的低成本集群服務(wù)器平臺(tái),是專(zhuān)門(mén)為特殊應(yīng)用行業(yè)和高密度計(jì)算機(jī)環(huán)境設(shè)計(jì)的,它與其他商業(yè)集群服務(wù)器(如機(jī)柜式服務(wù)器)相比,具有成本低,占地小,升級(jí)簡(jiǎn)單等優(yōu)勢(shì),是目前搭建集群的發(fā)展趨勢(shì)。在2006年底發(fā)布的全球高性能計(jì)算機(jī)(HPC)TOP500排名中,就有70套是IBM BladeCenter刀片式服務(wù)器,而在我國(guó)HPC的TOP100的前10名中就有6臺(tái)是刀片式服務(wù)器[2]。權(quán)威人士預(yù)測(cè)到2009年底,刀片服務(wù)器將占據(jù)服務(wù)器市場(chǎng)份額的1/4以上。

這里的高性能集群系統(tǒng)是IBM BladeCenter刀片服務(wù)器系列,其具體配置如表1所示。

表1 集群系統(tǒng)硬件配置表

結(jié)點(diǎn)類(lèi)型CPU型號(hào)CPU個(gè)數(shù)內(nèi)存硬盤(pán)節(jié)點(diǎn)個(gè)數(shù)

計(jì)算結(jié)點(diǎn)雙核AMDOpteron2702.0 GHz/1M L2處理器2個(gè)4 GBPC3200DDR兩個(gè)open2.5″SCSI73.4 GB硬盤(pán)24個(gè)

管理結(jié)點(diǎn)AMD Opteron2522.6 GHz/1 MB L2處理器2個(gè)4 GBPC3200DDR兩個(gè)HSUltra320 SCSI73.4 GB硬盤(pán)1個(gè)

存儲(chǔ)結(jié)點(diǎn)AMD Opteron2522.6 GHz/1 MB L2處理器2個(gè)4 GBPC3200DDR2.1TB的DS400磁盤(pán)陣列1個(gè)

該系統(tǒng)總共包含計(jì)算單元96個(gè),系統(tǒng)總體浮點(diǎn)運(yùn)算的理論峰值達(dá)到400 Gflops,系統(tǒng)總體內(nèi)存達(dá)到104 GB,存儲(chǔ)器總?cè)萘拷咏? TB。

1.2 軟件平臺(tái)

該系統(tǒng)中的各個(gè)節(jié)點(diǎn)都采用Linux Red Hat 4(AS)Update 5作為操作系統(tǒng),使用PBSPro作為進(jìn)程調(diào)度管理軟件,在管理節(jié)點(diǎn)和存儲(chǔ)節(jié)點(diǎn)上還安裝了管理軟件XCat。

為了方便進(jìn)行科學(xué)計(jì)算與配合其他科學(xué)計(jì)算軟件的運(yùn)行,系統(tǒng)中配置安裝GOTO數(shù)學(xué)庫(kù)。為了提高系統(tǒng)的并行編譯器的性能,該集群系統(tǒng)安裝Portland Group開(kāi)發(fā)的高性能、并行Fortran,C和C++編譯器PGI。此外還配置安裝了目前并行計(jì)算領(lǐng)域常用的并行環(huán)境OpenMP(PGI支持)和MPI。

2 并行計(jì)算性能評(píng)判準(zhǔn)則

要測(cè)試集群的性能,就需要評(píng)判標(biāo)準(zhǔn)。通用方法用于記錄不同環(huán)境下機(jī)器運(yùn)行程序的響應(yīng)時(shí)間α,計(jì)算程序運(yùn)行的加速比Sp和并行效率Ep,給出測(cè)試結(jié)果。

2.1 響應(yīng)時(shí)間

時(shí)間是計(jì)算機(jī)性能測(cè)量的主要標(biāo)準(zhǔn)。響應(yīng)時(shí)間也稱(chēng)周轉(zhuǎn)時(shí)間,是計(jì)算機(jī)完成某一任務(wù)所花的全部時(shí)間,其公式如下:

α=tc+tI/O(1)

式中:tc是一個(gè)程序的CPU 時(shí)間。它包含用戶(hù)CPU時(shí)間te(執(zhí)行程序的時(shí)間)和系統(tǒng)CPU時(shí)間ts(操作系統(tǒng)的開(kāi)銷(xiāo))。tI/O是系統(tǒng)的I/O時(shí)間,則包括輸入/輸出設(shè)備的I/O時(shí)間、存儲(chǔ)器與主存間的頁(yè)面交換時(shí)間、以及網(wǎng)絡(luò)通信的時(shí)間。由于集群系統(tǒng)中任務(wù)在不同節(jié)點(diǎn)間并行執(zhí)行時(shí),相互之間需要不斷地交換數(shù)據(jù),網(wǎng)絡(luò)通信往往稱(chēng)為決定程序效率的最大因素。可見(jiàn),要降低響應(yīng)時(shí)間,就必須最大限度地降低通信開(kāi)銷(xiāo),提高CPU的利用率。

2.2 加速比Sp和并行效率Ep

加速比Sp是并行處理系統(tǒng)性能的主要評(píng)測(cè)指標(biāo)。其計(jì)算公式如下:

Sp=αs/αp(2)

式中:αs是指給定程序在單處理機(jī)上的響應(yīng)時(shí)間;αp是指相同的程序在多個(gè)處理機(jī)組成的并行處理系統(tǒng)上的響應(yīng)時(shí)間。加速比Sp反映的是在并行條件下,計(jì)算速度所能得到的加速倍數(shù)。在理論情況下,程序若能完全并行,則p個(gè)相同處理器可以達(dá)到的加速比為p,但是在實(shí)際情況下,加速比Sp一般都要小于p[3,4]。

為了反映并行的效率,定義產(chǎn)生了并行效率Ep,其計(jì)算公式如下:

Ep=Sp/p(3)

一般情況下Ep值的范圍是在(0,1)之間。Ep越接近1,算法的并行效率就越高。

3 并行測(cè)試程序

為了有效地測(cè)試并行系統(tǒng)的性能,需要選擇具有代表性的測(cè)試程序。因?yàn)榇蟛糠挚茖W(xué)計(jì)算,如有限元計(jì)算、有限差分計(jì)算等,都需要求解大型線(xiàn)性方程組,所以使用求解線(xiàn)性方程組測(cè)試性能具有極好的代表性。這里采用基于區(qū)域分解的并行預(yù)處理共軛梯度法求解線(xiàn)性方程組[5,6]。

常用的并行模式有MPI并行、OpenMP并行和MPI+OpenMP混合并行3種。MPI是一種基于消息傳遞的分布式存儲(chǔ)模型,具有良好的通信性能;OpenMP是一種基于共享內(nèi)存式的并行存儲(chǔ)模型,可以充分利用單結(jié)點(diǎn)多計(jì)算核心的計(jì)算資源;MPI+OpenMP混合并行模式則可以實(shí)現(xiàn)分布式和內(nèi)存共享兩極并行[7]。

預(yù)處理共軛梯度法[8](Preconditioned Conjugate Gradient Method,PCG方法),是一種較成熟且并行效率較高的線(xiàn)性方程組迭代求解算法。因此這里使用PCG作為求解線(xiàn)性方程組的基本算法,求解方程Ax=f的并行算法描述如下:

Step 1: 初始化:

x(i,0)=0,r(i,0)=f(i)(4)

M(i)=⊕∑j∈Φm(j)(5)

Step 2:

z(i,0)=(M(i))-1r(i,0), s(i,0)=⊕∑j∈Φz(mì)(j,0)(6)

α(i,0)1 = r(i,0)?s(i,0),α(1)1=∑i∈Ωα(i,0)1(7)

β(1)2=α(1)1,p(i,1)=s(i,0)(8)

Step 3: 對(duì)于第k次迭代(k=1,2,3…):

u(1,k)=A(i)p(i,k)(9)

α(i,k)2=p(i,k)u(i,k),α(k)2 = ∑i∈Ωα(i,0)2,α=α(k)1/α(k)2(10)

x(i,k)=x(i,k-1)+αp(i,k),r(i,k)=r(i,k-1)-αu(i,k)(11)

z(i,k)=(M(i))-1r(i,k),s(i,k)=⊕∑j∈Φz(mì)(j,k)(12)

β(i,k)1=p(i,k)s(i,k),β(k)1 = ∑i∈Ωβ(i,k)1(13)

如果β(k)1<εβ(0)1,結(jié)束迭代,輸出x,這里的ε為控制殘差的常量。

否則:

β=β(k)1/β(k)2,p(i,k+1)=s(i,k)+βp(i,k)(14)

β(k+1)2=β(k)1α(k+1)1=β(k)1(15)

令k=k+1,重復(fù)Step 3。

式中:變量右上標(biāo)(i,k)代表第i個(gè)進(jìn)程的第k次迭代;符號(hào)⊕∑j∈Φ表示邊界上的局部通信求和;∑i∈Ω表示的是全局通信求和。

為了保證線(xiàn)性方程組的系數(shù)矩陣是非奇異的,在程序中還包含了系數(shù)矩陣的組裝過(guò)程。

4 并行系統(tǒng)測(cè)試與優(yōu)化

4.1 測(cè)試方案

MPI并行模式需要在運(yùn)行時(shí)輸入一些配置項(xiàng)屬性來(lái)指定相應(yīng)的并行環(huán)境,從而實(shí)現(xiàn)正常的并行化。其中“-np”選項(xiàng),它后面的數(shù)字指定了程序并行的規(guī)模,即系統(tǒng)總共包含多少個(gè)并行的進(jìn)程;“-machinefile”選項(xiàng)后面的文件名指定了一個(gè)用于分配系統(tǒng)計(jì)算資源的配置文件,該文件包含了各進(jìn)程將來(lái)運(yùn)行時(shí)所在的計(jì)算結(jié)點(diǎn)。通過(guò)靈活的使用這兩個(gè)配置屬性,可以對(duì)同一個(gè)程序進(jìn)行不同環(huán)境的測(cè)試[9,10]。

MPI+OpenMP混合并行模式下,若要在2n個(gè)計(jì)算單元上并行時(shí),使用“-machinefile”配置n個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)使用2個(gè)線(xiàn)程實(shí)施并行運(yùn)算。

為了從不同的角度認(rèn)識(shí)該高性能并行計(jì)算機(jī)平臺(tái)的具體性能,測(cè)試程序被編譯為4種版本,各個(gè)版本具體的編譯條件如表2所示。

表2 各個(gè)版本程序編譯選項(xiàng)

PGI優(yōu)化使用MPI使用OpenMP

Serial否否否

Optimize Serial是否否

Pure OpenMP是否是

Pure MPI是是否

MPI+OpenMP是是是

4.2 性能測(cè)試

測(cè)試時(shí)使用不同階數(shù)的系數(shù)矩陣進(jìn)行求解,為了延長(zhǎng)運(yùn)行時(shí)間,方程Ax=f右側(cè)的f分10次加載,并對(duì)比他們?cè)诓煌瑮l件下的性能。

4.2.1 PGI編譯器性能優(yōu)化測(cè)試

將Serial版本程序和Optimize Serial版本程序分別運(yùn)行,測(cè)試結(jié)果如表3所示。

表3 PGI優(yōu)化對(duì)照表

1 500階矩陣1 800階矩陣2 500階矩陣3 500階矩陣

Serial60.49 s84.06 s109.21 s171.59 s

Optimize Serial23.01 s31.25 s41.84 s66.25 s

運(yùn)行速度比2.63 2.69 2.61 2.51

4.2.2 共享內(nèi)存模型并行性能測(cè)試

在一個(gè)計(jì)算結(jié)點(diǎn)上,采用優(yōu)化串行版和OpenMP并行版運(yùn)行的響應(yīng)時(shí)間做比較,得到直方圖如圖1所示。

圖1 單結(jié)點(diǎn)OpenMP并行響應(yīng)對(duì)比

4.2.3 并行模型性能比較

利用MPI和MPI+OpenMP混合并行模型,分別在4個(gè)、10個(gè)、20個(gè)計(jì)算單元上計(jì)算1 500階、1 800階、2 500階、3 000階、3 500階矩陣,所得的加速比如圖3所示。

4.3 并行性能分析

通過(guò)表3數(shù)據(jù),可以明顯的反映出PGI編譯器的優(yōu)化對(duì)程序的運(yùn)行效率的影響。優(yōu)化后的程序運(yùn)行效率基本都提高了1.5倍以上,在監(jiān)視系統(tǒng)進(jìn)程的時(shí)候,可以明顯地發(fā)現(xiàn)沒(méi)有優(yōu)化的程序最多占用CPU資源的50%,而優(yōu)化后的程序則是100%地占用CPU的資源,可見(jiàn)PGI可以?xún)?yōu)化執(zhí)行代碼,提高了CPU的利用率。

通過(guò)圖1可以看出OpenMP可以在共享存儲(chǔ)計(jì)算機(jī)上充分挖掘多個(gè)雙核CPU的計(jì)算潛力,提高運(yùn)行速度。

通過(guò)圖2可以看出并行程序能夠極大地提高計(jì)算速度。在節(jié)點(diǎn)較少時(shí),對(duì)于純MPI并行模式來(lái)說(shuō),程序能夠獲得接近于結(jié)點(diǎn)個(gè)數(shù)的加速比,能夠充分利用起多節(jié)點(diǎn)的計(jì)算資源,而加入OpenMP的混合編程模式,并行計(jì)算的加速性能較純MPI較差。而當(dāng)節(jié)點(diǎn)個(gè)數(shù)上升到20節(jié)點(diǎn)以上時(shí),MPI并行程序的性能逐漸下降,而混合模式的程序性能逐漸提高??梢?jiàn),在節(jié)點(diǎn)較少、MPI通信負(fù)擔(dān)較低時(shí),使用MPI比使用混合方式性能好,但是當(dāng)節(jié)點(diǎn)較多,MPI通信負(fù)擔(dān)較重時(shí),再使用混合混合方式,利用OpenMP減少使用的節(jié)點(diǎn)個(gè)數(shù),降低節(jié)點(diǎn)間通信負(fù)荷,并利用線(xiàn)程并行進(jìn)一步提高性能。

圖2 兩種并行模式響應(yīng)時(shí)間對(duì)比

5 結(jié) 語(yǔ)

這里開(kāi)發(fā)基于并行預(yù)處理共軛梯度算法和基于不同并行模型的并行測(cè)試程序,并測(cè)試在高性能并行集群上的并行效率,研究高性能計(jì)算的優(yōu)化方法,并行計(jì)算測(cè)試結(jié)果符合實(shí)際, 具有一定的參考價(jià)值。

通過(guò)測(cè)試對(duì)該高性能計(jì)算集群系統(tǒng)有了以下的認(rèn)識(shí):

(1)集群的加速比與計(jì)算所用的節(jié)點(diǎn)數(shù)基本保持相同的增減關(guān)系,即隨著節(jié)點(diǎn)數(shù)的增加,加速比也相應(yīng)的增加;

(2) 通信時(shí)延是影響加速比的主要因素之一,為了獲得更好的加速比,應(yīng)盡量減少節(jié)點(diǎn)間的數(shù)據(jù)通信從而減少通信時(shí)間來(lái)獲得更好的加速比;

(3) 在使用的計(jì)算單元較多時(shí),使用OpenMP配合MPI可以降低進(jìn)程間地通信,從而提高加速比,但是提高的程度不明顯;

(4) 對(duì)于大數(shù)據(jù)量處理領(lǐng)域,使用集群可大大縮短資料處理所需的時(shí)間,進(jìn)一步提高工作效率,同時(shí)也能使擁有大計(jì)算量的處理技術(shù)和方法得到更好的應(yīng)用。

參考文獻(xiàn)

[1]馮云,周淑秋.MPI+OpenMP混合并行編程模型應(yīng)用研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2006(2):86-89.

[2]William H.Press,Saul A.Teukolsky,William T.Vetterling,Brian P.Flannery.Numerical Recipes in C++[M].北京:電子工業(yè)出版社,2005.

[3]祝永志,李丙鋒,魏榕暉.Bewulf-T機(jī)群系統(tǒng)高擴(kuò)展性研究[J].計(jì)算機(jī)科學(xué),2008,35(2):298-300.

[4]Shameem Akhter,Jason Roberts.Multi-Core Programming[M].北京:電子工業(yè)出版社,2007.

[5]Graham Glass,King Ables.Linux for Programmers and users[M].北京:清華大學(xué)出版社,2006.

[6]陳國(guó)良.并行算法實(shí)踐[M].北京:高等教育出版社,2004.

[7]溫小飛,朱宗柏,胡春枝,等.高性能計(jì)算機(jī)集群的性能評(píng)價(jià)[J].武漢理工大學(xué)學(xué)報(bào):信息與管理工程版,2005,27(4):19-22.

[8]Meijerink J A.Guidelines for the Usage of Incomplete Decomposition in Solving Sets of Linear Equations as theyOccur in Practical Problems.Comp.Phys.,1981.

[9]馬晶燕,于雙元.基于MPICH的MPI并行環(huán)境分析[J].科技資訊,2006(30):6-7.

[10]曹振南,馮圣中,王沁.IA機(jī)群結(jié)點(diǎn)內(nèi)并行編程模式性能分析[J].計(jì)算機(jī)工程與應(yīng)用,2004(20):84-86.

猜你喜歡
并行計(jì)算性能測(cè)試
Hadoop性能測(cè)試自動(dòng)化研究
基于自適應(yīng)線(xiàn)程束的GPU并行粒子群優(yōu)化算法
云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
矩陣向量相乘的并行算法分析
并行硬件簡(jiǎn)介
關(guān)于Java軟件的性能測(cè)試分析
基于GPU的超聲場(chǎng)仿真成像平臺(tái)
基于Matlab的遙感圖像IHS小波融合算法的并行化設(shè)計(jì)
科技視界(2016年11期)2016-05-23 08:13:35
車(chē)聯(lián)網(wǎng)專(zhuān)用短程通信技術(shù)
論轉(zhuǎn)向系統(tǒng)匹配構(gòu)架和實(shí)踐
稻城县| 宁德市| 台北市| 栾城县| 梁河县| 印江| 九江县| 岢岚县| 泌阳县| 宜兰县| 克什克腾旗| 澄迈县| 罗定市| 理塘县| 出国| 曲水县| 勐海县| 名山县| 正阳县| 南通市| 买车| 张家川| 六盘水市| 铜梁县| 长岭县| 佛坪县| 莱阳市| 南开区| 陆丰市| 宽城| 沈丘县| 巴林右旗| 永宁县| 河源市| 安塞县| 南宫市| 高平市| 侯马市| 曲沃县| 寻甸| 兴业县|