Linux Clusters
Linux Clustering Consulting Services
Linux based
clusters are pretty much in fashion these
days. The ability to use cheap off-the-shelf hardware together with open
source software makes Linux an ideal platform for supercomputing. Linux
clusters are either: "Beowulf"
clusters, "MOSIX"
clusters or "High-Availability"
clusters. Cluster types are chosen depending on the application
requirements which usually fall in one of the following categories:
computational intensive (Beowulf, Mosix), I/O intensive (supercomputers)
or high availability (failover, servers...). In addition to clusters,
there are two related architectures: distributed systems (seti@home,
folding@home, Condor...) that can run on computers with totally
different architectures spread out over the Internet; and
multiprocessor machines (those, like the
SGIs are much superior to clusters when memory needs to be shared
fast between processes).
For the latest information about
Linux Clusters
What is GNU/Linux?
GNU/
Linux is a freely or inexpensively available operating system
based around the Linux kernel which was developed by Linus Torvalds. GNU
is a recursive acronym that stands for Gnu is Not Unix. GNU is basically
a collection of open source implementations of common Unix utilities and
programs written to
provide and alternative to expensive commercial Unix software. Both are
open source, meaning that the source code for the kernel and GNU
applications are freely available to anyone. Since the source code is
available, anyone who can code can make modifications to them. This has
lead to many implementations of
GNU/Linux of which clustering is but one.
For the latest information about
What GNU/Linux is
What is a Cluster?
A cluster is a group of computers which work together toward a
final goal. Some would argue that a cluster must at least consist of a
message passing interface and a job scheduler. The message passing
interface works to transmit data among the computers (commonly called
nodes or hosts) in the cluster. The job scheduler
is just what it sounds like. It takes job requests from user input or
other means and schedules them to be run on the number of nodes required
in the cluster. It is possible to have a cluster without either of these
components, however. Consider a cluster built for a single purpose.
There would be no need for a job scheduler and data could be shared
among the hosts with simple methods
like a CORBA interface.
By definition, however, a cluster must consist of at least two nodes,
a master and a slave. The master node is the computer that users are
most likely to interact with since it usually has the job scheduler
running on it. The master can also participate in computation like the
slave nodes do, but it is not required or even recommended in large
clusters. The slave nodes are just that. They respond to the requests of
the master node and, in general, do most of the
computing.
For the latest information about
What a Cluster is