基于MPI并行編程環(huán)境簡述_第1頁
基于MPI并行編程環(huán)境簡述_第2頁
基于MPI并行編程環(huán)境簡述_第3頁
基于MPI并行編程環(huán)境簡述_第4頁
基于MPI并行編程環(huán)境簡述_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

武漢理工大大學碩士士研究生生課程大大作業(yè)課程:《并并行計算算》開課學院::信息工工程學院院學期:20010--20111年度度第1學期成績并行計算課程報告題目:MMPI并并行編程程環(huán)境概概要指導老師::阮幼林教教授學院:信息息工程學學院班級:信息息研10001班班姓名:余華華學號:1104997211028820時間:20011年年01--10摘要隨著科技的的發(fā)展,新新一代的的計算機機,無論論計算能能力和計計算速度度,都比比舊的計計算機優(yōu)優(yōu)越。但但人類對對高性能能計算的的需求,也也不斷提提高.除除了增強強處理器器本身的的計算能能力外,并并行處理理是一種種提高計計算能力力的有效效手段..從前,并并行處理理要采用用昂貴的的專用計計算機,隨隨著個人人計算機機及網(wǎng)絡絡成本下下降,現(xiàn)現(xiàn)已廣泛泛用分布布式網(wǎng)絡絡計算機機系統(tǒng)進進行并行行處理。在在分布網(wǎng)網(wǎng)絡計算算機系統(tǒng)統(tǒng)中,采采用消息息傳遞方方法實現(xiàn)現(xiàn)進程間間的通訊訊。當前流流行基于于消息傳傳遞的并并行編程程環(huán)境是是MPII(MeessaagePasssinngIInteerfaace))。關鍵詞:消消息傳遞遞;消息息傳遞接接口;并并行編程程;AbstrracttBecauuseoftheedeevellopmmenttoffteechnnoloogy,,thhennewgenneraatioonoofccompputeersshouuldbebettterrthhantheefoormeeroonessinnthheppoweeraandspeeedofcommputtingg.BButtheepeeoplle'ssdeemanndoofhhighhpeerfoormaanceeoffcoompuutinngiisiincrreassinggtooo.Inaddditiiontoenhhanccinggthheccompputiingpowweroftheeprroceessoor,parralllelproocesssinngiisaalsooanneffficcienntwwaytoeenhaanceethheppoweeroofccompputiing..Innthheppastt,ttheparralllelproocesssinngccanonllyrrunontheeexxpennsivveaandspeeciaalccompputeers..Assthheccosttoffpeersoonallcoompuuterrsaandnettworrksdeccreaasedd,aandnoww,iitiisppopuularrtooprroceesstheepaaralllellprroceessiingontheediistrribuuteddneetwoorkcommputtinggsyysteems..Innthheddisttribbuteednnetwworkkcoompuutinngssysttemss,mmesssageepasssinngiisuuseddfoortthecommmunnicaatioonbbetwweennprroceessees.MPII(MMesssageePaassiingIntterffacee)aarecommmonndeevellopmmenttennvirronmmenttsoofpparaalleelpproccesssinggbaaseddonnmeessaagepasssinng.Keywoord::Messsageepaassiing;;Meessaagepasssinngiinteerfaace;;Paaralllellprrogrrammmingg;1并行計算算機系統(tǒng)統(tǒng)介紹1.1并行行計算機機的軟件件并行計算機機的軟件件緊隨并并行實體體發(fā)展,因因此,在在不同的的并行計計算機體體系結構構都有相相應的并并行計算算機軟件件。并行行計算機機軟件可可分并行行計算機機系統(tǒng)軟軟件和并并行計算算機應用用軟件。并行計算機機系統(tǒng)軟軟件管理理及協(xié)調調并行計計算機運運作,并并為用戶戶提供計計算機的的并行接接口。因因此它對對充分發(fā)發(fā)揮并行行計算機機的性能能、令用用戶能有有效及友友善地使使用算機機十分重重要。并并行系統(tǒng)統(tǒng)軟件包包括并行行操作系系統(tǒng)及并并行編譯譯系統(tǒng)。并行計算機機應用軟軟件是解解決具體體應用問問題的程程序,不不同問題題有不同同應用軟軟件。并并行計算算機應用用軟件廣廣泛應用用于科學學計算、圖圖形、圖圖象處理理等領域域。并行程序在在運行時時,需要要如任務務的創(chuàng)建建和終止止、同步步及通訊訊等操作作。操作作系統(tǒng)和和編譯系系統(tǒng)是分分兩個層層次處理理:低層層操作,如如任務的的創(chuàng)建和和終止、同同步鎖、點點對點消消息傳遞遞等由系系統(tǒng)提供供。高層操作如如編程方方面,由由程序員員直接調調用共享享存儲器器并行機機上的宏宏任務庫庫、分布布存儲器器并行機機上的并并行虛擬擬機器((ParralllelVirrtuaalMMachhinee)及消消息傳遞遞接口((Messsaggeppasssingginnterrfacce)等等并行函函數(shù)庫;;或在并并行編譯譯器輔助助下,由由程序員員間接調調用并行行函數(shù)庫庫。1.2并行行程序設設計語言言并行計算機機系統(tǒng)體體系結構構、并行行計算機機軟件和和并行算算法是并并行處理理的三個個要素。發(fā)發(fā)揮并行行計算機機系統(tǒng)效效率關鍵鍵,在于于充分利利用程序序中的并并行部分分。并行行程序設設計語言言提供描描述并行行處理的的語言設設施。并行程序設設計語言言可分為為向量計計算機的的向量語語言、共共享存儲儲器并行行計算機機及分布布式存儲儲器并行行計算機機的并行行語言。分分布式存存儲器的的并行系系統(tǒng),每每臺計算算機有獨獨立的地地址空間間,數(shù)據(jù)據(jù)通訊常常用消息息傳遞方方式。即即必須通通過發(fā)送送及接收收消息來來交換計計算機上上的數(shù)據(jù)據(jù)。合理理的數(shù)據(jù)據(jù)分布,能能減少遠遠程訪問問,提高高運行效效率。而而其它影影響效率率的因素素有:負負載平衡衡、通訊訊延遲、通通訊模式式等。消消息傳遞遞方式有有點對點點通訊及及集體通通訊。這這種系統(tǒng)統(tǒng)結構使使用的并并行程序序設計語語言須具具備分布布式數(shù)據(jù)據(jù)描述及及消息傳傳遞功能能。并行程序設設計語言言中的實實現(xiàn)消息息傳遞機機制的方方法有::一、在原語語言上提提供并行行函數(shù)庫庫如PVVM、MMPI等等;二、擴充原原來的語語言的關關鍵字及及語法,如如C+++、Foortrran--M等;;三、建立一一種新的的語言如如Occcam。第第一種方方法的好好處是編編寫并行行程序時時,只要要在原語語言上調調用并行行函數(shù)庫庫,不用用掌握新新語言。1.3并行行計算機機系統(tǒng)體體系結構構并行計算機機體系結結構是具具體執(zhí)行行并行處處理的實實體,可可分為向向量并行行計算機機、共享享存儲器器并行計計算機及及分布式式存儲器器并行計計算機。一)向量并并行計算算機能對對向量計計算進行行高速并并行處理理。二)共享存存儲器并并行計算算機系統(tǒng)統(tǒng)特征是是多個處處理器共共享內存存。三)分布式式存儲器器并行計計算機由由多個節(jié)節(jié)點構成成,每個個節(jié)點都都有獨立立的處理理器及內內存節(jié)點點之間以以網(wǎng)絡相相連,而而節(jié)點的的數(shù)目可可以由幾幾個到有有數(shù)千個個不等。2MPII發(fā)展及及并行編編程環(huán)境境2.1消息息傳遞接接口消息傳遞接接口MPPI((Messsagge-PPasssinggInnterrfacce)是是一個基基于消息息傳遞的的標準并并行函數(shù)數(shù)庫,提提供在并并行機系系統(tǒng)及網(wǎng)網(wǎng)絡并行行計算機機上編寫寫并行程程序的環(huán)環(huán)境。來來自美國國及歐洲洲各國,共共40個個組織的的80多多位專家家,其中中包括生生產(chǎn)并行行機的廠廠家、大大學、政政府實驗驗室和工工廠的科科研人員員,參與與了MPPI標準準化工作作。19992年年4月,召召開關于于消息傳傳遞標準準的工作作會議,會會上探討討了標準準消息傳傳遞的基基本和必必要的特特點,成成立一個個工作組組繼續(xù)進進行標準準化工作作。同年年11月月完成MMPI的的第一個個草稿((MPII-1)),于119933年3月月發(fā)表修修訂版。119944年5月月,MPPI標準準正式發(fā)發(fā)表,于于同年66月發(fā)表表MPII1..1。在這段期間間,他們們制定了了一個可可移植的的消息傳傳遞庫定定義標準準,命名名為MPPI(MMesssageePaassiingIntterffacee),可可被C及及Forrtraan777語言言調用。MMPI給給出了并并行庫的的規(guī)格說說明,提提供一套套完整的的消息傳傳遞函數(shù)數(shù)庫中例例程。MMPI引引入一些些新的概概念,如如派生數(shù)數(shù)據(jù)類型型(deerivveddattatyypess)、上上下文((conntexxts))及通訊訊子(ccommmuniicattorss)。雖雖然MPPI集消消息傳遞遞模型的的優(yōu)點,但但也有欠欠缺,如如并行II/0操操作及PPVM所所提供的的動態(tài)進進程等。1995年年的春天天舉行MMPI--2論壇壇,此時時并行計計算已有有很大的的變化。若若干舊式式系統(tǒng)停停產(chǎn),新新系統(tǒng)進進入市場場。MPPI-22的標準準化始于于19995年44月,并并于19997年年4月間間完成。首首先修訂訂94年年原文件件,更改改了容易易產(chǎn)生誤誤解的地地方及一一些函數(shù)數(shù)名稱。MMPI--2的文文件中也也包括MMPI1.22。MPPI11.2加加進了討討論MPPI-11時忽略略的功能能,如提提取MPPI版本本號碼。MMPI--2包括括并行II/O,遠遠程儲存存器操作作(或稱稱單邊通通訊)及及動態(tài)進進程管理理。也加加進了一一些新功功能,如如外部接接口格式式、支持持C+++及Foortrran--90、支支持多線線程(tthreeadss)及混混合語言言編程等等。MPI-11的主要要功能包包括:一、提供大大量點對對點通訊訊函數(shù)二、為進程程組提供供大量集集體通訊訊函數(shù)三、使用通通訊子((commmunnicaatorr)改善善通訊的的安全性性四、進程拓拓撲(PProccessstoopollogyy)五、使用剖剖析功能能(Prrofiilinng)供供調試用用六、產(chǎn)生派派生數(shù)據(jù)據(jù)類型處處理不相相連性數(shù)數(shù)據(jù)七、支持CC及Foortrran語語言的消消息傳遞遞函數(shù)八、環(huán)境管管理與查查詢函數(shù)數(shù)2.2MMPI并并行編程程環(huán)境MPI由一一組庫函函數(shù)組成成,在FForttrann77,Foortrran999,,C和和C+++語言中中皆可以直直接對這這些函數(shù)數(shù)進行調調用。作作為一種種消息傳傳遞式的的并行編編程環(huán)境境,MPPI并并行程序序要求將將任務分分塊,同同時啟動動多個進進程并發(fā)發(fā)執(zhí)行,各各進程之之間通過過調用MMPI的的庫函數(shù)數(shù)實現(xiàn)消消息傳遞遞。(1)進程程創(chuàng)建和和執(zhí)行一個MPII并行行程序山山若干個個并發(fā)進進程組成成,這些些進程可可以相同同也可以以不同。MMPI只只支持靜靜態(tài)進程程創(chuàng)建,即即:每個個進程在在執(zhí)行前前必須在在MPII環(huán)境中中登記,且且它們必必須一起起啟動。通通常啟動動可執(zhí)行行的MPPI程序序是通過過命令行行來實現(xiàn)現(xiàn)的。啟啟動方法法山具體體實現(xiàn)確確定。例例如在MMPICCH實現(xiàn)現(xiàn)中通過過下列命令令行可同同時在獨獨立的機機器上啟啟動相同同的可執(zhí)執(zhí)行程序序:mpiruun--npNprrogrramnnamee其中N是同同時運行行的進程程的個數(shù)數(shù),prrogrram--namme是可可執(zhí)行的的MPII程序的的程序名名。以這這種方式式執(zhí)行時時,需要要首先對對可用的的機器進進行配置置,配置置文件是是$HOOME//mpiich//utiil/mmachhinees/mmachhinees.LLINUUX。在在這個文文件中,每每一行寫寫上可用用的機器器名。例如:linuxx1.ccomlinuxx2.ccomlinuxx3.ccomlinuxx4.ccomlinuxx5.ccomlinuxx6.ccom這樣就有66臺機器器可供MMPI使使用,每每臺機器器執(zhí)行一一個進程程。(2)MPPI的初初始化與與結束MPI程序序的初始化工工作是通通過調用用MPII_IInitt()函函數(shù)完成成的,該該函數(shù)是是MPII程序的的第一個個函數(shù)調調用,也也是MPPI程序序的第一一條可執(zhí)執(zhí)行語句句。NIIPI__Fiinallizee()函函數(shù)是MMPI程程序的最最后一個個調用,,它結束束MPII程序的的運行,是是MPII程序的的最后一一條執(zhí)行行語句,如如果沒有有該函數(shù)數(shù)調用,程程序的運運行結果果是不可可預知的的。命令令行的參參數(shù)將傳傳遞給MMPI__Innit(),以以允許MMPI進進行設置置要發(fā)生生的動作作,即::main((inttarrgc,,chaar*aargvv[])){MPI_IInitt(&aargcc,&aargvv);……MPI_FFinaalizze());}初始化后,MMPI自自動創(chuàng)建建一個通通信域稱稱為MPPI_CCOMMM_WOORLDD,由它它定義通通信操作作的作用用域。并并為域內內每個進進程分配配一個獨獨立的序序號(進進程標志志),如如果有nn個進程,則則其標識識為0~~n~11。用戶可以使使用MPPI初始始化創(chuàng)建建的通信信域,也也可以按按照MPPI提供供的函數(shù)數(shù)調用方方式,在在己有的的通信域域上生成成新的通通信域。(3)MPPI消息息傳遞函函數(shù)MPI提供供了點對對點通信信和組通通信的消消息傳遞遞函數(shù),兩兩類函數(shù)數(shù)調用其其通信方方式上都都是用了了通信域域,用這這種方法法,可以以使庫的的通信域域與用戶戶程序分分開。①點對點通通信通信在兩個個進程之之間進行行,即::將消息息由源進進程傳遞遞到目的的進程。通通常用MMPI的的發(fā)送和和接收函函數(shù)調用用來完成成。有44種函數(shù)數(shù)調用模模式,分分別是::標準模模式、緩緩存模式式、同步步模式和和就緒模模式。其其中最常常用的是是標準模模式,該該模式下下發(fā)送調調用一般般格式如如下:MMPI__Seend(vooid*buuf,iintcouunt,,MPII_Daatattypeedaatattypee,inntddestt,iinttagg,MPPI_CCommmcoomm))buf:發(fā)發(fā)送緩沖沖區(qū)的起起始地址址(可選選類型));countt:將發(fā)發(fā)送的數(shù)數(shù)據(jù)的個個數(shù)(非非負整數(shù)數(shù));datattypee:發(fā)送送數(shù)據(jù)的的數(shù)據(jù)類類型(句句柄);;dest::目的進進程標識識號(整整型);;tag:消消息標志志(整型型);comm::通信域域(句柄柄)。②組通信通信的范圍圍涉及組組內所有有進程。MMPI提提供了一一個廣播播函數(shù)和和一組匯匯集和散散播函數(shù)數(shù)調用,它它們是::MPI_BBcasst(()從根根進程向向所有進進程廣播播消息;;MPI_GGathher()根根進程匯匯集所有有進程發(fā)發(fā)送的消消息;MPI_SScattterr())根進程程散播消消息給所所有進程程;MPI_AAllttoalll())所有進進程向所所有進程程發(fā)送消消息;MPI_RReduuce(()將所所有進程程發(fā)送緩緩沖區(qū)中中的數(shù)據(jù)據(jù)按給定定操作組組合,結結果存入入根進程程的接受受緩沖區(qū)區(qū);MPI_RReduuce__scaatteer())在前個個功能基基礎上再再散播給給所有進進程;MPI_SScann()每每個進程程歸約其其及前面面進程發(fā)發(fā)送緩沖沖區(qū)中的的數(shù)據(jù)。2.3MMPI基基本并行行程序設設計MPI為消消息傳遞遞和相關關操作提提供了功功能強大大而又豐豐富的庫庫函數(shù),其其內有上上百個甚甚至幾百百個函數(shù)數(shù)調用接接口,但但最常用用的只是是由6個個函數(shù)構構成的MMPI子子集,有有了它們們,就可可以實現(xiàn)現(xiàn)所有的的消息傳傳遞并行行程序功功能。它它們是CC的調用用格式描描述:(1)MPPI初始始化函數(shù)數(shù)MPI_IInitt(innt**arggc,chaar****arrgv))第一個MPPI函數(shù)數(shù)調用,初初始化MMPI編編程環(huán)境境,只能能被調用用一次。(2)MPPI結束束函數(shù)MPI_FFinaalizze())最后一個MMPI函函數(shù)調用用,使程程序退出出MPII編程環(huán)環(huán)境。(3)獲取取當前進進程標識識MPI_CCommm_raank((MPII_Coommcommm,iint**rannk)這一調用返返回調用用進程在在給定的的通信域域中的進進程標識識號,有有了這一一標識號號,不同同的進程程就可以以將自己己和其他他的進程程區(qū)別開開來,實實現(xiàn)各進進程的并并行和協(xié)協(xié)作。(4)通信信域包含含的進程程數(shù)MPI_CCommm_siize((MPII_Coommcommm,iint*siize))這一調用返返回給定定的通信信域中所所包括的的進程的的個數(shù),不不同的進進程通過過這一調調用得知知在給定定的通信信域中一一共有多多少個進進程在并并行執(zhí)行行。(5)消息息發(fā)送MPI_SSendd(vvoidd*bbuf,,inttcoounttMPPI_DDataatyppeddataatyppe,iintdesst,iinttagg,MPPI_CCommmcoomm))該調用將發(fā)發(fā)送緩沖沖區(qū)中的的couunt個個dattatyype數(shù)數(shù)據(jù)類型型的數(shù)據(jù)據(jù)發(fā)送到到目的進進程,目目的進程程在通信信域中的的標識號號是deest,本本次發(fā)送送的消息息標志是是tagg,使用用這一標標志,就就可以把把本次發(fā)發(fā)送的消消息和本本進程向向同一目目的進程程發(fā)送的的其他消消息區(qū)別別開來。該該操作指指定的發(fā)發(fā)送緩沖沖區(qū)是由由couunt個個類型為為dattatyype的的連續(xù)數(shù)數(shù)據(jù)空間間組成,起起始地址址為buuf。注注意這里里不是以以字節(jié)計計數(shù),而而是以數(shù)數(shù)據(jù)類型型為單位位指定消消息的長長度,這這樣就獨獨立于具具體的實實現(xiàn),并并且更接接近于用用戶的觀觀點。ddataatyppe數(shù)據(jù)據(jù)類型可可以是MMPI的的預定義義類型,也也可以是是用戶自自定義的的類型。(6)消息息接收MPI_RRecvv(vooid**buff,inntccounntMMPI__Dattatyypedattatyype,,inttsoourcce,iinttagg,MPPI_CCommmcoomm,,MPII_Sttatuus**staatuss)該該調用從從指定的的進程ssourrce接接收消息息,并且且該消息息的數(shù)據(jù)據(jù)類型和和消息標標識號和和本接收收進程指指定的ddataatyppe和ttag相相一致,接接收到的的消息所所包含的的數(shù)據(jù)元元素的個個數(shù)最多多不能超超過coountt。接收收緩沖區(qū)區(qū)是由ccounnt個ddataatyppe的連連續(xù)元素素空間組組成,由由dattatyype指指定其類類型,起起始地址址為buuf。接接收到消消息的長長度必須須小于或或等于接接收緩沖沖區(qū)的長長度,這這是因為為如果接接收到的的數(shù)據(jù)過過大,MMPI沒沒有截斷斷,接收收緩沖區(qū)區(qū)會發(fā)生生溢出錯錯誤,因因此要保保證接收收緩沖區(qū)區(qū)的長度度不小于于發(fā)送數(shù)數(shù)據(jù)的長長度。如如果一個個短于接接收緩沖沖區(qū)的消消息到達達,那么么只有相相應于這這個消息息的那些些地址被被修改。count可以是零,在這種情況下,消息的數(shù)據(jù)部分是空的。datatype數(shù)據(jù)類型同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論