什么是計算機集群
編輯計算機集群是一組計算機,如此一起工作使得它們可以作為一個單一的系統中查看。與網格計算機不同,計算機集群將每個節點設置為執行相同的任務,由軟件控制和調度。
集群的組件通常通過快速局域網相互連接,每個節點(用作服務器的計算機)運行自己的操作系統實例。在大多數情況下,所有節點都使用相同的硬件和相同的操作系統,盡管在某些設置中(例如使用開源集群應用程序資源(OSCAR)),不同的操作系統可以用于每臺計算機,或不同的硬件。
通常部署集群是為了提高單臺計算機的性能和可用性,同時通常比具有可比速度或可用性的單臺計算機更具成本效益。
計算機集群的出現是許多計算趨勢融合的結果,包括低成本微處理器、高速網絡和用于高性能分布式計算的軟件的可用性。它們具有廣泛的適用性和部署范圍,從具有少量節點的小型企業集群到世界上一些最快的超級計算機,例如IBM的紅杉。在集群出現之前,具有模塊化冗余的單機容錯大型機受雇;但集群的前期成本較低,網絡結構的速度提高,有利于集群的采用。與高可靠性大型機相比,集群的擴展成本更低,但錯誤處理的復雜性也增加了,因為集群中的錯誤模式對運行的程序并不透明。
基本概念
通過編排大量低成本商用現成計算機來獲得更多計算能力和更好的可靠性的愿望已經產生了各種體系結構和配置。
計算機集群方法通常(但不總是)通過快速局域網連接多個現成的計算節點(例如用作服務器的個人計算機)。計算節點的活動由“集群中間件”編排,這是一個位于節點之上的軟件層,允許用戶將集群視為大體上的一個內聚計算單元,例如通過單個系統映像概念。
計算機集群依賴于集中管理方法,該方法使節點可用作編排的共享服務器。它不同于其他方法,例如對等或網格計算,后者也使用許多節點,但具有更加分布式的性質。
計算機集群可以是一個簡單的兩節點系統,它只連接兩臺個人計算機,也可以是一臺速度非常快的超級計算機。構建集群的基本方法是Beowulf集群,它可以用幾臺個人計算機構建,以產生傳統高性能計算的經濟高效的替代方案。一個顯示該概念可行性的早期項目是133節點StoneSoupercomputer。開發人員使用Linux、并行虛擬機工具包和消息傳遞接口庫以相對較低的成本實現高性能。
盡管集群可能僅由通過簡單網絡連接的幾臺個人計算機組成,但集群體系結構也可用于實現非常高的性能水平。在TOP500組織的半年度最快的500次名單的超級計算機通常包括多個集群,例如世界上最快的計算機在2011年的?計算機具有分布式存儲,集群架構。
計算機集群的歷史
編輯GregPfister曾表示,集群不是由任何特定供應商發明的,而是由無法在一臺計算機上完成所有工作或需要備份的客戶發明的。Pfister估計日期是1960年代的某個時間。集群計算為做任何形式的并行工作方式的正式的工程基礎可以說是由發明吉恩·阿姆達爾的IBM:,誰在1967年發表了后來被視為對并行處理的開創性論文Amdahl定律。
早期計算機集群的歷史或多或少與早期網絡的歷史直接相關,因為網絡發展的主要動機之一是鏈接計算資源,創建事實上的計算機集群。
xxx個設計為集群的生產系統是1960年代中期的BurroughsB5700。這允許最多四臺計算機(每臺具有一個或兩個處理器)與公共磁盤存儲子系統緊密耦合以分配工作負載。與標準的多處理器系統不同,每臺計算機都可以在不中斷整體操作的情況下重新啟動。
xxx個商業松散耦合集群產品是DatapointCorporation于1977年開發的“附加資源計算機”(ARC)系統,并使用ARCnet作為集群接口。直到DigitalEquipmentCorporation于1984年為VAX/VMS操作系統(現在命名為OpenVMS)發布了他們的VAXcluster產品,集群本身才真正起飛。ARC和VAXcluster產品不僅支持并行計算,還支持共享文件系統和xxx設備。這個想法是提供并行處理的優勢,同時保持數據的可靠性和xxx性。另外兩個值得注意的早期商業集群是TandemHimalayan(大約1994年的高可用性產品)和IBMS/390ParallelSysplex(大約1994年,主要用于商業用途)。
在同一時間范圍內,當計算機集群在商品網絡上的計算機外使用并行性時,超級計算機開始在同一臺計算機內使用它們。繼1964年CDC6600取得成功之后,Cray1于1976年交付,并通過矢量處理引入了內部并行性。雖然早期的超級計算機排除了集群并依賴于共享內存,但隨著時間的推移,一些最快的超級計算機(例如K計算機)依賴于集群架構。
計算機集群的屬性
編輯計算機集群可以針對不同的目的進行配置,從通用業務需求(如Web服務支持)到計算密集型科學計算。在任何一種情況下,集群都可以使用高可用性方法。請注意,下面描述的屬性不是xxx的,“計算機集群”也可能使用高可用性方法等。
“負載平衡”集群是集群節點共享計算工作負載以提供更好的整體性能的配置。例如,Web服務器集群可能會將不同的查詢分配給不同的節點,因此會優化整體響應時間。然而,負載平衡的方法在不同的應用程序之間可能會有很大的不同,例如,用于科學計算的高性能集群將使用來自網絡服務器集群的不同算法來平衡負載,該集群可能只使用簡單的循環方法通過分配對不同節點的每個新請求。
計算機集群用于計算密集型目的,而不是處理面向IO的操作,例如Web服務或數據庫。例如,計算機集群可能支持車輛碰撞或天氣的計算模擬。非常緊密耦合的計算機集群是為可能接近“超級計算”的工作而設計的。
“高可用性集群”(也稱為故障轉移集群或HA集群)提高了集群方法的可用性。它們通過具有冗余節點來運行,然后在系統組件出現故障時使用這些節點提供服務。HA集群實現嘗試使用集群組件的冗余來消除單點故障。許多操作系統都有高可用性集群的商業實現。在Linux的HA項目是一個常用的免費軟件HA包為Linux的操作系統。
集群的好處
編輯集群的設計主要考慮性能,但安裝基于許多其他因素。容錯(系統能夠繼續處理故障節點的能力)允許可擴展性,在高性能情況下,維護例行程序的頻率較低,資源整合(例如RAID)和集中管理。優點包括在發生災難時能夠進行數據恢復以及提供并行數據處理和高處理能力。
在可擴展性方面,集群提供了水平添加節點的能力。這意味著可以將更多計算機添加到集群中,以提高其性能、冗余和容錯能力。與擴展集群中的單個節點相比,這對于性能更高的集群來說是一種廉價的解決方案。計算機集群的這一特性允許由大量性能較低的計算機執行更大的計算負載。
向集群添加新節點時,可靠性會增加,因為不需要關閉整個集群。可以關閉單個節點進行維護,而集群的其余部分則承擔該單個節點的負載。
如果您將大量計算機集群在一起,這有助于使用分布式文件系統和RAID,這兩者都可以提高集群的可靠性和速度。
數據共享和通信
編輯數據共享
隨著計算機集群在1980年代出現,超級計算機也出現了。當時區分這三類的要素之一是早期的超級計算機依賴于共享內存。迄今為止,集群通常不使用物理共享內存,而許多超級計算機架構也已放棄它。
然而,集群文件系統的使用在現代計算機集群中是必不可少的。示例包括IBM通用并行文件系統、Microsoft的集群共享卷或Oracle集群文件系統。
消息傳遞和通信
兩種廣泛使用的集群節點間通信方法是MPI(消息傳遞接口)和PVM(并行虛擬機)。
PVM是在1989年左右在MPI可用之前在橡樹嶺國家實驗室開發的。PVM必須直接安裝在每個集群節點上,并提供一組將節點繪制為“并行虛擬機”的軟件庫。PVM為消息傳遞、任務和資源管理以及故障通知提供了一個運行時環境。PVM可由用C、C++或Fortran等編寫的用戶程序使用。
MPI于1990年代初在40個組織之間的討論中出現。最初的努力得到了ARPA和國家科學基金會的支持。MPI的設計并沒有重新開始,而是利用了當時商業系統中可用的各種功能。MPI規范隨后產生了特定的實現。MPI實現通常使用TCP/IP和套接字連接。MPI現在是一種廣泛使用的通信模型,它使并行程序能夠用C、Fortran、Python等語言編寫。因此,與提供具體實現的PVM不同,MPI是已在MPICH和OpenMPI等系統中實現的規范。
集群管理
編輯Cubieboards的低成本和低能耗微型集群,在Lubuntu上使用ApacheHadoopGroundElectronics/ABOpenCircumferenceC25集群計算機系統的預發布樣本,配備8個RaspberryPi3B+型和1個UDOOx86板。
使用計算機集群的挑戰之一是管理它的成本,如果集群有N個節點,它有時可能與管理N個獨立機器的成本一樣高。在某些情況下,這為具有較低管理成本的共享內存架構提供了優勢。由于易于管理,這也使虛擬機流行起來。
任務調度
當大型多用戶集群需要訪問非常大量的數據時,任務調度就成為一個挑戰。在具有復雜應用環境的異構CPU-GPU集群中,每個作業的性能取決于底層集群的特性。因此,將任務映射到CPU內核和GPU設備是一項重大挑戰。這是一個正在進行的研究領域;已經提出并研究了結合和擴展MapReduce和Hadoop的算法。
節點故障管理
當集群中的一個節點出現故障時,可以采用諸如“圍欄”之類的策略來保持系統的其余部分正常運行。防護是在節點出現故障時隔離節點或保護共享資源的過程。有兩類圍欄方法;一個禁用節點本身,另一個禁用對共享磁盤等資源的訪問。
該STONITH方法代表“拍攝其他節點在頭部”,意思是可疑節點被禁用或斷電。例如,電源防護使用電源控制器關閉無法運行的節點。
該資源擊劍方法不允許訪問資源,而無需關閉節點供電。這可能包括通過SCSI3的持久保留防護、禁用光纖通道端口的光纖通道防護或禁用對GNBD服務器的訪問的全局網絡塊設備(GNBD)防護。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/126732/