使用MPICH构建一个四节点的集群系统
http://selboo.com.cn/post/202/
1.什么是服務器集群
隨著Internet的爆炸性增長,Internet與人的生活越來越息息相關,通過Internet上進行交易也就越來越受關注.近幾年,電子商務的年增長均超過100%.服務器的工作量也迅速增長,所以服務器(特別是一個受人歡迎的WEB服務器)很容易在訪問高峰時期過載.而另一方面,計算機從1946年單純的科學計算任務到現在大量紛繁復雜的信息處理,工作量越來越大,需要越來越快的處理能力.所以計算機界就不得不不斷研究更快的處理器,存儲器,以適應這一需求.然而,科學家們意識到,單塊處理器的速度發展空間是有限的,為什么不能讓計算機象人一樣協同工作,“群策群力”地將工作完成好呢!這時,就掀起了“并行計算”的研究.舉個例子來說,我們架設了一臺WWW服務器,上面構建了一個電子商務網站,然而隨著時間的推移,名聲越來越大,這時點擊率也就越來越高,WWW服務器的負載也就越來越高.這種情況下,我們就必須提升WWW服務器的能力,以滿足以益增長的服務請求.這時,我們就面臨兩種選擇:
(1)升級WWW服務器,采用更快的CPU,增加更多的內存,使其更具有POWER;但日益增長的服務請求又會使服務器再次過載,需要再次升級,這樣就陷入了升級的怪圈.還有,升級時還得考慮到服務如何接續,能否中止!
(2)增加WWW服務器,讓多臺服務器來完成相同的服務.
這種方法就是服務器集群,通過并行技術來大大提升系統性能.也就是這一章的主要內容,這種方法具有很好的擴展性,而且可以最大限度地利用已有投資.
1.1.集群的概念
集群,是一組獨立的計算機系統構成一個松耦合的多處理器系統,它們之間通過網絡實現進程間的通信.應用程序可以通過網絡共享內存進行消息傳送,實現分布式計算機.近幾年來,微處理器、內存、總線技術、網絡技術有了非常大的進步,軟件的并行技術也有了非常大的進步,這使得讓一組廉價的個人電腦與工作站協同工作成為可能,甚至可以與擁有強大的芯片處理能力的超級計算機競爭.比如,16個普通微處理器組成的集群系統可以達到億次級浮點計算機能力,而且總的成本小于 40萬元.不幸的是,建造一個集群并不是一件簡單的事件.集群的組成部分必須根據要運行的主要應用進行調整,以使之運行在最佳狀態.這此因素帶來的結果就是,建造集群系統不是只有一個標準的方案,在本章中,我們就會看到許多種建造方案.集群技術是計算機系統結構的前沿領域,筆者也僅是略有了解,希望本文能起到拋磚引玉之用.
1.2.并行技術
這是一個非常簡單的建造四節點的小集群系統的例子,它是構建在Linux操作系統上,通過MPICH軟件包實現的,希望這個小例子能讓大家對集群系統的構建有一個最基本的了解.
2.使用MPICH構建一個四節點的集群系統
這是一個非常簡單的建造四節點的小集群系統的例子,它是構建在Linux操作系統上,通過MPICH軟件包實現的,希望這個小例子能讓大家對集群系統的構建有一個最基本的了解.
2.1 所需設備
(1).4臺采用Pentium II處理器的PC機,每臺配置64M內存,2GB以上的硬盤,和EIDE接口的光盤驅動器.
(2).5塊100M快速以太網卡,如SMC 9332 EtherPower 10/100(其中四塊卡用于連接集群中的結點,另外一塊用于將集群中的其中的一個節點與其它網絡連接.)
(3).5根足夠連接集群系統中每個節點的,使用5類非屏蔽雙絞線制作的RJ45纜線
(4).1個快速以太網(100BASE-Tx)的集線器或交換機
(5).1張Linux安裝盤
2.2 構建說明
對計算機硬件不熟的人,實施以下這些構建步驟會感到吃力.如果是這樣,請找一些有經驗的專業人士尋求幫助.
(1). 準備好要使用的采用Pentium II處理器的PC機.確信所有的PC機都還沒有接上電源,打開PC機的機箱,在準備與網絡上的其它設備連接的PC機上安裝上兩塊快速以太網卡,在其它的 PC機上安裝上一塊快速以太網卡.當然別忘了要加上附加的內存.確定完成后蓋上機箱,接上電源.
(2). 使用4根RJ45線纜將四臺PC機連到快速以太網的集線器或交換機上.使用剩下的1根RJ45線將額外的以太網卡(用于與其它網絡相連的那塊,這樣機構就可以用上集群)連接到機構的局域網上(假定你的機構局域網也是快速以太網),然后打開電源.
(3). 使用LINUX安裝盤在每一臺PC機上安裝.請確信在LINUX系統中安裝了C編譯器和C的LIB庫.當你配置TCP/IP時,建議你為四臺PC分別指定為192.168.1.1、192.168.1.2、192.168.1.3、192.168.1.4.第一臺PC為你的服務器節點(擁有兩塊網卡的那臺).在這個服務器節點上的那塊與機構局域網相連的網卡,你應該為其指定一個與機構局域網吻合的IP地址.
(4).當所有PC都裝好Linux系統后,編輯每臺機器的/etc/hosts文件,讓其包含以下幾行:
192.168.1.1 node1 server
192.168.1.2 node2
192.168.1.3 node3
192.168.1.4 node4
編輯每臺機器的/etc/hosts.equiv文件,使其包含以下幾行:
node1
node2
node3
node4
$p#
以下的這些配置是為了讓其能使用MPICH's p4策略去執行分布式的并行處理應用.
1. 在服務器節點,建一個/mirror目錄,并將其配置成為NFS服務器,并在/etc/exports文件中增加一行:/mirror node1(rw) node2(rw) node3(rw) node4(rw)
2. 在其他節點上,也建一個/mirror目錄,關在/etc/fstab文件中增加一行:server:/mirror /mirror nfs rw,bg,soft 0 0
3. /mirror這個目錄從服務器上輸出,裝載在各個客戶端,以便在各個節點間進行軟件任務的分發.
4. 在服務器節點上,安裝MPICH.MPICH的文檔可在http://www.mcs.anl.gov/mpi/mpich/docs.html獲得.
5. 任何一個集群用戶(你必須在每一個節點新建一個相同的用戶),必須在/mirror目錄下建一個屬于它的子目錄,如/mirror/username,用來存放MPI程序和共享數據文件.這種情況,用戶僅僅需要在服務器節點上編譯MPI程序,然后將編譯后的程序拷貝到在/mirror目錄下屬于它的的子目錄中,然后從他在/mirror目錄下屬于它的的子目錄下使用p4 MPI策略運行MPI程序.
2.3 MPICH安裝指南
1. 如果你有gunzip,就d下載mpich.tar.gz,要不然就下載mpich.tar.Z.你可以到http://www.mcs.anl.gov /mpi/mpich/downloa下載,也可以使用匿名FTP到ftp.mcs.anl.gov的pub/mpi目錄拿.(如果你覺得這個東西太大, 你可以到pub/mpi/mpisplit中取分隔成塊的幾個小包,然后用cat命令將它們合并)
2.解壓:gunzip ;c mpich.tar.gz tar xovf-(或zcat mpich.tar.Z tar xovf-)
3.進入mpich目錄
4. 執行:./configure為MPICH選擇一套適合你的實際軟硬件環境的參數組,如果你對這些默認選擇的參數不滿意,可以自己進行配置(具體參見 MPICH的配置文檔).最好選擇一個指定的目錄來安裝和配置MPICH,例如:./configure -prefix=/usr/local/mpich-1.2.0
5.執行:make >& make.log 這會花一段較長的時間,不同的硬件環境花的時間也就不同,可能從10分鐘到1個小時,甚至更多.
6. (可選)在工作站網絡,或是一臺單獨的工作站,編輯mpich/util/machines/machines.xxx(xxx是MPICH對你機器體系結構取的名稱,你能很容易的認出來)以反映你工作站的當地主機名.你完全可以跳過這一步.在集群中,這一步不需要.
7.(可選)編譯、運行一個簡單的測試程序:
cd examples/basic
make cpi
ln ;s ../../bin/mpirun mpirun
./mpirun ;np 4 cpi
此時,你就在你的系統上運行了一個MPI程序.
8.(可選)構建MPICH其余的環境,為ch_p4策略使
用安全的服務會使得任何啟動速度加快,你可以執行以下命令構建:
make serv_p4
(serv_p4是一個較新的P4安全服務的版本,它包含在MPICH 1.2.0版中),nupshot程序是upshot程序的一個更快版本,但他需要tk 3.6版的源代碼.如果你有這個包,你就用以下命令可以構建它:
make nupshot
9.(可選)如果你想將MPICH安裝到一個公用的地方讓其它人使用它,你可以執行:
make install 或 bin/mpiinstall
你可以使用-prefix選項指定MPICH安裝目錄.安裝后將生成include、lib、bin、sbin、www和man目錄以及一個小小的示例目錄,
(可選)到此你可以通告所有的用戶如何編譯、執行一個MPI程序.
2.4 費用統計
這個小的集群方案總的費用大致如下:
設備費用:
4臺 帶EIDE CD-ROM 的機器: 24000元
5塊快速以太網卡: 800元
1個快速以太網的集線機:2000元
5根雙絞線:50元
軟件費用:
LINUX安裝光盤:50元
MPICH:0元
合計:26900元.
這樣一個集群系統可以用于一些大量的科學計算,信息處理,而且其性價比實在是太好了,僅需不到三萬元.
總結
以上是生活随笔為你收集整理的使用MPICH构建一个四节点的集群系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做一款仿打车软件需要多少钱?
- 下一篇: C++认知继承