機群系統
出自 MBA智库百科(https://wiki.mbalib.com/)
機群系統(Cluster system)
目錄 |
機群系統是指利用高速通用網路將一組工作站或高檔微機,按某種結構連接起來,併在並行程式設計開發環境支持下統一調度的並行處理系統,又稱工作站機群系統(Cluster Of Workstations,cow),也稱工作站網路並行系統(Network Of Workstations,NOW)。
·高性能的計算結點機(PC、工作站或SMP)。
·具有較強網路功能的微內核操作系統。
·高效的網路/交換機(如千兆位乙太網和Myrinet)。
·網卡(NICs)。
·快速傳輸協議和服務。
·中間件層,其中包括某些支持硬體,如數字存儲通道、硬體分佈共用存儲器及SMP技術;應用,如系統管理工具和電子錶格;運行系統,如軟體分佈共用存儲器和並行文件系統;資源管理和調度軟體等。
·並行程式設計環境與工具,如編譯器、語言環境、並行虛擬機(PVM)和消息傳遞介面(MPI)等。
·應用,包括串列和並行應用程式。
機群系統可以按照應用或結構進行分類。
1、按應用目標
可分為面向科學計算型或面向關鍵任務應用型:
·高性能機群(high performance cluster);
·高可用性機群(high availability cluster)。
2、按組成機群的處理機類型
·PC機群;
·工作站機群;
·SMP(對稱多處理器)機群。
3、按處理機操作系統
·Linux機群,如Beowulf;
·Solaris機群,如Berkeley NOW;
·NT機群,如HPVM;
·AIX機群,如IBM SP2;
·數字VMS(虛擬存儲機)機群;
·HP-UX機群;
·微軟Wolfpack機群。
4、按處理機的配置
·同構型機群:所有結點擁有近似的構造和相同的操作系統;
·非同構型機群:所有結點擁有不同的構造和不同的操作系統。
5、按處理機的位置和數量
·組機群,結點數量為2~99,通過SANs(系統級網路),如Myrinet,機群實際上裝入一個機箱中或存在一個範圍之內;
·部門機群,結點數量為幾十或幾百;
·企業機群,結點數量為幾百。
6、按構築機群的方式
1.專用機群
專用機群一般由一組同構的處理機組成(有時也有異構情況),通常安裝在一個機房內,或者將主板等安裝在一個機櫃的各機箱中(商業機群常用這種方式),或像圖中那樣簡單地把PC機堆砌在機架上(Piles of PC)。在這種機群中,每個處理機都是專用的、無屬主的,由系統管理員統一管理,用戶可通過前端機進行訪問,用戶無需知道機群的詳情,就像使用MPP機一樣,易於配置和管理,不受外界干擾,通信可靠且延遲小,適合於面向加速比的並行任務和麵向吞吐量批處理作業。專用機群具有相對結構和管理簡單、易於擴展等特點,用途極廣。
專用機群的互聯結構通常有以下兩種方式:
·I/O方式 包括普通用LAN、FDDI、ATM等網路連接和共用磁碟連接兩種方式。
·共用存儲器方式 包括全局共用存儲器方式和分散式共用存儲器方式。分散式存儲器指沒有一個集中的存儲器,由各處理機內一部分存儲器通過軟體機制形成。
1994年夏,美國的研究人員建成了第一個Beowulf機群,它由16個DX4處理機組成。1997年,又推出了16個基於PⅡ的機群,只需花費5萬美元卻具有每秒10億次的浮點運算能力,而購買具有相同能力並行機的投資數卻是它的10倍。 Berkeley的NOW系統也是較早的工作站機群,由上百個Sun Ultra工作站組成,集成到19 英寸機箱中,可使用Myrinet、ATM和終端集中器等多種互聯手段,每個結點自帶512K緩存、128M記憶體及2個2.3G硬碟。
此外,各大公司推出的商業專用機群還有很多,如DEC 的VMS機群和TruCluster、惠普的Apollo 9000機群、IBM的Sysplex、Sun的Solaris MC 等。
在國內,曙光公司最新推出了基於NT的天潮系列機群產品,是採用分散式存儲的可擴展機群體系。其結點處理器為Intel PⅡ和PⅢ,通過千兆位乙太網互聯,擴展性好,結點可根據不同的應用,動態地分為多個結點池,如可用兩個結點作為伺服器、四個結點運行資料庫、其他結點用於計算等,結點數量可靈活配置。應用範圍包括:
科學計算支持PVM和MPI,使用優化的BLAS庫;事務處理 線上事務處理(OLTP),如電子商務、證券交易和線上分析處理(OLAP);並行資料庫 支持Oracle、DB2等分散式資料庫應用;
網路伺服器運行各種Internet服務。
2.非專用機群
非專用機群是由分散互聯的處理機或在網上尋找到的空閑處理機組成的機群,這些處理機可能分屬於不同的個人、組織或單位。據資料統計,一般電腦系統平均使用率僅為30%左右,有的空閑率竟達91%,而許多桌面網路工作站和微機的CPU利用率都小於10%,因此,人們自然想到要利用這些閑散的CPU處理能力,這被稱為CPU周期竊取。
通常,網路上計算單元都是擁有者各自孤立地使用其擁有的計算單元,一般處於下列狀態:
·處於空閑或等待狀態,如夜間;
·文檔編輯工作,包括收發E-mail、閱讀文檔和信息等;
·開發工作,包括編輯、編程、編譯、調試等;
·完成某種定時、守候服務和功能;
·運行計算型的程式。
所謂竊取CPU周期就是要竊取上述前四類處理機的CPU 周期給最後一類工作用。顯然,被竊取CPU周期的處理機包括空閑的處理機和CPU負載較輕的處理機兩類。
非專用機群地理上分佈於不同的所有者,由異構系統組成,大部分通過乙太網連接,適用於企業級區域網範圍,技術難度要高於專用機群。工作站的主人與需占用工作站資源運行程式的遠程用戶之間存在著矛盾,前者希望與工作站快速交互,而後者只關心能否利用所有的共用CPU來快速運行程式。機器的所有者必須具有參加機群的動機,這意味著他們相信貢獻他們的資源是有意義的。但是,這些所有者不希望在他們工作時或他們的系統過於飽和時,受到其他干擾,一個解決的策略是允許所有者退出機群。目前,國際上正在形成一種計算資源的買賣市場,以刺激資源擁有者加入網上機群。此外,由於當前網路通信速度和質量的瓶頸所限及由通信競爭造成的網路不確定性的存在,對非專用機群技術提出了更高的要求,如對進程遷移、負載平衡等技術的需求。但此類系統最為貼近普通用戶,可以充分利用網上無窮無盡的資源,而組建投資幾乎可忽略不計。可以預見,隨著網路瓶頸問題的緩解,非專用機群必然是極有發展前途的一種計算形式。
機群組建時應考慮下麵的需求和功能:
·較高帶寬的網路,以支持通信需求;
·低延遲的通信機制;
·支持高帶寬的多點傳送通信方式;
·自動恢復網路和結點錯誤的能力;
·標準的低級原語,支持通信、同步和時序;
·異構的遠程過程調用,以隱藏體繫結構、協議和系統的不同性;
·實時性能監視器;
·可靠的批處理工作調度程式;
·分佈應用程式開發工具;
·支持傳統的高級語言進行異構計算;
·能夠開發工作站機群的應用程式;
·新的系統管理工具;
·發展標準化,以保護軟體投資。
1)能用性(Usability):由於每個結點都是傳統平臺,所以用戶可以在熟悉和成熟的環境中開發和運行程式,平臺提供了功能很強的工作站編程環境工具,並允許現有的順序應用程式無須修改便可運行因此個機群可視為一個巨型工作站,它能為多個順序用戶作業運行提供大大增加的吞吐率並減少響應時間。
2)可用性(Availability):可用性是指一個系統從事生產性使用的時間百分比.傳統的整體系統,如主機和容錯系統依靠昂貴的定製設計來獲得高可用性機群不是用定製組件,而使用廉價的商品化組件以提供含有大量冗餘的高可用性實現機群潛在可用性的關鍵在於有關軟體,並輔以共用部件(如互連)具有高可用的技術。
3)可擴展性(Scalability):一個機群的計算能力隨結點增多而增加.其次,機群的可擴展性是群體可擴展性.機群擴展是組件的,包括處理器、存儲器、磁碟和IA)部件,由於是松耦台,機群能擴展至上百個節點。
4)性能/成本比(Performanee/CostRatio):機群大量的採用商品化部件,它們的性能和價格遵循Moore定律,從而使機群的性能/成本比的增長速率遠快於PVP和MPP。
機群是超級電腦的基本技術,分為緊耦台和松耦合兩大類:
緊耦台型以共用存儲器為通信環境,將多個節點機或CPU組裝在一個或多個模塊上,然後裝配在一個整機箱之中,整機的並行運算能力就是該機的性能共用存儲器有各種方案和結構,如DMA結構和高速縱橫開關結構等.這種系統由公共存儲器塊作為機內的通信數據塊,因而具有極高的並行運算速度和極高的通信速度。
松耦合型以網路互連的消息傳遞為通信環境,各節點機具有獨立的存儲器(包括主存與輔存),各機獨立並行工作,信息的交換通過網路完成.通信網路可通過並行匯流排介面互連,電可通過區域網互連。