Tuesday, June 3, 2008

Definition and Benefits from Clustering

Greg Pfister, in his wonderful book In Search of Clusters, defines a cluster as "a type of parallel or distributed system that: consists of a collection of interconnected whole computers, and is used as a single, unified computing resource." Therefore, cluster is a group of computers, bound together into a common resource pool. A given task can be executed on all computers or on any specific computer in the cluster. Lets look into the benefits from clustering:
Scientific applications: Enterprise running scientific applications on supercomputers can benefit from migrating to more cost effective Linux cluster.
Large ISPs and E-Commerce enterprise with large database: Internet service providers or e-commerce web sites that require high availability and load balancing and scalability.
Graphics rendering and animation: a Linux cluster has become important in the film industry for rendering quality graphics. In the movie Titanic, a Linux cluster was used to render background in ocean scenes. Same concept used in movies True Lies and Interview with the Vampire. One may also characterize clusters by their function:
Definition and Benefits from Clustering: Tasks (small piece of executable codes) are broken down and worked on by many small systems rather than one large system, often deployed for task previously handled by supercomputers. This type of cluster is very suitable for scientific or financial analysis.
Fail-over clusters: Clusters are used to increase the availability and serviceability of network services. When an application or server fails, its services are migrated to another system, the identity of failed system also migrated. Failover servers are used for database servers, mail servers or file servers.
High availability load balancing clusters: A given application can run on all computers and a given computer can host multiple applications. The ?outside world? interacts with the cluster and individual computers are ?hidden?. It support large cluster pool and application do not need to be specialized. High availability clustering works best with stateless application ands that can be run concurrently.


Source : http://www.devbuilder.org/article/24

No comments: