999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MPI集群通信技術(shù)淺析

2008-12-31 00:00:00郝麗蕊
電腦知識(shí)與技術(shù) 2008年23期

摘要:簡要介紹了集群系統(tǒng),指出其用于并行計(jì)算的工作原理,重點(diǎn)介紹MPI并行環(huán)境及其通信技術(shù),并分析了MPI并行程序中的基本模式及其采用的通信技術(shù)。最后對(duì)構(gòu)建MPI并行環(huán)境的集群系統(tǒng)進(jìn)行了展望。

關(guān)鍵詞:集群;MPI;通信技術(shù);并行計(jì)算

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2008)23-1010-02

The Analysis of the MPI Communication Technology Based on Cluster

CHEN Yan, HAO Li-rui

(The Department of Computer Science and Technology,Guilin College of Aerospace Technology,Guilin 541004,China)

Abstract:A brief introduction of the Cluster is presented in the paper,and how to make Parallel computing based on Cluseter is pointed out.The paper emphasizes the MPI(Message Passing Interface) and its communication technology,and analyses the base models and the communication technology in the MPI parallel programs. Finally a outlook for the Cluster of MPI parellel environment is provided.

Key words:cluster;MPI;communication technology;parallel computing

高性能并行計(jì)算技術(shù)由于具有巨大的數(shù)值計(jì)算和數(shù)據(jù)處理能力,在國內(nèi)外受到高度的重視,它在科學(xué)研究、工程技術(shù)以及軍事等方面的應(yīng)用,已經(jīng)取得巨大的成就。并行計(jì)算就是通過把一個(gè)大的計(jì)算問題分解成許多彼此獨(dú)立且又相關(guān)的子問題,然后把它們散列到各個(gè)結(jié)點(diǎn)機(jī)上并行執(zhí)行從而最終解決問題的一種方法[1]。

從20世紀(jì)90年代以來,昂貴而特制的并行超級(jí)計(jì)算機(jī)逐漸向工作站網(wǎng)站轉(zhuǎn)換。隨著PC處理器性價(jià)比的大幅提高,以及網(wǎng)絡(luò)通信技術(shù)的日益完善,PC機(jī)網(wǎng)絡(luò)成為并行處理的理想工具,從而導(dǎo)致了低價(jià)商品化超級(jí)計(jì)算的出現(xiàn)。集群系統(tǒng)正式順應(yīng)了這一趨勢(shì),并逐漸成為高性能并行計(jì)算的主要硬件平臺(tái)。由于計(jì)算機(jī)集群系統(tǒng)具有開放的結(jié)構(gòu),支持它的并行編程環(huán)境需要開放的和支持異構(gòu)的系統(tǒng)。目前最流行的基于集群的并行編程環(huán)境有兩種:PVM(Parallel Virtual Machine)和MPI(Message Passing Interface)。使用標(biāo)準(zhǔn)的通信協(xié)議-MPI,可以減少設(shè)計(jì)并行程序的復(fù)雜度,提高并行程序的可移植性,保證并行程序的執(zhí)行性能,于是越來越多的人采用MPI作為集群并行開發(fā)環(huán)境。

1 集群系統(tǒng)介紹

集群系統(tǒng)是利用高速通用網(wǎng)絡(luò)將一組高性能工作站或高檔PC機(jī),按某種結(jié)構(gòu)連接起來,在并行程序設(shè)計(jì)以及可視化人機(jī)交互集成開發(fā)環(huán)境支持下,統(tǒng)一調(diào)度,協(xié)調(diào)處理,實(shí)現(xiàn)高效并行處理的系統(tǒng)。它主要利用消息傳遞方式實(shí)現(xiàn)各主機(jī)之間的通信,由建立在一般操作系統(tǒng)之上的并行編程環(huán)境完成系統(tǒng)的資源管理及相互協(xié)作,同時(shí)也屏蔽工作站及網(wǎng)絡(luò)的異構(gòu)性。目前集群系統(tǒng)的并行編程環(huán)境是建立在Unix或Windows操作系統(tǒng)之上。

集群系統(tǒng)包括下列組件:1)高性能的計(jì)算結(jié)點(diǎn)機(jī)(PC、工作站或SMP);2)具有較強(qiáng)網(wǎng)絡(luò)功能的微內(nèi)核操作系統(tǒng);3)高效的網(wǎng)絡(luò)/交換機(jī)(如千兆位以太網(wǎng)和Myrinet);4)網(wǎng)卡(NICs);5)快速傳輸協(xié)議和服務(wù);6)中間件層,其中包括某些支持硬件,如數(shù)字存儲(chǔ)通道、硬件分布共享存儲(chǔ)器及SMP技術(shù);應(yīng)用,如系統(tǒng)管理工具和電子表格;運(yùn)行系統(tǒng),如軟件分布共享存儲(chǔ)器和并行文件系統(tǒng);資源管理和調(diào)度軟件等;7)并行程序設(shè)計(jì)環(huán)境與工具,如編譯器、語言環(huán)境、并行虛擬機(jī)(PVM)和消息傳遞接口(MPI)等;8)應(yīng)用,包括串行和并行應(yīng)用程序。

集群系統(tǒng)結(jié)構(gòu)如圖1所示,其中W表示工作站(可利用已構(gòu)建的MPI并行環(huán)境網(wǎng)絡(luò)中的任一臺(tái)PC機(jī)作為工作站),PC1,PC2,…,PCn表示各計(jì)算服務(wù)端(即已構(gòu)建的MPI并行環(huán)境網(wǎng)絡(luò)中其他的PC機(jī))。在發(fā)起整個(gè)任務(wù)前,服務(wù)端向名字服務(wù)器登記注冊(cè)自己的IP地址作為服務(wù)端的名字。用戶通過工作站發(fā)布任務(wù)首先從名字服務(wù)器獲取已經(jīng)登記的服務(wù)器,從而獲取可用的服務(wù)器資源,并將用戶的計(jì)算任務(wù)S分割成子任務(wù)S1,S2,…,Sp(1≤p≤n),然后分別將子任務(wù)的數(shù)據(jù)及其處理方法分發(fā)給各個(gè)可用的服務(wù)器端;服務(wù)器端在接收到子任務(wù)之后,進(jìn)行數(shù)據(jù)處理,再將處理結(jié)果返回給工作站;工作站收集了所有的計(jì)算結(jié)果后進(jìn)行整合,得到最終的計(jì)算結(jié)果。

2 MPI簡介

MPI(Message Passing Interface)是消息傳遞并行程序設(shè)計(jì)的標(biāo)準(zhǔn)之一,是目前最主要的并行環(huán)境。它適用于基于分布內(nèi)存的并行計(jì)算機(jī)系統(tǒng)的消息傳遞模型,具有移植性好、功能強(qiáng)大、效率高等多種特點(diǎn),而且有多種不同的免費(fèi)、高效、實(shí)用的實(shí)現(xiàn)版本,幾乎所有的并行計(jì)算機(jī)廠商都提供對(duì)它的支持,這是其他并行環(huán)境無法比擬的[2,3]。MPI于1994年產(chǎn)生,由于它吸收了其他多種并行環(huán)境的優(yōu)點(diǎn),同時(shí)兼顧性能、功能、移植性等特點(diǎn),在短短的幾年內(nèi)便迅速普及,成為消息傳遞并行環(huán)境的標(biāo)準(zhǔn),其標(biāo)準(zhǔn)已有原來的MPI-1發(fā)展到目前的MPI-2。

MPI-1標(biāo)準(zhǔn)規(guī)定了如下規(guī)范:1)MPI是一個(gè)庫,它可以被Fortran 77和C調(diào)用,從語法上說,它遵守所有對(duì)庫函數(shù)/過程的調(diào)用規(guī)則,與一般的函數(shù)/過程沒有什么區(qū)別,從而保證遵循這些標(biāo)準(zhǔn)的MPI程序可以在任何平臺(tái)上的可移植性;2)具體的MPI庫實(shí)現(xiàn)由硬件供應(yīng)商提供,從而開發(fā)出適合各供應(yīng)商硬件的最優(yōu)版本,MPI-2規(guī)范對(duì)MPI-1進(jìn)行了如下的擴(kuò)展:動(dòng)態(tài)進(jìn)程;單邊通信;非阻塞群集通信模式和通信之間群集通信模式;對(duì)可擴(kuò)展的I/O的支持,MPI-1只定義了對(duì)Fortran 77和C語言的綁定,MPI-2將語言的綁定擴(kuò)展到Fortran 90和C++;對(duì)實(shí)時(shí)處理的支持;擴(kuò)展了MPI-1的外部接口,以便使環(huán)境下具的開發(fā)更易于訪問MPI對(duì)象[3]。

3 MPI通信

在集群環(huán)境下MPI并行程序設(shè)計(jì)時(shí)使用的幾種主要通信模式:阻塞通信、非阻塞通信和組通信。其中阻塞通信和非阻塞通信都屬于點(diǎn)對(duì)點(diǎn)通信。點(diǎn)對(duì)點(diǎn)通信指兩個(gè)進(jìn)程之間的通信,這兩個(gè)進(jìn)程可以屬于相同或不同的進(jìn)程組。

阻塞通信中,MPI的標(biāo)準(zhǔn)發(fā)送及接收函數(shù)都是阻塞的。接收者在調(diào)用函數(shù)MPI_Recv后被阻塞,直至收到匹配的消息為止;但發(fā)送者的阻塞比較復(fù)雜。當(dāng)發(fā)送者調(diào)用函數(shù)MPI_Send后被阻塞,在此期間,系統(tǒng)會(huì)先把發(fā)送者的發(fā)送緩沖區(qū)中的內(nèi)容,拷貝到系統(tǒng)緩沖區(qū)中,由系統(tǒng)發(fā)送消息。發(fā)送者的操作不必等待發(fā)送完成,只要拷貝操作成功,發(fā)送者就可返回,甚至可重用存放發(fā)送緩沖區(qū)(不是系統(tǒng)緩沖區(qū))。但是,如果系統(tǒng)緩沖區(qū)不足,或消息過長,令拷貝失敗的時(shí)候,發(fā)送者將被阻塞到消息發(fā)送為止[4]。如圖2所示。

非阻塞通信主要用于實(shí)現(xiàn)計(jì)算與通信的重疊,從而提高整個(gè)程序的執(zhí)行的效率,非阻塞通信還可實(shí)現(xiàn)一些特殊的控制功能,對(duì)于非阻塞通信,不必等到通信操作完全完成便可返回,該通信操作可以交給特定的通信硬件去完成,在該通信硬件完成該通信操作的同時(shí),處理機(jī)可以同時(shí)進(jìn)行計(jì)算操作,這樣便實(shí)現(xiàn)了通信與計(jì)算的重疊。MPI的非阻塞通信操作分開始及完成兩個(gè)階段,發(fā)送者調(diào)用函數(shù)MPI_Isend或接收者調(diào)用函數(shù)MPI_Irecv后,可執(zhí)行其它計(jì)算。在發(fā)送或接收操作完成前,發(fā)送者不應(yīng)該更改發(fā)送緩沖區(qū)的內(nèi)容;接收者不宜使用接收緩沖區(qū)的內(nèi)容。發(fā)送者(接收者)需要檢測(cè)發(fā)送(接收)操作是否完成。發(fā)送(接收)操作開始時(shí),發(fā)送者(接收者)使用請(qǐng)求句柄(request handler),MPI通過檢查請(qǐng)求來決定發(fā)送(接收)操作是否完成。發(fā)送者(接收者)調(diào)用函數(shù)MPI_Test后,會(huì)馬上返回,根據(jù)返回值確定發(fā)送(接收)操作是否完成。若發(fā)送者(接收者)調(diào)用函數(shù)MPI_Wait,則發(fā)送者(接收者)會(huì)被阻塞直到發(fā)送(接收)操作完成才能返回,如圖3所示。

組通信一般實(shí)現(xiàn)三個(gè)功能:通信、同步與計(jì)算。通信功能主要完成組內(nèi)數(shù)據(jù)的傳輸;而同步功能實(shí)現(xiàn)組內(nèi)所有進(jìn)程在特定的地點(diǎn)在執(zhí)行速度上取得一致;計(jì)算功能要對(duì)給定的數(shù)據(jù)完成一定的操作。MPI組通信和點(diǎn)到點(diǎn)通信的一個(gè)重要區(qū)別,就在于它需要一個(gè)特定組內(nèi)的所有進(jìn)程同時(shí)參加通信,而不是像點(diǎn)到點(diǎn)通信那樣只涉及到發(fā)送方和接收方兩個(gè)進(jìn)程。組通信在各個(gè)不同進(jìn)程的調(diào)用形式完全相同,而不像點(diǎn)到點(diǎn)通信那樣在形式上就有發(fā)送和接收的區(qū)別。

4 MPI并行程序設(shè)計(jì)中通信技術(shù)分析

MPI并行計(jì)算的流程如下:在調(diào)用MPI例程之前,各個(gè)進(jìn)程都應(yīng)該執(zhí)行MPI_INIT,接著調(diào)用MPI_ COMM_SIZE獲取缺省組(group)的大小,調(diào)用MPI_COMM_RANK獲取調(diào)用進(jìn)程在缺省組中的邏輯編號(hào)。然后,進(jìn)程可以根據(jù)需要,向其它節(jié)點(diǎn)發(fā)送消息或接收其它節(jié)點(diǎn)的消息,經(jīng)常調(diào)用的函數(shù)是MPI_Send和MPI_ Recv 。最后,當(dāng)不需要調(diào)用任何MPI例程后,調(diào)用MPI_Finalize消除MPI環(huán)境,進(jìn)程此時(shí)可以結(jié)束,也可以繼續(xù)執(zhí)行與MPI無關(guān)的語句。

對(duì)等模式和主從模式是MPI并行程序的兩種最基本的設(shè)計(jì)模式。大部分的MPI程序都是這兩種模式之一或二者的組合。掌握了這兩種模式,就掌握了并行程序設(shè)計(jì)的主線。

所謂對(duì)等模式,就是說MPI程序的各個(gè)進(jìn)程的功能、地位相同或相近,MPI程序的代碼也應(yīng)該是相近的,所不同的只是處理的對(duì)象和操作的數(shù)據(jù),比如MPI程序讓各個(gè)進(jìn)程同時(shí)對(duì)一個(gè)數(shù)組的不同部分并行賦初值,各個(gè)進(jìn)程間的關(guān)系就是典型的對(duì)等關(guān)系。

所謂主從模式,就是MPI程序的各個(gè)進(jìn)程所起的作用和地位并不相同,一個(gè)或者一些進(jìn)程完成一類任務(wù),而另外的進(jìn)程完成其它的任務(wù),這些功能或者地位不同的進(jìn)程所對(duì)應(yīng)的代碼也有較大的差別。主從模式下,由一組進(jìn)程共同完成同一個(gè)計(jì)算任務(wù),其中一個(gè)為主進(jìn)程,負(fù)責(zé)其它從進(jìn)程的生成、初始化,并分配負(fù)載給從進(jìn)程。從進(jìn)程完成實(shí)際計(jì)算后,將計(jì)算結(jié)果傳動(dòng)給主進(jìn)程,最后由主進(jìn)程收集計(jì)算結(jié)果并輸出。主從式屬于一種星型計(jì)算模式。

在這兩種模式中,為了增強(qiáng)程序的運(yùn)行效率,一般采用非阻塞通信,實(shí)現(xiàn)計(jì)算與通信的重疊,也可以采用阻塞通信與非阻塞通信的結(jié)合。一般有以下三種組合方式:1)發(fā)送者及接收者同時(shí)使用阻塞通信,但這種方式容易出現(xiàn)死鎖;2)發(fā)送者用非阻塞通信,接收者用阻塞通信,要求在更改發(fā)送者的發(fā)送緩沖區(qū)的內(nèi)容前,需要肯定發(fā)送操作已經(jīng)完成;3)發(fā)送者及接收者都用非阻塞通信,要求發(fā)送者必須肯定發(fā)送操作完成才可更改發(fā)送緩沖區(qū)的內(nèi)容,而接收者必須肯定接收操作完成才可使用接收緩沖區(qū)的內(nèi)容。另外MPI還提供了集體通信操作函數(shù)完成一組相關(guān)進(jìn)程數(shù)據(jù)處理和通信操作,支持廣播、分散、收集、多收集、多對(duì)多等進(jìn)程組內(nèi)多進(jìn)程數(shù)據(jù)通信操作。合理的利用這些集體通信操作函數(shù)能有效的提高程序運(yùn)行的效率,降低程序的復(fù)雜度,十分有利于科學(xué)計(jì)算[5]。

5 發(fā)展及展望

隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和對(duì)集群系統(tǒng)和MPI的深入研究,特別是高效通信機(jī)制的開發(fā),集群系統(tǒng)的通信性能將得到更大的改善,MPI通信技術(shù)更加成熟,MPI編程環(huán)境和工具也將逐步完善,將很大程度上提高大規(guī)模并行計(jì)算的效率,從而有望在集群系統(tǒng)上解決更多的應(yīng)用問題,使并行處理系統(tǒng)的應(yīng)用領(lǐng)域更加廣泛。

參考文獻(xiàn):

[1] William G, Luck E, Skjellum A.Using MPI:Portable Parallel Programming with the Message Passing Interface[M].2nd Edition .MIT Press,Cambridge,MA,1999.

[2] 羅省賢,何大可.基于MPI的網(wǎng)絡(luò)并行計(jì)算環(huán)境及應(yīng)用[M].成都:西南交通大學(xué)出版社,2001:104-197.

[3] 黃旭東,林鷺.基于Linux 集群的并行環(huán)境簡單架設(shè)[J].計(jì)算機(jī)應(yīng)用研究,2004,(11):254-256.

[4] Snir M, Otto S,Huss-Lederman S,et al.MPI,the Complete Reference volume 1,The MPI Core. London,England.The MPI Core. London, England.The MIT Press,1999.

[5] 王萃寒,趙晨.分布式并行計(jì)算環(huán)境:MPI[J].計(jì)算機(jī)科學(xué),2003,30(1):25-26.

主站蜘蛛池模板: 国产不卡网| 四虎精品国产AV二区| a级毛片免费网站| 久久特级毛片| 毛片一级在线| 久久精品午夜视频| 精品国产一二三区| 国产色网站| 亚洲第一黄色网址| 91在线中文| 成人永久免费A∨一级在线播放| www.日韩三级| 99re视频在线| 中文字幕人妻无码系列第三区| 国产乱人免费视频| 免费a在线观看播放| 日本黄色不卡视频| 欧美午夜性视频| 福利视频久久| 国外欧美一区另类中文字幕| 国产精品久久久久鬼色| 久久国产精品嫖妓| 欧美亚洲第一页| 欧美色综合网站| 久久免费视频播放| 免费女人18毛片a级毛片视频| 67194亚洲无码| 欧美不卡视频一区发布| 亚洲成人网在线观看| 无码专区在线观看| 国产日韩欧美精品区性色| 欧美人与动牲交a欧美精品| 久久一色本道亚洲| 欧美日韩综合网| 国产99视频免费精品是看6| 久久久久亚洲av成人网人人软件| 国产精品女人呻吟在线观看| 又大又硬又爽免费视频| 久久久久久久久亚洲精品| 四虎永久在线| 手机永久AV在线播放| 粉嫩国产白浆在线观看| 黄色网页在线观看| 亚洲AV无码精品无码久久蜜桃| 成年人免费国产视频| 欧美亚洲香蕉| 美女免费黄网站| 国产精品色婷婷在线观看| 久久精品嫩草研究院| jijzzizz老师出水喷水喷出| 美女被躁出白浆视频播放| 国产欧美精品一区aⅴ影院| 色九九视频| 国产第八页| 精品亚洲国产成人AV| 四虎精品黑人视频| 好吊妞欧美视频免费| 91小视频在线观看| 日韩乱码免费一区二区三区| 国产99精品视频| 奇米影视狠狠精品7777| aⅴ免费在线观看| 亚洲欧美色中文字幕| 九九免费观看全部免费视频| 激情综合图区| 九色在线视频导航91| 国产理论精品| 亚洲日韩精品伊甸| 欧美一级99在线观看国产| 国产SUV精品一区二区| 欧美一区二区啪啪| 亚洲中文字幕在线观看| 毛片久久网站小视频| 成人国产精品一级毛片天堂| 精品一区二区无码av| 欧美日韩免费| 欧美区一区二区三| 伊人久久婷婷五月综合97色| 伊人久久精品亚洲午夜| 国产福利观看| 亚洲男人天堂2020| 亚洲欧美日韩色图|