資源描述:
《unix中的并行計(jì)算技術(shù)及其應(yīng)用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、UNIX中的并行計(jì)算技術(shù)及其應(yīng)用2007年(第36卷)第2期量技術(shù)Ilj嗣中陶并行計(jì)算投術(shù)及翼應(yīng)用孫輝霞(合作民族師范高等??茖W(xué)校,甘肅合作747000)摘要:本文論述了并行計(jì)算技術(shù)的特點(diǎn)及Unix中所采用的并行計(jì)算技術(shù)的實(shí)現(xiàn)方法并行虛擬機(jī)PVM和非完全并行虛擬杌NTPVM,重點(diǎn)分析了非完全并行虛擬機(jī)NTPVM的實(shí)現(xiàn)及其工作過(guò)程和優(yōu)點(diǎn),并給出這兩種技術(shù)在具體系統(tǒng)中的應(yīng)用,最后給出了結(jié)論.關(guān)鍵詞:并行計(jì)算并行虛擬機(jī)非完全并行虛擬機(jī)0引言自20世紀(jì)60年代末計(jì)算機(jī)網(wǎng)絡(luò)開(kāi)始發(fā)展,網(wǎng)絡(luò)技術(shù)在資源共享,信息
2、傳遞及信息通信等方面取得了長(zhǎng)足發(fā)展,尤其是分布式計(jì)算技術(shù)的應(yīng)用,在網(wǎng)絡(luò)資源利用和網(wǎng)絡(luò)通信方面顯示出其它技術(shù)無(wú)法替代的優(yōu)勢(shì),這種技術(shù)提供一個(gè)并行程序開(kāi)發(fā)環(huán)境,它可以把多個(gè)異構(gòu)的計(jì)算機(jī)組織起來(lái)成為一個(gè)易于管理的,可擴(kuò)展的,易編程使用的并行計(jì)算資源.它的各個(gè)計(jì)算結(jié)點(diǎn)可以是共享存儲(chǔ)或分布式存儲(chǔ)的多處理機(jī)或者是向量超級(jí)計(jì)算機(jī),專用的圖形,標(biāo)量工作站.這些異構(gòu)的計(jì)算節(jié)點(diǎn)可以通過(guò)多種網(wǎng)絡(luò)(比如Ethemet,FDDI等等)互聯(lián),成為一個(gè)網(wǎng)絡(luò)計(jì)算虛擬機(jī).用戶的計(jì)算任務(wù)被分配到各個(gè)計(jì)算節(jié)點(diǎn)上,多個(gè)節(jié)點(diǎn)并行運(yùn)算,從而
3、實(shí)現(xiàn)粗粒度的并行.最近,以網(wǎng)格計(jì)算的形式出現(xiàn)了一種新的將計(jì)算作為工具的概念.開(kāi)放網(wǎng)格服務(wù)架構(gòu)提供了一種構(gòu)建在消息傳遞庫(kù)和本地主機(jī)運(yùn)行系統(tǒng)之上的更高級(jí)的服務(wù)層次.這些更高級(jí)的抽象正在很快將分布式計(jì)算帶入主流之中.Unix系統(tǒng)在并行計(jì)算的實(shí)現(xiàn)中,采用了PvM和NTPVM技術(shù),這兩項(xiàng)技術(shù)被廣范應(yīng)用于分布式計(jì)算系統(tǒng)中.1并行虛擬機(jī)PVM對(duì)并行計(jì)算的實(shí)現(xiàn)1.1并行虛擬機(jī)的工作原理(見(jiàn)圖1)圖l運(yùn)行在PVM虛擬機(jī)上的應(yīng)用程序的邏輯視圖并行虛擬機(jī)為用戶提供了一個(gè)高級(jí)但不透明的系統(tǒng),這個(gè)系統(tǒng)負(fù)責(zé)協(xié)調(diào)網(wǎng)絡(luò)中各工作站
4、上的任務(wù).PVM中的基本計(jì)算單位被稱的通信為任務(wù),類似于U—NIX中的進(jìn)程.PVM程序調(diào)用PVM庫(kù)函數(shù)來(lái)創(chuàng)建和協(xié)調(diào)任務(wù).任務(wù)可以通過(guò)調(diào)用PVM庫(kù)函數(shù)向其它任務(wù)傳遞消息來(lái)進(jìn)行通信.通過(guò)通信或同步相互配合的任務(wù)被組織成名為計(jì)算的組,PVM支持計(jì)算內(nèi)部的直接通信,廣播和路障.PVM的邏輯圖給出了其工作原理,通過(guò)邏輯圖我們可以看出一個(gè)PVM應(yīng)用程序通常都以能夠控制問(wèn)題的解決的輸入和任務(wù)分割為開(kāi)始.用戶在這個(gè)任務(wù)中指出其它的任務(wù)該如何配合來(lái)解決這個(gè)問(wèn)題.輸入和分割任務(wù)創(chuàng)建若干個(gè)計(jì)算,每個(gè)計(jì)算中的任務(wù)共享數(shù)據(jù)
5、且相互通信.PⅥd應(yīng)用程序有一個(gè)專用的任務(wù)來(lái)處理輸出和用戶的顯示,PVM應(yīng)用程序中其它的任務(wù)將它們的輸出傳給這個(gè)任務(wù),以便在應(yīng)用程序的控制臺(tái)上將它們顯示出來(lái).1.2PVM模式的缺點(diǎn)PVM實(shí)現(xiàn)了將程序劃分為任務(wù)的分布式計(jì)算,但在工作過(guò)程中存在著缺點(diǎn),其中最主要的缺點(diǎn)體現(xiàn)在對(duì)用戶的不透明性上.要運(yùn)行一個(gè)PVM程序,用戶首先要指定用來(lái)組成虛擬機(jī)的機(jī)器或主機(jī),然后在每一臺(tái)主機(jī)上啟動(dòng)PVM控制守護(hù)進(jìn)程,控制守護(hù)進(jìn)程與用戶的控制臺(tái)進(jìn)行通信,負(fù)責(zé)處理通信,并對(duì)它所在的機(jī)器上的任務(wù)進(jìn)行控制.為了將輸入發(fā)送到一個(gè)特
6、定的任務(wù)中去,PVM要將數(shù)據(jù)發(fā)送到目標(biāo)主機(jī)的守護(hù)進(jìn)程中去,然后這個(gè)守護(hù)進(jìn)程將它轉(zhuǎn)發(fā)給適當(dāng)?shù)娜蝿?wù).同樣,任務(wù)通過(guò)向它的守護(hù)進(jìn)程發(fā)送一條消息來(lái)輸出,它的守護(hù)進(jìn)程依次將它轉(zhuǎn)發(fā)給控制臺(tái)的守護(hù)進(jìn)程,然后再轉(zhuǎn)發(fā)給應(yīng)用程序的輸出任務(wù).在這個(gè)過(guò)各中,用戶對(duì)虛擬機(jī)的指定是PVM運(yùn)行的關(guān)鍵,對(duì)一般用戶而言,這一工作顯然要求過(guò)高.除上述缺點(diǎn)外,PVM還存在其它一些缺點(diǎn),如PVM要求消息的按序傳遞,用一個(gè)緩沖機(jī)制來(lái)存儲(chǔ)消息,因此要提供復(fù)雜的監(jiān)視工具.為了解決這些缺點(diǎn),IAnux在PVM的基本上采取了非完全并行虛擬機(jī)(NT
7、PVM)技術(shù).2非完全并行虛擬機(jī)NTPVM對(duì)并行計(jì)算的實(shí)現(xiàn)2,1非完全并行虛擬機(jī)的工作原理非完全并行虛擬機(jī)是一個(gè)調(diào)度程序,它負(fù)責(zé)在單個(gè)主機(jī)上創(chuàng)建和管理任務(wù).其工作過(guò)程為,調(diào)度程序通過(guò)它的標(biāo)準(zhǔn)輸入接收請(qǐng)求,通過(guò)它的標(biāo)準(zhǔn)輸出進(jìn)行響應(yīng),其處理的任務(wù)是獨(dú)立的進(jìn)程,它們被組織成名為計(jì)算的單元,調(diào)度程序負(fù)責(zé)創(chuàng)建和管理任務(wù).通常,調(diào)度程序通過(guò)從它的標(biāo)準(zhǔn)輸入中讀出分組并將分組寫(xiě)入到它的標(biāo)準(zhǔn)輸出中去來(lái)與外界進(jìn)行通信.調(diào)度程序可能會(huì)收到一個(gè)數(shù)據(jù)分組,這個(gè)數(shù)據(jù)分組的目標(biāo)是在它控制之下的一個(gè)任務(wù),調(diào)度程序?qū)⒃谒刂浦碌?/p>
8、任務(wù)產(chǎn)生的輸出以分組的形式傳送給它自己的標(biāo)準(zhǔn)輸出.2.2非完全并行虛擬機(jī)的組成非完全并行虛擬機(jī)包含一個(gè)計(jì)算ID,一個(gè)任務(wù)ID,一個(gè)分組類型,一個(gè)分組長(zhǎng)度和分組信息.其中分組類型有六種NEW—TASK,DATA,BROADCAST,DONE,TERMINATE和BARRIER,非完全并行虛擬機(jī)的工作主要由這六類分組類型及其它組成單位協(xié)同完成,它們的類型解釋和工作過(guò)程如下:(1)當(dāng)調(diào)度程序在標(biāo)準(zhǔn)輸入上接收到一個(gè)NEWTASK分組時(shí),它就初始化一個(gè)新任務(wù),這個(gè)分組的信息部分給出了要由創(chuàng)建