- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
架构Cluster
什麼是 Cluster 與 Cluster 的優點 什麼是 Cluster 呢?目前常見的 Cluster (叢集)架構有兩種,一種是 Web / Internet cluster system,這種架構主要是將資料放置在不同的主機上面,亦即由多部主機同時負責一項服務;而另外一種則是所謂的平行運算了!平行運算其實就是將同一個運算的工作,交給整個 Cluster 裡面的所有 CPU 來進行同步運算的一個功能。由於使用到多個 CPU 的運算能力,所以可以加快運算的速度。目前比較常見於平行運算功能的,通常需要在超級電腦上面才看的到,這些超級電腦主要是用在天文、軍事、物理等需要很精密的、大量的運算的工作中,而考慮到穩定性,則通常是用在 Unix 系統上面的硬體架構上。不過,目前由於 PC 上面的 CPU 的運算功能越來越強大了~因此,當然很多程式開發者就動腦筋到 PC 上面來製作平行電腦的系統囉!我們這篇短文主要在介紹的就是『平行運算』這一類的 Cluster 了! 由於 Cluster 主要是用在平行運算上面的,而所謂的平行運算是使用到多顆 CPU 的運算功能,因此可以讓您的大型運算的程式很快的執行完畢!因此,如果你的工作環境當中,常常會使用到很耗 CPU 運算功能的程式時,就可以嘗試使用 Cluster 來進行工作囉!應該可以節省您不少的時間吶!此外,我們這篇短文主要是在 X86 架構下的 PC 來架設 Cluster 的喔! 不過,也需要特別留意的是,由於我們的 Cluster 是將一個工作平均分給所有的 node (註:一顆 CPU 在一個 Cluster 架構下,就稱為一個 node 囉!),所以,萬一您做成的 Cluster 系統當中,所有的 node 並非完全相同的運算等級,那麼先做完工作的 node 將會暫停工作,會等到所有的 node 都進行完畢後,才會在進行下一動~所以啦!強烈的建議在同一個 cluster 的架構中,盡量所有的 CPU 都使用相同的 CPU 型號,應該會比較好一點喔!
Cluster 的主從架構 最簡單的 Cluster 其實就是以一種主從架構來進行資料的運算工作的,圖示如下:
上面的 Master 與 Slave 指的都是 CPU 喔!
Master 那部機器上面必須要有可以將工作分配給各個 node 去工作的函式庫,也就是 MPI ,他最重要的功能就是將工作給他分配下去的啦!而最重要的軟體就是:(1)MPICH;(2)編譯器(compiler, 例如 Fortran);
什麼是網路功能呢?如果 master 與 slave 是在同一部機器當中,例如雙 CPU 的主機板,那麼這裡就不需要網路功能啦!不過,如果我是使用四台雙 CPU 的 PC 呢?呵呵!那麼這四部主機就需要以高速網路架構進行連線啦!此外,還需要在這四部主機之間建立可以互通訊息的通訊協定才行,這方面的功能就含有:(1)R Shell, 亦即稱為 RSH;(2)NIS,使 Master 與 Slave 具有相同的帳號群組關係;(3)NFS,使讀取寫入的資料可以在同一個 partition 上面;
Slave 就是單純的將來自 Master 的任務給他做完就是了!
整個主從架構大致上就是這樣啦!因此,可以知道的是,我們需要的就是上面那些咚咚囉!
達成 Cluster 所需要額外功能 ( RSH ) 與軟體 ( MPICH ) 由上面的 Cluster 主從架構當中,我們知道 Master 與 Slave 之間的網路溝通很重要的一個咚咚,那就是 R Shell 囉!此外,還有將一個工作傳送給不同的 node 來進行計算的任務,就需要 MPICH 這個函式庫來進行!簡單的談一談這兩個玩意兒吧!
RSH: 在我們的 Linux 主機上面工作,通常使用 BASH 這個 shell 來傳達給 kernel 工作的訊息,以使主機正確的工作;而如果在不同的主機之間,那就可以使用 R Shell 來進行指令的下達喔,如此一來,我們就可以直接在 A 機器,向 B 機器下達工作的指令,而不需要登入 B 機器呢~那就是 RSH 的主要功能啦!最常見的 RSH 指令就是 rcp 與 rsh 了!有興趣的朋友應該知道以 man 來查尋一下該指令的用法囉! 需要附帶一提的是,這個 RSH 是『相當危險』的一個服務喔!由於我們可以直接登入 RSH 主機,並且在上面進行指令的下達,為了避免還要輸入密碼的問題,因此通常 RSH 已經將信任主機設定好了,不過,由於 RSH 會啟動一些 port 來監聽 Clients 的需求,而偏偏這些 port 與 daem
文档评论(0)