Linux下的網(wǎng)絡(luò)并行計(jì)算
時間:2009-02-23 00:04:00
來源:UltraLAB圖形工作站方案網(wǎng)站
人氣:4918
作者:admin
1977年,DEC公司推出了以VAX為結(jié)點(diǎn)機(jī)的松散耦合的集群系統(tǒng),并成功地將VMS操作系統(tǒng)移植到該系統(tǒng)上。20世紀(jì)90年代后,隨著RISC技術(shù)的發(fā)展運(yùn)用和高性能網(wǎng)絡(luò)產(chǎn)品的出現(xiàn),集群系統(tǒng)在性能價格比(Cost/Performance)、可擴(kuò)展性(Scalability)、可用性 (Availability)等方面都顯示出了很強(qiáng)的競爭力,尤其是它在對現(xiàn)有單機(jī)上的軟硬件產(chǎn)品的繼承和對商用軟硬件最新研究成果的快速運(yùn)用,從兩方面表現(xiàn)出傳統(tǒng)MPP無法比擬的優(yōu)勢。
目前,集群系統(tǒng)已在許多領(lǐng)域獲得應(yīng)用??梢灶A(yù)見,隨著 SMP產(chǎn)品的大量使用和高性能網(wǎng)絡(luò)產(chǎn)品的完善以及各種軟硬件支持的增多和系統(tǒng)軟件、應(yīng)用軟件的豐富,新一代高性能集群系統(tǒng)必將成為未來高性能計(jì)算領(lǐng)域的一種主流平臺。具有代表性的集群系統(tǒng)有IBM的SP2、SGI的POWER CHALLENGEarray、Microsoft的 Wolfpack、DEC的TruClusters、SUN的SPARCcluster 1000/2000PDB以及Berkeley NOW 等,中國國家智能計(jì)算機(jī)研究開發(fā)中心的曙光-1000A、曙光-2000I和曙光-2000II也都屬集群系統(tǒng)。
什么是Beowulf?
集群已經(jīng)成為現(xiàn)在各高性能計(jì)算機(jī)廠商的研究熱點(diǎn)。據(jù)統(tǒng)計(jì),在全球計(jì)算能力最強(qiáng)大的500臺計(jì)算機(jī)當(dāng)中,集群所占的比重從1997年到1999年依次為1臺、2臺和76臺。集群研究的發(fā)展勢頭可見一斑。
Linux作為一個新興的操作系統(tǒng),以它為平臺來構(gòu)建集群有很多優(yōu)點(diǎn):
1. 廉價:與Windows以及其它商品化Unix操作系統(tǒng)相比,Linux的一個顯而易見的優(yōu)勢就是廉價。硬件的花銷加上很少的軟件費(fèi)用就可以擁有一個PC工作站或服務(wù)器,這方面顯然是其它操作系統(tǒng)無法比擬的。而且Linux對于硬件的要求比Windows要低得多。一般的用戶也可以利用Linux來構(gòu)造一個高性能的集群來進(jìn)行科學(xué)計(jì)算、實(shí)驗(yàn),在很大程度上它可以替代以往昂貴的大型計(jì)算機(jī)。
2. 自由開放:自由開放是Linux的一個最迷人的特點(diǎn)。 Linux的開發(fā)者從Linus 等寥寥幾人發(fā)展到全世界將近1000萬的龐大用戶群,其擴(kuò)張速度令人刮目。Linux并不僅僅是給用戶提供了更多的選擇,更重要的是它寬闊的胸懷征服了那些好奇、上進(jìn)、富于創(chuàng)造精神和協(xié)作精神的電腦愛好者。
而開放源碼為提高性能提供了更加廣闊的空間。開發(fā)者可以看到這個系統(tǒng)是怎樣跑起來的,然后在操作系統(tǒng)一級進(jìn)一步提高性能便成為可能。而在Windows或者AIX這樣的操作系統(tǒng)中,得到它們的源碼已是很不容易,要想舒舒服服地從操作系統(tǒng)著手來優(yōu)化上層的大型應(yīng)用更是難上加難。
3. 高效:目前,由于還比較缺乏對Linux的性能和功能評價的系統(tǒng)科學(xué)研究,在同等硬件配置和應(yīng)用環(huán)境下,Linux與其他操作系統(tǒng)相比孰優(yōu)孰劣還不太明了。但是,已經(jīng)有不少數(shù)據(jù)說明,作為工作站或小型服務(wù)器,Linux已經(jīng)可以與它的對手一較高低了,尤其是它的網(wǎng)絡(luò)性能以及可靠性都備受稱贊,而這些正是一個高效集群不可缺少的。
Linux環(huán)境下的集群系統(tǒng)中比較有影響力的要屬Beowulf 集群了。Beowulf(發(fā)音為Bay oh wolf或者Bee oh wolf,這個詞來自于傳說中斯堪的納維亞人中一個英雄的名字)集群的研究是由美國國家航空航天局(NASA)于1994年上半年發(fā)起的。1994年夏天,Thomas Sterling和Don Becker等人構(gòu)建了一臺由以太網(wǎng)連接的擁有16個DX4處理器的集群。他們把這個
集群計(jì)算機(jī)叫做Beowulf。它主要用來進(jìn)行地球、空間科學(xué)的研究。Beowulf的目的主要是使用普通的、相對廉價的計(jì)算機(jī)構(gòu)建能夠處理繁重計(jì)算的集群。此后,Beowulf的思想迅速被世界上許多研究機(jī)構(gòu)認(rèn)同和接受。 Beowulf集群的研究也熱火朝天地開展起來。
關(guān)于究竟什么樣才能叫做一個真正的Beowulf集群,目前還沒有定論。就像我們前面提到的集群體系結(jié)構(gòu)那樣,Beowulf集群通常由服務(wù)節(jié)點(diǎn)(server node),成員節(jié)點(diǎn)(client node)通過以太網(wǎng)或者其他網(wǎng)絡(luò)連接構(gòu)成。盡管Beowulf 的初衷是使用成熟的大眾化的配件來構(gòu)建集群,現(xiàn)在也有人把為了提高性能而使用了一些專用部件(比如專用的高速互聯(lián)網(wǎng)絡(luò)等等)的集群叫做Beowulf集群。 #p#page_title#e#
在Beowulf集群上運(yùn)行的軟件是Linux、PVM和MPI。一般由服務(wù)節(jié)點(diǎn)來控制整個集群。這個服務(wù)節(jié)點(diǎn)是集群的控制臺和對外的網(wǎng)關(guān)。在規(guī)模比較大的Beowulf集群中有可能出現(xiàn)多個服務(wù)節(jié)點(diǎn)。比如,專門使用集群中的一個節(jié)點(diǎn)來做控制臺或統(tǒng)計(jì)整個集群的運(yùn)行狀態(tài)。通常,Beowulf集群中的成員節(jié)點(diǎn)都是啞成員,也就是說,它們不與外界交互。成員節(jié)點(diǎn)由服務(wù)結(jié)點(diǎn)來管理,做服務(wù)節(jié)點(diǎn)給它們分配的任務(wù)。
Beowulf集群與加州大學(xué)Berkley分校進(jìn)行的NOW (Network Of Workstations)項(xiàng)目的研究有非常微妙但卻很重要的區(qū)別。
Beowulf集群中的成員節(jié)點(diǎn)以及內(nèi)部連接是集群專用的。從這一點(diǎn)來看,Beowulf更像是一臺完整的機(jī)器,而不是一個由許多計(jì)算機(jī)組成的松散的群體。大多數(shù)集群的節(jié)點(diǎn)并沒有鍵盤、顯示器等,只是通過遠(yuǎn)程登錄來訪問控制它們。就像CPU和內(nèi)存可以方便地安裝到主板上一樣,Beowulf的節(jié)點(diǎn)作為內(nèi)置的模塊插入 Beowulf集群中。Beowulf集群中的節(jié)點(diǎn)之間的連接(通常是高速網(wǎng)絡(luò),比如Fast Ethernet、 ATM、 Myrinet等)也是內(nèi)部專用的。它與集群與外界連接的普通網(wǎng)絡(luò)相隔離。這些特點(diǎn)使得Beowulf集群中的負(fù)載均衡以及結(jié)點(diǎn)之間的信賴關(guān)系變得更容易處理,因?yàn)樗鼈儾皇芡饨绲挠绊?。而且結(jié)點(diǎn)之間的通信也會高效許多。
Beowulf并不是一個軟件包,一種新的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)或者內(nèi)核技術(shù)。它是一種使用跑Linux的機(jī)器來構(gòu)建并行虛擬機(jī)的思想。盡管有很多軟件(比如一些內(nèi)核的修改,PVM和MPI并行運(yùn)算庫或者一些管理工具)可以使Beowulf體系結(jié)構(gòu)更快,更容易管理和使用,但我們?nèi)匀豢梢灾皇褂肔inux來建造一個自己的Beowulf集群。一個最簡單的Beowulf集群可以由兩臺互相連接并且擁有一些信任關(guān)系(比如NFS 和rsh權(quán)限)的Linux計(jì)算機(jī)組成。
Beowulf集群的重要模塊
撇開并行應(yīng)用本身不談,跟任何集群一樣,Beowulf的性能取決于下面幾個因素:節(jié)點(diǎn)本身、節(jié)點(diǎn)之間互聯(lián)設(shè)備、底層通信軟件(包括互聯(lián)設(shè)備的驅(qū)動)、全局資源管理系統(tǒng)以及并行計(jì)算環(huán)境(PVM或MPI)等等。
對于給定的應(yīng)用問題,在節(jié)點(diǎn)數(shù)一定的條件下,則由以下三個方面的因素來決定并行處理的速度。首先是應(yīng)用問題求解的算法,其次是處理結(jié)點(diǎn)軟硬件的速度。另外,由于應(yīng)用問題的不同部分之間往往有著某種數(shù)據(jù)依賴關(guān)系,不同部分之間需要進(jìn)行一定的通信,因此通信性能成了另外的一個因素。下面,我們將著重介紹高性能集群的通信子系統(tǒng):底層互聯(lián)設(shè)備、底層通信軟件以及并行計(jì)算環(huán)境。從下圖可以看到,這幾個部分對于整個集群的性能來說都是非常重要的。
· 底層互聯(lián)網(wǎng)絡(luò)
>
在集群系統(tǒng)中,分布在各個節(jié)點(diǎn)上的進(jìn)程之間通常有大量的信息要交換,這都要通過互聯(lián)網(wǎng)絡(luò)來實(shí)現(xiàn)。因此,互聯(lián)網(wǎng)絡(luò)性能的優(yōu)劣會直接影響信息交換的速率和效率,進(jìn)而影響整個集群系統(tǒng)的整體性能。
理想狀態(tài)下互聯(lián)網(wǎng)絡(luò)應(yīng)該具有以下特征:
☆?較短的通信延時(Latency)
☆?較高的通信帶寬(Bandwidth)
☆?極小的錯誤率(Error Rate)
☆?較好的可擴(kuò)展性(Scalability)
集群中經(jīng)常使用的互聯(lián)設(shè)備有快速以太網(wǎng)、ATM網(wǎng)絡(luò)、 Myrinet以及專用的mesh網(wǎng)絡(luò)等等。
· 底層通信軟件
底層通信軟件是集群通信效率高低的關(guān)鍵。在這一層所要關(guān)心的問題是協(xié)議問題。TCP/IP協(xié)議把各種各樣異構(gòu)的機(jī)器連接起來,組成一個實(shí)際的計(jì)算機(jī)網(wǎng)絡(luò)。這種強(qiáng)大的兼容性卻往往需要以效率作為代價。比如用戶的消息從發(fā)送方到接收方一般要經(jīng)過多次拷貝(從發(fā)方用戶空間拷貝到核心空間,從核心空間拷貝到接收方用戶空間以及中間進(jìn)行差錯校驗(yàn),重發(fā)機(jī)制等等帶來的拷貝)。而統(tǒng)計(jì)表明,每增加一次拷貝,通信的效率就會降低至少20%。而在集群中,就采用一些專門的技術(shù)來解決這些問題。比如用戶級通信技術(shù)用來減少通信軟件進(jìn)入操作系統(tǒng)核心的次數(shù),零拷貝技術(shù)減少消息通路上的拷貝次數(shù)等等。 #p#page_title#e#
· 網(wǎng)絡(luò)并行計(jì)算軟件
有了高速網(wǎng)絡(luò)和簡潔高效的底層協(xié)議,集群并行計(jì)算軟件的任務(wù)就是在提供完備的并行計(jì)算語義的情況下,盡量地把底層物理性能提供給上層的并行應(yīng)用。集群(包括Beowulf)中最流行的兩個并行計(jì)算環(huán)境是PVM 和MPI。
PVM(Parallel Virtual Machine)是由美國 田納西大學(xué)、奧克里季國家實(shí)驗(yàn)室等研制的并行程序開發(fā)環(huán)境。它可以把多個異構(gòu)的計(jì)算機(jī)組織起來成為一個易于管理的、可擴(kuò)展的、易編程使用的并行計(jì)算資源。它的各個計(jì)算結(jié)點(diǎn)可以是共享存儲或分布式存儲的多處理機(jī)或者是向量超級計(jì)算機(jī)、專用的圖形、標(biāo)量工作站。這些異構(gòu)的計(jì)算節(jié)點(diǎn)可以通過多種網(wǎng)絡(luò)(比如Ethernet、FDDI等等)互聯(lián),成為一個網(wǎng)絡(luò)計(jì)算虛擬機(jī)。用戶的計(jì)算任務(wù)被分配到各個計(jì)算節(jié)點(diǎn)上,多個節(jié)點(diǎn)并行運(yùn)算,從而實(shí)現(xiàn)粗粒度的并行。
PVM的免費(fèi)、開放以及易用使其成為一個被廣泛接受的并行程序開發(fā)環(huán)境,有很多并行機(jī)公司都宣布支持PVM、PVM 可以安裝到各種Unix、 Windows操作系統(tǒng)上運(yùn)行。所有這些又有力地促進(jìn)了PVM的推廣?,F(xiàn)在所有的并行機(jī)都支持PVM3。
MPI是并行計(jì)算機(jī)的消息傳遞接口標(biāo)準(zhǔn)。指定該標(biāo)準(zhǔn)的主要目的是為了提高并行程序的可移植性和使用的方便性。有了統(tǒng)一的標(biāo)準(zhǔn),并行計(jì)算環(huán)境下的應(yīng)用軟件庫以及軟件工具就都可以透明的移植。各個廠商可以依據(jù)標(biāo)準(zhǔn)提供獨(dú)具特色和優(yōu)勢的軟件實(shí)現(xiàn)和硬件支持,從而提高并行處理的能力。
MPI沒有簡單地指定某系統(tǒng)為標(biāo)準(zhǔn),而是吸取許多已經(jīng)廣泛應(yīng)用的消息傳遞系統(tǒng)的特點(diǎn)。它在采納已有系統(tǒng)優(yōu)點(diǎn)的基礎(chǔ)上,增加了許多新的特點(diǎn),從而使其成為非常有吸引力的標(biāo)準(zhǔn)
目前,集群系統(tǒng)已在許多領(lǐng)域獲得應(yīng)用??梢灶A(yù)見,隨著 SMP產(chǎn)品的大量使用和高性能網(wǎng)絡(luò)產(chǎn)品的完善以及各種軟硬件支持的增多和系統(tǒng)軟件、應(yīng)用軟件的豐富,新一代高性能集群系統(tǒng)必將成為未來高性能計(jì)算領(lǐng)域的一種主流平臺。具有代表性的集群系統(tǒng)有IBM的SP2、SGI的POWER CHALLENGEarray、Microsoft的 Wolfpack、DEC的TruClusters、SUN的SPARCcluster 1000/2000PDB以及Berkeley NOW 等,中國國家智能計(jì)算機(jī)研究開發(fā)中心的曙光-1000A、曙光-2000I和曙光-2000II也都屬集群系統(tǒng)。
什么是Beowulf?
集群已經(jīng)成為現(xiàn)在各高性能計(jì)算機(jī)廠商的研究熱點(diǎn)。據(jù)統(tǒng)計(jì),在全球計(jì)算能力最強(qiáng)大的500臺計(jì)算機(jī)當(dāng)中,集群所占的比重從1997年到1999年依次為1臺、2臺和76臺。集群研究的發(fā)展勢頭可見一斑。
Linux作為一個新興的操作系統(tǒng),以它為平臺來構(gòu)建集群有很多優(yōu)點(diǎn):
1. 廉價:與Windows以及其它商品化Unix操作系統(tǒng)相比,Linux的一個顯而易見的優(yōu)勢就是廉價。硬件的花銷加上很少的軟件費(fèi)用就可以擁有一個PC工作站或服務(wù)器,這方面顯然是其它操作系統(tǒng)無法比擬的。而且Linux對于硬件的要求比Windows要低得多。一般的用戶也可以利用Linux來構(gòu)造一個高性能的集群來進(jìn)行科學(xué)計(jì)算、實(shí)驗(yàn),在很大程度上它可以替代以往昂貴的大型計(jì)算機(jī)。
2. 自由開放:自由開放是Linux的一個最迷人的特點(diǎn)。 Linux的開發(fā)者從Linus 等寥寥幾人發(fā)展到全世界將近1000萬的龐大用戶群,其擴(kuò)張速度令人刮目。Linux并不僅僅是給用戶提供了更多的選擇,更重要的是它寬闊的胸懷征服了那些好奇、上進(jìn)、富于創(chuàng)造精神和協(xié)作精神的電腦愛好者。
而開放源碼為提高性能提供了更加廣闊的空間。開發(fā)者可以看到這個系統(tǒng)是怎樣跑起來的,然后在操作系統(tǒng)一級進(jìn)一步提高性能便成為可能。而在Windows或者AIX這樣的操作系統(tǒng)中,得到它們的源碼已是很不容易,要想舒舒服服地從操作系統(tǒng)著手來優(yōu)化上層的大型應(yīng)用更是難上加難。
3. 高效:目前,由于還比較缺乏對Linux的性能和功能評價的系統(tǒng)科學(xué)研究,在同等硬件配置和應(yīng)用環(huán)境下,Linux與其他操作系統(tǒng)相比孰優(yōu)孰劣還不太明了。但是,已經(jīng)有不少數(shù)據(jù)說明,作為工作站或小型服務(wù)器,Linux已經(jīng)可以與它的對手一較高低了,尤其是它的網(wǎng)絡(luò)性能以及可靠性都備受稱贊,而這些正是一個高效集群不可缺少的。
Linux環(huán)境下的集群系統(tǒng)中比較有影響力的要屬Beowulf 集群了。Beowulf(發(fā)音為Bay oh wolf或者Bee oh wolf,這個詞來自于傳說中斯堪的納維亞人中一個英雄的名字)集群的研究是由美國國家航空航天局(NASA)于1994年上半年發(fā)起的。1994年夏天,Thomas Sterling和Don Becker等人構(gòu)建了一臺由以太網(wǎng)連接的擁有16個DX4處理器的集群。他們把這個
集群計(jì)算機(jī)叫做Beowulf。它主要用來進(jìn)行地球、空間科學(xué)的研究。Beowulf的目的主要是使用普通的、相對廉價的計(jì)算機(jī)構(gòu)建能夠處理繁重計(jì)算的集群。此后,Beowulf的思想迅速被世界上許多研究機(jī)構(gòu)認(rèn)同和接受。 Beowulf集群的研究也熱火朝天地開展起來。
關(guān)于究竟什么樣才能叫做一個真正的Beowulf集群,目前還沒有定論。就像我們前面提到的集群體系結(jié)構(gòu)那樣,Beowulf集群通常由服務(wù)節(jié)點(diǎn)(server node),成員節(jié)點(diǎn)(client node)通過以太網(wǎng)或者其他網(wǎng)絡(luò)連接構(gòu)成。盡管Beowulf 的初衷是使用成熟的大眾化的配件來構(gòu)建集群,現(xiàn)在也有人把為了提高性能而使用了一些專用部件(比如專用的高速互聯(lián)網(wǎng)絡(luò)等等)的集群叫做Beowulf集群。 #p#page_title#e#
在Beowulf集群上運(yùn)行的軟件是Linux、PVM和MPI。一般由服務(wù)節(jié)點(diǎn)來控制整個集群。這個服務(wù)節(jié)點(diǎn)是集群的控制臺和對外的網(wǎng)關(guān)。在規(guī)模比較大的Beowulf集群中有可能出現(xiàn)多個服務(wù)節(jié)點(diǎn)。比如,專門使用集群中的一個節(jié)點(diǎn)來做控制臺或統(tǒng)計(jì)整個集群的運(yùn)行狀態(tài)。通常,Beowulf集群中的成員節(jié)點(diǎn)都是啞成員,也就是說,它們不與外界交互。成員節(jié)點(diǎn)由服務(wù)結(jié)點(diǎn)來管理,做服務(wù)節(jié)點(diǎn)給它們分配的任務(wù)。
Beowulf集群與加州大學(xué)Berkley分校進(jìn)行的NOW (Network Of Workstations)項(xiàng)目的研究有非常微妙但卻很重要的區(qū)別。
Beowulf集群中的成員節(jié)點(diǎn)以及內(nèi)部連接是集群專用的。從這一點(diǎn)來看,Beowulf更像是一臺完整的機(jī)器,而不是一個由許多計(jì)算機(jī)組成的松散的群體。大多數(shù)集群的節(jié)點(diǎn)并沒有鍵盤、顯示器等,只是通過遠(yuǎn)程登錄來訪問控制它們。就像CPU和內(nèi)存可以方便地安裝到主板上一樣,Beowulf的節(jié)點(diǎn)作為內(nèi)置的模塊插入 Beowulf集群中。Beowulf集群中的節(jié)點(diǎn)之間的連接(通常是高速網(wǎng)絡(luò),比如Fast Ethernet、 ATM、 Myrinet等)也是內(nèi)部專用的。它與集群與外界連接的普通網(wǎng)絡(luò)相隔離。這些特點(diǎn)使得Beowulf集群中的負(fù)載均衡以及結(jié)點(diǎn)之間的信賴關(guān)系變得更容易處理,因?yàn)樗鼈儾皇芡饨绲挠绊?。而且結(jié)點(diǎn)之間的通信也會高效許多。
Beowulf并不是一個軟件包,一種新的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)或者內(nèi)核技術(shù)。它是一種使用跑Linux的機(jī)器來構(gòu)建并行虛擬機(jī)的思想。盡管有很多軟件(比如一些內(nèi)核的修改,PVM和MPI并行運(yùn)算庫或者一些管理工具)可以使Beowulf體系結(jié)構(gòu)更快,更容易管理和使用,但我們?nèi)匀豢梢灾皇褂肔inux來建造一個自己的Beowulf集群。一個最簡單的Beowulf集群可以由兩臺互相連接并且擁有一些信任關(guān)系(比如NFS 和rsh權(quán)限)的Linux計(jì)算機(jī)組成。
Beowulf集群的重要模塊
撇開并行應(yīng)用本身不談,跟任何集群一樣,Beowulf的性能取決于下面幾個因素:節(jié)點(diǎn)本身、節(jié)點(diǎn)之間互聯(lián)設(shè)備、底層通信軟件(包括互聯(lián)設(shè)備的驅(qū)動)、全局資源管理系統(tǒng)以及并行計(jì)算環(huán)境(PVM或MPI)等等。
對于給定的應(yīng)用問題,在節(jié)點(diǎn)數(shù)一定的條件下,則由以下三個方面的因素來決定并行處理的速度。首先是應(yīng)用問題求解的算法,其次是處理結(jié)點(diǎn)軟硬件的速度。另外,由于應(yīng)用問題的不同部分之間往往有著某種數(shù)據(jù)依賴關(guān)系,不同部分之間需要進(jìn)行一定的通信,因此通信性能成了另外的一個因素。下面,我們將著重介紹高性能集群的通信子系統(tǒng):底層互聯(lián)設(shè)備、底層通信軟件以及并行計(jì)算環(huán)境。從下圖可以看到,這幾個部分對于整個集群的性能來說都是非常重要的。
· 底層互聯(lián)網(wǎng)絡(luò)
>
在集群系統(tǒng)中,分布在各個節(jié)點(diǎn)上的進(jìn)程之間通常有大量的信息要交換,這都要通過互聯(lián)網(wǎng)絡(luò)來實(shí)現(xiàn)。因此,互聯(lián)網(wǎng)絡(luò)性能的優(yōu)劣會直接影響信息交換的速率和效率,進(jìn)而影響整個集群系統(tǒng)的整體性能。
理想狀態(tài)下互聯(lián)網(wǎng)絡(luò)應(yīng)該具有以下特征:
☆?較短的通信延時(Latency)
☆?較高的通信帶寬(Bandwidth)
☆?極小的錯誤率(Error Rate)
☆?較好的可擴(kuò)展性(Scalability)
集群中經(jīng)常使用的互聯(lián)設(shè)備有快速以太網(wǎng)、ATM網(wǎng)絡(luò)、 Myrinet以及專用的mesh網(wǎng)絡(luò)等等。
· 底層通信軟件
底層通信軟件是集群通信效率高低的關(guān)鍵。在這一層所要關(guān)心的問題是協(xié)議問題。TCP/IP協(xié)議把各種各樣異構(gòu)的機(jī)器連接起來,組成一個實(shí)際的計(jì)算機(jī)網(wǎng)絡(luò)。這種強(qiáng)大的兼容性卻往往需要以效率作為代價。比如用戶的消息從發(fā)送方到接收方一般要經(jīng)過多次拷貝(從發(fā)方用戶空間拷貝到核心空間,從核心空間拷貝到接收方用戶空間以及中間進(jìn)行差錯校驗(yàn),重發(fā)機(jī)制等等帶來的拷貝)。而統(tǒng)計(jì)表明,每增加一次拷貝,通信的效率就會降低至少20%。而在集群中,就采用一些專門的技術(shù)來解決這些問題。比如用戶級通信技術(shù)用來減少通信軟件進(jìn)入操作系統(tǒng)核心的次數(shù),零拷貝技術(shù)減少消息通路上的拷貝次數(shù)等等。 #p#page_title#e#
· 網(wǎng)絡(luò)并行計(jì)算軟件
有了高速網(wǎng)絡(luò)和簡潔高效的底層協(xié)議,集群并行計(jì)算軟件的任務(wù)就是在提供完備的并行計(jì)算語義的情況下,盡量地把底層物理性能提供給上層的并行應(yīng)用。集群(包括Beowulf)中最流行的兩個并行計(jì)算環(huán)境是PVM 和MPI。
PVM(Parallel Virtual Machine)是由美國 田納西大學(xué)、奧克里季國家實(shí)驗(yàn)室等研制的并行程序開發(fā)環(huán)境。它可以把多個異構(gòu)的計(jì)算機(jī)組織起來成為一個易于管理的、可擴(kuò)展的、易編程使用的并行計(jì)算資源。它的各個計(jì)算結(jié)點(diǎn)可以是共享存儲或分布式存儲的多處理機(jī)或者是向量超級計(jì)算機(jī)、專用的圖形、標(biāo)量工作站。這些異構(gòu)的計(jì)算節(jié)點(diǎn)可以通過多種網(wǎng)絡(luò)(比如Ethernet、FDDI等等)互聯(lián),成為一個網(wǎng)絡(luò)計(jì)算虛擬機(jī)。用戶的計(jì)算任務(wù)被分配到各個計(jì)算節(jié)點(diǎn)上,多個節(jié)點(diǎn)并行運(yùn)算,從而實(shí)現(xiàn)粗粒度的并行。
PVM的免費(fèi)、開放以及易用使其成為一個被廣泛接受的并行程序開發(fā)環(huán)境,有很多并行機(jī)公司都宣布支持PVM、PVM 可以安裝到各種Unix、 Windows操作系統(tǒng)上運(yùn)行。所有這些又有力地促進(jìn)了PVM的推廣?,F(xiàn)在所有的并行機(jī)都支持PVM3。
MPI是并行計(jì)算機(jī)的消息傳遞接口標(biāo)準(zhǔn)。指定該標(biāo)準(zhǔn)的主要目的是為了提高并行程序的可移植性和使用的方便性。有了統(tǒng)一的標(biāo)準(zhǔn),并行計(jì)算環(huán)境下的應(yīng)用軟件庫以及軟件工具就都可以透明的移植。各個廠商可以依據(jù)標(biāo)準(zhǔn)提供獨(dú)具特色和優(yōu)勢的軟件實(shí)現(xiàn)和硬件支持,從而提高并行處理的能力。
MPI沒有簡單地指定某系統(tǒng)為標(biāo)準(zhǔn),而是吸取許多已經(jīng)廣泛應(yīng)用的消息傳遞系統(tǒng)的特點(diǎn)。它在采納已有系統(tǒng)優(yōu)點(diǎn)的基礎(chǔ)上,增加了許多新的特點(diǎn),從而使其成為非常有吸引力的標(biāo)準(zhǔn)
下一篇:個人集群 走近你的辦公桌