|
Tech Primer
High Availability and Cluster Computing
About cluster computing
A
cluster refers to a group of loosely coupled computers that work together as
one. This may be a bunch of workstations connected over a high-speed Local Area
Network (LAN) or more likely it may be a bunch of servers tied together using
a proprietary or standard high-speed interconnect. Clusters offer greater speed
and reliability. Cluster elements usually are inexpensive x86 boxes that run
Linux or Windows.
Defining High Availability
High Availability is also referred to as reliability, availability or fault
tolerance. High availability is achieved by detecting failures and reconfiguring
a computer system by shifting the workload from a failed node or processor to
remaining nodes or processors.
The benefits of clustering
Some of the principal benefits of cluster computing are scalability (vertical
and horizontal), availability and high performance. Cluster computing is used
for running scientific applications, ISPs use it in server farms that run Web
and e-commerce software while TV and movie studios use clusters for rendering
special effects and animation.
Cluster varieties
Clusters can be configured to offer high availability, high performance or load
balancing or any combination thereof.
High availability clusters employ redundant nodes
that take over when primary nodes fail. The nodes can be easily
removed for maintenance and repair. A non-functioning node can be
restored without affecting the availability of the service provided
by the cluster. Linux HA or High Availability Linux is a commonly
used free software package.
High performance clusters (HPC) on the other hand
are used to boost raw performance by splitting a computational task
across the nodes in a cluster. This cluster topology is used in
scientific computing and, more often than not, you will find these
nodes running Linux and free software to implement parallelism.
A load balancing cluster is used to improve performance
while maintaining high availability. Such a cluster of computers
is known as a server farm. If a node fails, the request is redistributed
between the remaining nodes. This architecture is popular in Web
hosting environments at ISPs.
The technology
Clustering was developed to permit the use of multitudes of low cost computers
to handle tasks that otherwise would require high-end boxes with dozens of processors.
Some of the technologies associated with cluster computing are host protocol
stack processing and interconnect technologies. MPI or Message Passage Interface,
a communication library lets programmers write parallel programs in C and FORTRAN
(Formula Translator). Some of the software used in the GNU/Linux world are Beowulf,
distcc, LVS (Linux Virtual Server), Mosix, OpenMosix and kerrighed.
For more information visit
www.cs.sandia.gov/cplant
www.linuxhpc.org
Garima Grover
grover_garima@hotmail.com
For more information visit http://www.top500.org/
|