At the present time, cluster server and workstation systems are mostly used in High Availability applications and in scientific applications such as numerical computations.Clusters can offer
- High performance
- Large capacity
- High availability
- Incremental growth
- Scientific computing
- Making movies
- Commercial servers(web/database/etc)
The main requirements that a clustering algorithm should satisfy are:
- dealing with different types of attributes
- discovering clusters with arbitrary shape
- minimal requirements for domain knowledge to determine input parameters
- ability to deal with noise and outliers
- insensitivity to order of input records
- high dimensionality
- interpretability and usability
- Fail-over clusters (High Availability)
- Load-balancing clusters
- High-performance clusters
The simplest fail-over cluster has two nodes: one stays active and the other stays on stand-by but constantly monitors the active one. In case the active node goes down, the stand-by node takes over, allowing a mission-critical system to continue functioning.
* Application/Service Failover - Create n-node server clusters for failover of key applications and services
* IP Load Balancing - Load balance incoming IP network requests across a farm of servers
Load-balancing clusters are commonly used for busy Web sites where several nodes host the same site, and each new request for a Web page is dynamically routed to a node with a lower load.
These clusters are used to run parallel programs for time-intensive computations and are of special interest to the scientific community. They commonly run simulations and other CPU-intensive programs that would take an inordinate amount of time to run on regular hardware.