并行編程模型的研究
并行編程模型一直是并行計(jì)算研究領(lǐng)域中的重點(diǎn)內(nèi)容,它和并行計(jì)算機(jī)體系結(jié)構(gòu)緊密相關(guān)。共享存儲(chǔ)體系結(jié)構(gòu)下的并行編程模型主要是共享變量編程模型,它具有單地址空間、編程容易、可移植性差等特點(diǎn),其實(shí)現(xiàn)有OpenMP和Pthreads等。分布式存儲(chǔ)體系結(jié)構(gòu)下的并行編程模型主要有消息傳遞編程模型和分布式共享編程模型兩種:消息傳遞編程模型的特點(diǎn)是多地址空間、編程困難、可移植性好,其實(shí)現(xiàn)有 MPI, PVM等;分布式共享編程模型是指有硬件或軟件的支持,在分布式體系結(jié)構(gòu)下實(shí)現(xiàn)的具有共享變量編程模型特點(diǎn)的編程模型。后者可以分別按照硬件或軟件的實(shí)現(xiàn)分為 DSM和SVM,其實(shí)現(xiàn)有TreadMark和JiaJia等,目前研究熱點(diǎn)的分割全局地址空間(PGAS)模型的研究有UPC等代表,具有很強(qiáng)的發(fā)展?jié)摿Α?/P>
多層次的SMP集群是由共享內(nèi)存的SMP作為超節(jié) 點(diǎn),而超節(jié)點(diǎn)間采用消息傳遞,內(nèi)存不能直接訪(fǎng)問(wèn)。SMP集群同時(shí)具備了共享存儲(chǔ)和分布式存儲(chǔ)體系結(jié)構(gòu)的特點(diǎn),因而傳統(tǒng)并行體系結(jié)構(gòu)下的編程模型己經(jīng)不再完全適用于它。根據(jù)SMP集群多級(jí)并行結(jié)構(gòu)的特點(diǎn),很自然地考慮到將共享存儲(chǔ)編程模型與分布式存儲(chǔ)編程模型相結(jié)合。目前國(guó)內(nèi)外學(xué)術(shù)界對(duì)于 SMP集群體系結(jié)構(gòu)上編程模型的選擇仍然存在著分歧,為此已經(jīng)提出了多種方案,有的側(cè)重性能有的側(cè)重可移植性和易用性,孰優(yōu)孰劣,尚無(wú)定論。但從編程模型的評(píng)價(jià)標(biāo)準(zhǔn)— 計(jì)算性能和易用性綜合的角度考慮,Openw 優(yōu)于Thread,使得MPI+OpenMP的混合編程模型得到了廣泛的應(yīng)用。
混合編程模型提供了節(jié)點(diǎn)間和節(jié)點(diǎn)內(nèi)的兩級(jí)并行機(jī)制,它的優(yōu)勢(shì)在于結(jié)合了進(jìn)程級(jí)的粗粒度并行(例如區(qū)域分解)和線(xiàn)程級(jí)的細(xì)粒度并行(如循環(huán)并行)。實(shí)踐證明,在很多情況下,其執(zhí)行效率高于純MPI或OpenMP程序,解決了一些它們無(wú)法解決的問(wèn)題,
主要有:
1、負(fù)載平衡問(wèn)題
在MPI并行程序中可能出現(xiàn)負(fù)載不平衡的問(wèn)題,使程序的性能受損。而在混合編程模型中,OpenMP能夠很好地解決該問(wèn)題,彌補(bǔ)了MPI的不足,從而提高并行程序的性能。
2、 MPI進(jìn)程數(shù)目受限的問(wèn)題
一些應(yīng)用問(wèn)題存在所需進(jìn)程數(shù)目與處理機(jī)數(shù)目不匹配的問(wèn)題。若前者太小,則不能充分發(fā)揮機(jī)器的效率:太大,又無(wú)法執(zhí)行。使用混合編程模型,首先執(zhí)行MPI分解策略,啟動(dòng)理想數(shù)目的進(jìn)程,再用OpenMP進(jìn)一步分解子任務(wù),則可以使所有處理機(jī)得到高效利用。
3、通信帶寬和延遲問(wèn)題
MPI并行程序進(jìn)程間的通信帶寬和延遲問(wèn)題可能會(huì)嚴(yán)重影響程序的執(zhí)行性能?;旌夏P偷某绦?qū)p少通信的次數(shù),并且OpenMP的線(xiàn)程級(jí)并行具有較小的延遲,可緩解純MPI程序的問(wèn)題。
4、細(xì)粒度并行問(wèn)題
在用OpenMP來(lái)編寫(xiě)并行程序時(shí),雖然粒度太小也會(huì)增加系統(tǒng)的開(kāi)銷(xiāo),但相對(duì)而言遠(yuǎn)沒(méi)有MPI那樣嚴(yán)重。當(dāng)應(yīng)用問(wèn)題的并行粒度比較小時(shí),混合編程模型對(duì)于SMP集群這樣的機(jī)器來(lái)說(shuō)是個(gè)很好的選擇。
在并行編程模型的多級(jí)并行,混合編程方面國(guó)際國(guó)內(nèi)都做了一些有益的探索,主要有加州伯克利分校,伊利諾伊大學(xué),美國(guó)航天局,美國(guó)能源部的幾個(gè)國(guó)家實(shí)驗(yàn)室,英國(guó)愛(ài)丁堡大學(xué),德國(guó)亞琛大學(xué)以及SGI,Sun,Intel,IBM等大公司;國(guó)內(nèi)則主要是中科院計(jì)算所,國(guó)防科大,北京大學(xué),國(guó)家氣象中心等單位。
評(píng)論