|
|
Cluster Basics![]()
What is a Cluster?
In the most basic sense, a cluster is a system comprised of two or more individual computers or systems (often called "nodes") which work in conjunction with each other to execute applications or perform other work. Common end-goals for building and running a cluster include a desired increase in reliability, load distribution or computational performance.
Types of Clusters
High Availability (HA) and Failover clusters are aimed at achieving uninterrupted availability of services and resources through the use of redundancy built into the system. The general idea is that if one node in the cluster fails, applications or services that were running on that node "failover" to an available running node. These types of clusters are commonly used for mission-critical database, mail, file or application servers. Load Balancing clusters distribute incoming traffic or resource requests among multiple nodes running the same programs. Every node in the cluster is able to handle requests. If a node fails, requests are redistributed between the remaining available nodes. This type of request distribution is often useful in a web hosting environment. Combination HA and Load Balancing clusters combine features of both of these cluster types, increasing both the availability and scalability of services and resources. This type of cluster setup is commonly used for web, mail, news or FTP servers. Distributed Processing or Parallel Processing clusters can increase both availability and performance for applications, particularly large computational tasks. A large processing task is broken down into many smaller tasks and worked on by many small systems (the nodes) instead of a single large system. The most common kind of Distributed or Parallel Processing cluster is a Beowulf cluster. These clusters are often used for scientific or financial simulations and analysis.
Reasons For Using A Cluster
Clusters or combinations of clusters are used when it is critical that content or services be available and/or processed as quickly as possible. Internet Service Providers or E-commerce web sites often require high availability, load balancing and scalability. Clusters have become important in the film industry for rendering quality graphics and animation. Beowulf clusters are used in science, engineering and finance to work on projects in fields such as protein folding, neural networks, quantum mechanics, fluid dynamics, astrophysics, evolutionary biology, molecular dynamics, genetic analysis, statistics and economics. Researchers, organizations and companies use clusters because they provide increased scalability, manageability, availability or supercomputer-level processing power at an affordable price.
View a cluster simulation of a typhoon over Japan
(MPEG video, 12 seconds, 1.7 MB file)
![]()
What is a Beowulf cluster?
A Beowulf cluster can be defined in the broadest sense as any number of systems whose collective processing capabilities are simultaneously applied to a specific technical, scientific, or business application. Each individual computer is referred to as a "node", and the nodes communicate with one another using standard networking (e.g. 10/100 Ethernet) or high-speed cluster networking (such as Myrinet or InfiniBand).
How does Beowulf clustering work?
A Beowulf cluster is a system that utilizes a certain number of its nodes simultaneously to solve a specific computational task. Unlike Internet server clustering, which typically distributes multiple requests and tasks to different nodes (load-sharing), the Beowulf environment directs the processing power of all nodes to a single task (versus distributing multiple tasks to different nodes). This makes Beowulf the best choice for processing-intensive, analytical applications, such as mathematical computation, scientific analysis (weather forecasting, seismic analysis, etc.) and financial data analysis.
What is "Parallel Processing"?
Parallel Processing refers to the concept of speeding up the execution of a program by dividing the program into multiple fragments that can execute simultaneously, each on its own processor. A program being executed across n processors might execute n times faster than it would using a single processor. Traditionally, parallel processing was performed by multiple processors in a specially designed parallel computer. These are systems in which multiple processors share a single memory and bus interface within a single computer. It is also possible for a group of computers (for example, a group of PCs each running Linux) to be interconnected by a network to form a parallel-processing cluster (a.k.a. Beowulf cluster). Aspen Systems Linux Beowulf clusters provide optimum parallel processing performance. Our cluster solutions are currently used by a variety of private, government, military, scientific and educational organizations. Please request a Beowulf cluster quote online or contact our sales department if you are interested in a custom cluster from Aspen Systems. |