并行編程模式

并行編程模式

ID:46548842

大?。?18.50 KB

頁數(shù):12頁

時間:2019-11-25

并行編程模式_第1頁
并行編程模式_第2頁
并行編程模式_第3頁
并行編程模式_第4頁
并行編程模式_第5頁
資源描述:

《并行編程模式》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、并行計算的硬件平臺SMP系統(tǒng)(SymmetricMultiProcessing),對稱多處理系統(tǒng)MPP系統(tǒng)(MassivelyParallelProcessing),大規(guī)模并行處理系統(tǒng)SMP系統(tǒng)與MPP系統(tǒng)比較SMP(SymmetricMultiProcessing),對稱多處理系統(tǒng)內(nèi)有許多緊耦合多處理器,在這樣的系統(tǒng)中,所有的CPU共享全部資源,如總線,內(nèi)存和I/O系統(tǒng)等,操作系統(tǒng)或管理數(shù)據(jù)庫的復(fù)本只有一個,這種系統(tǒng)有一個最大的特點就是共享所有資源。對稱性:系統(tǒng)中任何處理器均可以訪問任何存儲單元和I

2、/O設(shè)備。SMP系統(tǒng)與MPP系統(tǒng)比較MPP(MassivelyParallelProcessing),大規(guī)模并行處理系統(tǒng),這樣的系統(tǒng)是由許多松耦合的處理單元組成的,要注意的是這里指的是處理單元而不是處理器。每個單元內(nèi)的CPU都有自己私有的資源,如總線,內(nèi)存,硬盤等。在每個單元內(nèi)都有操作系統(tǒng)和管理數(shù)據(jù)庫的實例復(fù)本。這種結(jié)構(gòu)最大的特點在于不共享資源。并行編程模式并行編程模式主要有以下三種:共享地址空間模式:以O(shè)penMP為代表,主要是利用添加并行化指令到串行程序中,由編譯器完成自動并行化。消息傳遞模式:以

3、MPI為代表,PVM是消息傳遞模式的一個變種。數(shù)據(jù)并行模式:比較少見,但以其獨特的處理方式受到特定用戶群的喜歡并行編程模式可以這樣打比方:作并行計算好比是蓋樓房,你有了MPI就好比是有了砂石,水泥和鋼材,你可以蓋最美的房子,但你必須使用最原始狀態(tài)的原材料,付出可觀的智力勞動;你有了OpenMP就好比是有了預(yù)制板和各種預(yù)制件,可以非常快速地造房子,事半功倍;你有了數(shù)據(jù)并行環(huán)境,可以比作你有了包工頭,很多事情您就可以完全依靠他了。也許比喻方式不是很恰當(dāng),但是三種編程模式的優(yōu)劣、效率是很有差別的,可以不夸張

4、地說OpenMP比MPI要容易很多倍MPIMPI(MessagePassingInterface)是消息傳遞并行程序設(shè)計的標(biāo)準(zhǔn)之一.MPI正成為并行程序設(shè)計事實上的工業(yè)標(biāo)準(zhǔn)。MPI的實現(xiàn)包括MPICH、LAM、IBMMPL等多個版本,最常用和穩(wěn)定的是MPICH,曙光天潮系列的MPI以MPICH為基礎(chǔ)進行了定制和優(yōu)化。PVMPVM(并行虛擬機,ParallelVirtualMachineComputing)是一個軟件包。通過它,我們可以組成一個異構(gòu)的系統(tǒng),它使用起來就像一個單一的但能力強大的并行計算機,

5、而它本身可以由一些Unix或windows的計算機組成PVM最早由美國的田納西大學(xué),橡樹嶺國家實驗室以及埃默里大學(xué)開發(fā)成功。第一個版本在ORNL(橡樹嶺國家實驗室)于1989年寫成,后來,田納西大學(xué)將其重寫,并于1991年發(fā)布了版本2。版本3于1993年發(fā)布,支持容錯以及更好的可移動性。OpenMPOpenMP提供了對并行算法的高層的抽象描述,程序員通過在源代碼中加入專用的pragma來指明自己的意圖,由此編譯器可以自動將程序進行并行化,并在必要之處加入同步互斥以及通信。當(dāng)選擇忽略這些pragma,或

6、者編譯器不支持OpenMP時,程序又可退化為通常的程序(一般為串行),代碼仍然可以正常運作,只是不能利用多線程來加速程序執(zhí)行。OpenMPOpenMP支持的編程語言包括C語言、C++和Fortran。要在VisualC++2005中使用OpenMP其實不難,只要將Project的Properties中C/C++里L(fēng)anguage的OpenMPSupport開啟(參數(shù)為/openmp),就可以讓VC++2005在編譯時支持OpenMP的語法了;而在編寫使用OpenMP的程序時,則需要先includeOp

7、enMP的頭文件:omp.h空間上的并行并行計算或稱平行計算是相對于串行計算來說的。所謂并行計算可分為時間上的并行和空間上的并行。時間上的并行就是指流水線技術(shù),而空間上的并行則是指用多個處理器并發(fā)的執(zhí)行計算并行計算科學(xué)中主要研究的是空間上的并行問題。數(shù)據(jù)并行從程序和算法設(shè)計人員的角度來看,并行計算又可分為數(shù)據(jù)并行和任務(wù)并行。一般來說,因為數(shù)據(jù)并行主要是將一個大任務(wù)化解成相同的各個子任務(wù),比任務(wù)并行要容易處理。數(shù)據(jù)并行的例子對于數(shù)據(jù)密集型問題,可以采用分割數(shù)據(jù)的分布式計算模型,把需要進行大量計算的數(shù)據(jù)分

8、割成小塊,由網(wǎng)絡(luò)上的多臺計算機分別計算,然后把結(jié)果進行組合得出數(shù)據(jù)結(jié)論。MapReduce是分割數(shù)據(jù)型并行計算模型的典范,在云計算領(lǐng)域被廣泛采用。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。