集群計算

集群計算

在計算機中,集群是使用多個計算機,如典型的個人計算機或UNIX工作站;多個存儲設備;冗餘互聯,來組成一個對用戶來說單一的高可用性的系統。集群計算能夠被用來實現負載均衡,集群計算的倡導者提出,對一個企業來說,集群在許多情況下,能夠達到99.999%的可用性。集群的一個主要思路就是,對外界來說,集群就像是一個唯一的系統。

定義


在計算機中,集群(clustering)是使用多個計算機,如典型的個人計算機或UNIX工作站,多個存儲設備和記憶冗餘的互連線路來組成一個對用戶來說單一的、高可用的系統。集群計算(clustering computing)能夠被用來實現負載均衡。集群的倡導者提出,對一個企業來說,集群在許多情況下能夠達到99.999%的可用性。集群的一個主要思路是,對外接來說,集群就像是一個唯一的系統。
集群的一個常用用途就是在一個高流量的網站中實現負載均衡。一個網頁請求被送到“管理者”伺服器,然後此伺服器決定此請求由幾個相同Web伺服器中的哪一個進行處理。這種Web Farm(根據配置有時候被這樣稱呼)將能夠提升通信量和處理速度。
集群最早是在20世紀80年代DEC的VMS系統中出現的,IBM的sysplex是與集群接近的大型主機系統。微軟Sun微系統,以及其它主導硬體和軟體流的公司提供有集群包,並保證提供可擴展性和可用性。隨著通信量和可用性保證的增加,集群的整個部分或局部零件的大小與數量都可以增加。
集群計算還可以被用來進行低廉的并行計算,這些并行計算通常為科學研究或其它需要并行運算的應用服務。一個著名的例子就是裴歐沃夫(Beowulf)計劃,它使用一定數量現成的個人計算機組成集群來實現科學應用。

集群技術


集群技術的出現和IA架構伺服器的快速發展為社會的需求提供了新的選擇。它價格低廉,易於使用和維護,而且採用集群技術可以構造超級計算機,其超強的處理能力可以取代價格昂貴的中大型機,為行業的高端應用開闢了新的方向。
集群技術是一種相對較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益。
目前,在世界各地正在運行的超級計算機中,有許多都是採用集群技術來實現的。
集群是由一些互相連接在一起的計算機構成的一個并行或分散式系統。這些計算機一起工作並運行一系列共同的應用程序,同時,為用戶和應用程序提供單一的系統映射。從外部來看,它們僅僅是一個系統,對外提供統一的服務。集群內的計算機物理上通過電纜連接,程序上則通過集群軟體連接。這些連接允許計算機使用故障應急與負載平衡功能,而故障應急與負載平衡功能在單機上是不可能實現的。
伺服器集群系統通俗地講就是把多台伺服器通過快速通信鏈路連接起來,從外部看來,這些伺服器就像一台伺服器在工作,而對內來說,外面來的負載通過一定的機制動態地分配到這些節點機中去,從而達到超級伺服器才有的高性能、高可用。
集群的優點
高可伸縮性:伺服器集群具有很強的可伸縮性。隨著需求和負荷的增長,可以向集群系統添加更多的伺服器。在這樣的配置中,可以有多台伺服器執行相同的應用和資料庫操作。
高可用性:高可用性是指,在不需要操作者干預的情況下,防止系統發生故障或從故障中自動恢復的能力。通過把故障伺服器上的應用程序轉移到備份伺服器上運行,集群系統能夠把正常運行時間提高到大於99.9%,大大減少伺服器和應用程序的停機時間。
高可管理性:系統管理員可以從遠程管理一個、甚至一組集群,就好像在單機系統中一樣。

英文信息


Cluster computing
In computers, clustering is the use of multiple computers, typically PCs or UNIX workstations, multiple storage devices, and redundant interconnections, to form what appears to users as a single highly available system. Cluster computing can be used for load balancing as well as for high availability. Advocates of clustering suggest that the approach can help an enterprise achieve 99.999 availability in some cases. One of the main ideas of cluster computing is that, to the outside world, the cluster appears to be a single system.
A common use of cluster computing is to load balance traffic on high-traffic Web sites. A Web page request is sent to a "manager" server, which then determines which of several identical or very similar Web servers to forward the request to for handling. Having a Web farm (as such a configuration is sometimes called) allows traffic to be handled more quickly.
Clustering has been available since the 1980s when it was used in DEC's VMSsystems. IBM's sysplex is a cluster approach for a mainframe system. Microsoft, Sun Microsystems, and other leading hardware and software companies offer clustering packages that are said to offer scalability as well as availability. As traffic or availability assurance increases, all or some parts of the cluster can be increased in size or number.
Cluster computing can also be used as a relatively low-cost form of parallel processing for scientific and other applications that lend themselves to parallel operations. An early and well-known example was the Beowulf project in which a number of off-the-shelf PCs were used to form a cluster for scientific applications.