What is clustering & why it is required
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 . Cluster computing is used as a relatively low-cost form of parallel processing machine for scientific and other applications that lend themselves to parallel operations
Computer cluster technology puts clusters of systems together to provide better system reliability and performance. Cluster server systems connect a group of servers together in order to jointly provide processing service for the clients in the network.
Cluster operating systems divide the tasks amongst the available servers. Clusters of systems or workstations, on the other hand, connect a group of systems together to jointly share a critically demanding computational task. theoretically, a cluster operating system should provide seamless optimization in every case.
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
- Clusters Used for
- 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