Cluster software and tools are used to create, analyze, optimize, expand and manage high performance applications on clusters. Clustering is the joining of multiple hardware systems into a single-system conceptual model. The purpose of using clustered systems is to provide redundancy in computers that alone would be required to handle variable workloads. Cluster software and tools provide administrators and technicians with a way to manage those multiple systems and make them work as equal parts of the integral whole.
One of the chief functions of cluster management is to analyze and route requests to the first server that is able to handle those requests. Typically, this load balancing requires an administrative application that can analyze whether the request is for a Web page, a shared enterprise application, or even the sending of e-mail. In a clustered system, there are typically hundreds or thousands of requests every second. Cluster software and tools are used to analyze the protocols, addresses, and packets of information coming into the cluster server and double as network monitoring tools. Another common feature of cluster tools and software is enterprise file serving. The purpose of file serving is to optimize the paths of data travel in a clustered environment. Because so many requests occur and those requests are often for the same application, file serving allows users to request and receive data but avoids hazards such as file duplicity and data collision.
Cluster software and tools may also contain other features more focused on vendor-specific cluster systems (e.g., Sun Microsystems, Intel, and Microsoft). For example, Linux clusters offer a wide range of cluster and software tools forged under the open source community that allow administrators to queue batches, program message interface applications, and provide listeners, fault tolerance, and backup and security solutions, sometimes through a single graphical user interface.
Most providers of cluster software and tools specialize in providing enterprise-wide solutions based on the type of clustering system and its requirements. Many organizations are turning to the open source community applications (e.g., Linux-Cluster Project, OpenMOSIX, and Sun GridEngine) for their cluster tools and software.