?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

博勝發sbf:利用Beowulf讓普通PC變集群

?

現在,Li博勝發sbfnux在IT業里已經有著異常緊張的影響,除了其具有免費、高效、靠得住等上風外,對付謀略機科學家和那些必要進行大年夜量運算的科學家來說,它照樣一個異常強大年夜的對象。自從Donald Becker提議了Beowulf集群謀略今后,在NASA的Goddard Space Flight Center事情的Thomas Sterling又擴展了Linux在高機能并行謀略領域的利用。

現在,Linux在IT業里已經有著異常緊張的影響,除了其具有免費、高效、靠得住等上風外,對付謀略機科學家和那些必要進行大年夜量運算的科學家來說,它照樣一個異常強大年博勝發sbf夜的對象。自從Donald Becker提議了Beowulf集群謀略今后,在NASA的Goddard Space Flight Center事情的Thomas Sterling又擴展了Linux在高機能并行謀略領域的利用。本日,大年夜量以通俗PC為根基的集群呈現在了各個級其余實驗室、工業科技中間、大年夜學以致是一些小的學院中。假如有人問你是否一個有關科學謀略的問題可以經由過程一些疏松的謀略資本來辦理?謎底是當然可以。我們可以應用Beowulf集群,它博勝發sbf可以應用很多通俗的PC做成一個集群來辦理我們所面臨的問題,并且這種集群所具有的價格上風是傳統的并行謀略機所無法相比的。

若何創建一個Beowulf集群

事實上,應用現有的PC或者不用的舊PC,任何人都可以構建一個自己的并行系統來演習并行編程或者進行并交運算。在一個謀略機實驗室里,我們可以將PC機做成雙啟動系統(可以根據必要進入Windows或者Linux),將其用作兩種用途。此外,對付那些已經不再應用的機械則可以像Stone SouperComputer一樣做成一個并行的運算系統。

沒有兩個Beowulf集群是完全相同的。事實上,這種系統的硬件和軟件的設置設置設備擺設擺設是如斯的機動,乃至于其可以被輕松定制成為不合的組合。雖然每一個Beowulf集群系統都是不合的,并且其設置設置設備擺設擺設也是根據利用法度榜樣的必要來進行的,但照樣有一些基礎要求是相同的。下面我們就來看一看在創建一個集群時必要斟酌的一些基礎問題。

創建一個集群的最低需求

要創建一個集群,每一個節點至少應該包孕有一個Intel 486 CPU和主板。雖然Intel 386也可以正常事情,但其機能將不值得我們為之付出勞動。內存的需求則取決于目標利用法度榜樣的需求,但每一個節點至少必要16MB的內存。大年夜部分利用法度榜樣都邑要求每一個節點具有32MB以上的內存。經由過程應用集中式的磁盤空間,節點可以從軟盤、小容量的硬盤或者收集文件系統啟動。啟動今后,節點可以經由過程收集造訪文件系統中屬于自己的Root分區,這種造訪一樣平常都是經由過程NFS(收集文件系統)來實現的。在一個具有高帶寬和高機能辦事器的情況中,這種設置設置設備擺設擺設的事情狀態將異常不錯。要想得到更好的機能,應該在本地磁盤上安裝有操作系統、互換分區,并且數據可以在每一個節點得到。每一個節點應該至少有200MB的磁盤空間用于寄放操作系統組件和用作互換空間,還應該有400MB或者更多的空間保留用于法度榜樣運行中應用。每一個節點至少要包孕有一個網卡(最好是高速網卡)。著末,每一個節點都必要一個顯卡,一個硬驅和一個電源。鍵盤和顯示器則只有在進行系統安裝和設置設置設備擺設擺設時必要。

必要留意的是,所有選擇應用的硬件在Linux中都要有驅動法度榜樣或者響應的模塊,一樣平常來說,除非這些硬件異常迂腐,否則都不是問題。對付必要對全部集群進行治理的主節點來說,為了方便起見,最好安裝一個X辦事器。安裝歷程中,假如某一個特定的組件呈現問題或者沒有驅動法度榜樣,可以到論壇中尋求贊助。

收集連接

假如可能,每一個節點最好處于一個零丁的局域網中,并且擁有一個自己的Hub.這樣可以包管收集通信能夠順暢進行。集群中的第一個或者主節點應該具有兩個網卡,此中一個與內部收集相連,別的一個與公共收集相連。這對付用戶登錄和文件傳輸尤為有用。在內部收集中,必要應用不在 Internet上應用的IP地址。一樣平常來說,最簡單的法子便是A類10.0.0.0地址,由于這些地址是專門為那些沒有路由的收集保留的。在本例中,每一個節點的/etc/hosts文件看起來如下所示:

10.0.0.1 node110.0.0.2 node210.0.0.3 node310.0.0.4 node4

每一個節點的/etc/hosts.equiv文件應該如下所示:

node1node2node3node4.

一個節點號為2,應用Red Hat Linux的ifcfg-eth0設置設置設備擺設擺設文件如下所示:

DEVICE=eth0IPADDR=10.0.0.2NETMASK=255.0.0.0NETWORK=10.0.0.0BROADCAST=10.255.255.255ONBOOT=yes

此外,我們還常常必要一個DNS,對付那些節點名字和地址常常變更的內部收集更是如斯。DNS可以運行在第一個節點來為內部收集的節點供給名字/地址的解析。

本地存儲

在加載操作系統的問題上,創建Beowulf集群必要預先做一些博勝發sbf存儲方面設置設置設備擺設擺設的抉擇。由于一旦安裝完成后要進行變動就要從新安裝所有的節點,以是必然要進行異常細致的斟酌。雖然大年夜部分基于Linux的Beowulf集群運行的是都是Red Hat Linux發行版,但事實上,基礎上所有的Linux發行版都支持基礎的集群。Red Hat的安裝異常簡單,我們可以應用光盤或者經由過程集群的第一個節點進行安裝(條件是在節點上已經有一份發行版拷貝)。在實際的應用歷程中,很多人發明從主節點經由過程FTP把操作系統加載到每一個節點要比經由過程NFS掛載Root分區好。這種措施避免了一些不需要的收集通信,在利用法度榜樣運行時保留帶寬用于信息的傳送。

Red Hat Linux運行情況只必要每一個節點有大年夜約100MB的磁盤空間,不過,在實踐中發明在每一個節點包孕一個編譯和一些其它的對象照樣異常需要。是以,在設置設置設備擺設擺設中,每一個操作系統必要大年夜約175MB的磁盤空間。雖然有一些集群將互換分區設置設置設備擺設擺設在了通俗的文件系統上,但在本地磁盤上應用一個專門的互換分區才是一個更高效的選擇。一樣平常而言,節點的互換空間的大年夜小應該是內存的2倍,而當內存大年夜于64MB時,互換空間應該即是內存的大年夜小。在實際中,當內存為64MB至 128MB時,我們平日將互換分區設為128MB.是以,假如某一個節點有32MB內存,有2個硬盤,那么我們就應該將Linux系統加載至主驅動上,而將別的一個硬盤用作互換空間(64MB)和本地運行空間(138MB)。

集群治理

系統治理和掩護是一件異常乏味的事情,對付大年夜型的集群更是如斯。不過,我們可以從網上找到一些對象和腳原先簡化這些事情。比如,一個節點必須在光陰和系統文件(/etc/passwd、/etc/group、/etc/hosts、/etc/hosts.equiv等)上與其它的節點維持同步,那么一個簡單的可以被cron準時履行的腳本將可以來完成這個同步歷程。

一旦所有的節點都加載和設置設置設備擺設擺設完成后,我們就可以來開拓和設計并行利用法度榜樣來充分使用新系統的運算能力。

為集群謀略開拓并行利用法度榜樣

在Linux下,我們可以應用商業編譯器,也可以應用免費的編譯器。GCC、g++和FORTRAN(g77)編譯器被包孕在了大年夜部分的Linux發行版中。此中C和C++編譯器已經異常優秀,而FORTRAN編譯器也在賡續的進步之中。商業編譯器則可以從Absoft、 Portland Group、The Numerical Algorithms Group等公司獲取。假如設置設置設備擺設擺設適當,一些商業的FORTRAN-90編譯器可以自動實現并行謀略。一樣平常來說,開拓并行代碼必要在處置懲罰器之間應用PVM (并行虛擬機)、MPI(信息傳送接口)或者其它的通信庫來進行清晰的信息通報。PVM和MPI都是免費的,并且可以在謀略的歷程中經由過程簡單的庫調用來實現節點的之間的信息通報。

當然,并不是所有的謀略義務都得當用并行謀略來實現。一樣平常而言,為了充分使用并行謀略的上風,平日要對針對義務進行一些開拓事情。很多科學問題都可以進行細分,也便是可以將其分化為相對自力的模塊,以使其可以在各個自力的節點進行處置懲罰。比如,圖像處置懲罰義務平日可以再細分,讓每一個節點都可以處置懲罰某一部分的圖像。當某一圖像可以被自力處置懲罰時(比如處置懲罰這部分圖像不必要其它部分的信息),效果更好。

對付并行謀略來說,最危險的缺陷便是將一個謀略問題變成了一個通信問題(不管是應用現有的并交運算代碼照樣自己新開拓代碼)。這種問題一樣平常發生在將義務過分細化,從而使得各個節點為了維持同步而傳輸數據的光陰跨越了CPU進行謀略的光陰。在這種環境下,應用更少的節點反而可能會得到更多的運行光陰和更充分地使用資本。這便是說,對付不合的并行利用法度榜樣而言,要根據本地節點謀略的負載和通信來進行調劑和優化。

著末要說的是,在開拓并行算法時,假如所應用的集議論況的節點各不相同,那么就要充分斟酌到這個問題。事實上,在運行并行利用法度榜樣時,各個節點間CPU的速率是異常關鍵的,是以,在一個設置設置設備擺設擺設不合的集群中,只簡單地將義務勻稱分配,那么速率對照快的CPU就必須要等待速率對照慢的 CPU完成自己的義務,這顯然是分歧理的。是以,設計適當的算法可以很好地處置懲罰這種環境,當然,不管采納什么樣的算法,必然要充分斟酌到通信過載問題。

并行處置懲罰可以以很多種要領來組織,然則master/Slave的組織要領是最易于理解和編寫法度榜樣的。在這種模式中,一個節點作為master,而別的一個則作為Slave.Master節點平日抉擇若何瓜分義務,以及批示信息的傳送,而Slave節點則只認真處置懲罰分配到的義務,并在義務完成的時刻向master申報。

總結

事實上,在開拓并行代碼時,并沒有嚴格的規定,而是要根據實際環境來進行。優化硬件設置設置設備擺設擺設和博勝發sbf算法的條件是要知道所要運行的利用法度榜樣的細節。在各個節點設置設置設備擺設擺設不合的集群中,在各個節點中進行負載平衡以及各個節點中的通信都取決于硬件的詳細環境。在通信速率快的情況里,可以將義務分得更細,反之則不宜將義務過分細化。

應該說“Beowulf運動”將并行謀略大年夜眾化了。在Beowulf系統中應用標準信息傳送庫開拓的并行代碼可以不顛末任何變動就直接運行在商業級的超級謀略機之上。是以,Beowulf集群可以作為一個入門的切入點,在必要時再將其過渡到大年夜型機上。此外,廉價、通用的集群意味著并行謀略機情況可以用于特定的義務,而大年夜型的商業超級謀略機因為其過于昂貴,故弗成能使其專注于某個單一的利用法度榜樣。很顯然,跟著并行情況越來越多地被利用到現實事情,將會更進一步匆匆進其在各個領域的利用。

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

浙江体彩20选5开奖号 好用的股票配资平台 环球网校首页 世界杯预选赛积分榜 山东十一选五遗漏 快三开奖结果查询今天 陕西十一选五开奖结 台球比赛宣传单 股票涨跌原因 大白话 2019正规股票配资平台 做股票配资的营销话术 四川成都股票配资利息 股票指数怎么买卖 点点涨配资 怎样识别熊猫麻将开 贵阳麻将捉鸡规则技巧 天津麻将怎么玩