What is computer cluster?
A computer cluster is a single logical unit consisting of multiple computers that are linked through a local area network. It consists of a set of loosely or tightly connected computers that work together so that, in many aspects, they can be viewed as a single system. This concept is called transparency of the system. As key features for the construction of these platforms is included elevation : reliability, load balancing and performance.
Unlike grid computers, cluster computers have each node set to perform the same task, controlled and scheduled by software. Cluster's components are usually connected to each other through fast local area networks, with each node running its own instance of an operating system. All of the nodes use the same hardware and the same operating system.
Computer clusters are much more costly to implement and maintain. But, results in much higher running overhead compared to a single computer. That's why, many organizations use computer clusters to maximize processing time, increase database storage and implement faster data storing & retrieving techniques.
There are many different types of computer clusters, but more popular are -
Load-balancing clusters - This kind of cluster model distributes incoming traffic or requests for resources from nodes that run the same programs between machines that make up the cluster. All nodes are responsible to track orders. If one node fails, the requests are redistributed among the nodes available. This type of solution is usually used on Web servers.
High availability clusters - This kind of cluster models are built to provide an availability of services and resources in an uninterrupted manner through the use of implicit redundancy to the system. The general idea is that if a cluster node fail, then applications or services may be available in another node. These types are used to cluster data base of critical missions, mail, file and application servers.
Distributed Processing and Parallel Processing - This cluster model improves the availability and performance for applications, particularly large computational tasks. A large computational task can be divided into smaller tasks that are distributed around the nodes, like a massively parallel supercomputer.
High availability & Load Balancing Combination - It combines the features of both types of cluster, thereby increasing the availability and scalability of services and resources. This type of cluster configuration is widely used in web, email, news, or ftp servers.
Advantage of using computer clusters -
Processing speed - Multiple high-speed computers work together to provided unified processing, and thus faster processing overall.
Improved network infrastructure - Different LAN topologies are implemented to form a computer cluster. These networks create a highly efficient and effective infrastructure that prevents bottlenecks.
Flexibility - Unlike mainframe computers, computer clusters can be upgraded to enhance the existing specifications or add extra components to the system.
Cost efficiency - The cluster technique is cost effective for the amount of power and processing speed being produced. It is more efficient and much cheaper compared to other solutions like setting up mainframe computers.
High availability of resources - If any single component fails in a computer cluster, the other machines continue to provide uninterrupted processing. This redundancy is lacking in mainframe systems.