Professional Documents
Culture Documents
21
There are some key concepts that must be
understood when forming a cluster computing resource. Nodes or systems
are the individual members of a cluster. They can be computers, servers, and
other such hardware although each node generally has memory and
processing capabilities. If one node becomes unavailable the other nodes can
carry the demand load so that applications or services are always available.
There must be at least two nodes to compose a cluster structure otherwise
they are just called servers. The collection of software on each node that
manages all cluster specific activity is called the cluster service. The cluster
service manages all of the resources, the canonical items in the system, and
sees then as identical opaque objects. Resources can be such things as
physical hardware devices, like disk drives and network cards, logical items,
like logical disk volumes, TCP/IP addresses, applications, and databases.
22
When a resource is providing its service on a
specific node it is said to be on-line. A collection of resources to be managed
as a single unit is called a group. Groups contain all of the resources
necessary to run a specific application, and if need be, to connect to the
service provided by the application in the case of client systems. These
groups allow administrators to combine resources into larger logical units so
that they can be managed as a unit. This, of course, means that all operations
performed on a group affect all resources contained within that group.
Normally the development of a cluster computing system occurs in phases.
The first phase involves establishing the underpinnings into the base
operating system and building the foundation of the cluster components.
These things should focus on providing enhanced availability to key
applications using storage that is accessible to two nodes. The following
stages occur as the demand increases and should allow for much larger
clusters to be formed. These larger clusters should have a true distribution of
applications, higher performance interconnects, widely distributed storage
for easy accessibility and load balancing. Cluster computing will become
even more prevalent in the future because of the growing needs and
demands of businesses as well as the spread of the Internet.
Clustering Concepts
Clusters are in fact quite simple. They are a bunch of computers tied
together with a network working on a large problem that has been broken
down into smaller pieces. There are a number of different strategies we can
use to tie them together. There are also a number of different software
packages that can be used to make the software side of things work.
23
Parallelism
Hardware Parallelism
24
System level Parallelism
Software Parallelism
Software parallelism is the ability to find well defined areas in a problem we want to solve that can
be broken down into self-contained parts. These parts are the program elements that can be
distributed and give us the speedup that we want to get out of a high performance computing system.
Before we can run a program on a parallel cluster, we have to ensure that the problems we are trying
to solve are amenable to being done in a parallel fashion. Almost any problem that is composed of
smaller subproblems that can be quantified can be broken down into smaller problems and run on a
node on a cluster.
System-Level Middleware
Application-Level Middleware
27
Single System Image Benefits
•
Free the end user from having to know where an application will run
•
Let the user work with familiar interface and commands and allows
the administrators to manage the entire clusters as a single entity
•
Reduce the risk of operator errors, with the result that end users see
improved reliability and higher availability of the system
•
28
•
Help track the locations of all resource so that there is no longer any
need for system operators to be concerned with their physical
location
•
Network is the most critical part of a cluster. Its capabilities and performance
directly influences the applicability of the whole system for HPC. Starting
from Local/Wide Area Networks (LAN/WAN) like Fast Ethernet and ATM,
to System Area Networks (SAN) like Myrinet and Memory Channel
Eg. Fast Ethernet
29
COMPONENTS OF CLUSTER COMPUTER
1. Multiple High Performance Computers
a. PCs
b. Workstations
c. SMPs (CLUMPS)
a. Linux (Beowulf)
b. Microsoft NT (Illinois HPVM)
c. SUN Solaris (Berkeley NOW)
d. HP UX (Illinois - PANDA)
e. OS gluing layers(Berkeley Glunix)
a. Ethernet (10Mbps),
b. Fast Ethernet (100Mbps),
c. Gigabit Ethernet (1Gbps)
d. Myrinet (1.2Gbps)
e. Digital Memory Channel
f. FDDI
30
6. Cluster Middleware
a. Single System Image (SSI)
b. System Availability (SA) Infrastructure
7. Hardware
a. DEC Memory Channel, DSM (Alewife, DASH), SMP Techniques
8. Operating System Kernel/Gluing Layers
31
CLUSTER CLASSIFICATIONS
Clusters are classified in to several sections based on the
facts such as 1)Application target 2) Node owner ship 3)
Node Hardware 4) Node operating System 5) Node
configuration.
Clusters based on Application Target are again classified into
two:
• HP-UX clusters
32
• Microsoft Wolfpack clusters
Clusters based on Node Configuration are again classified
into:
•
If you are mixing hardware that has different networking technologies, there
will be large differences in the speed with which data will be accessed and
how individual nodes can communicate. If it is in your budget make sure
that all of the machines you want to include in your cluster have similar
networking capabilities, and if at all possible, have network adapters from
the same manufacturer.
Cluster Software
You will have to build versions of clustering software for each kind of
system you include in your cluster.
Programming
Our code will have to be written to support the lowest common denominator
for data types supported by the least powerful node in our cluster. With
mixed machines, the more powerful machines will have attributes that
cannot be attained in the powerful machine.
Timing
This is the most problematic aspect of heterogeneous cluster. Since these
machines have different performance profile our code will execute at
33
different rates on the different kinds of nodes. This can cause serious
bottlenecks if a process on one node is waiting for results of a calculation on
a slower node. The second kind of heterogeneous clusters is made from
different machines in the same architectural family: e.g. a collection of Intel
boxes where the machines are different generations or machines of same
generation from different manufacturers.
Network Selection
Speed Selection
No matter what topology you choose for your cluster, you will want to get
fastest network that your budget allows. Fortunately, the availability of high
speed computers has also forced the development of high speed networking
systems. Examples are 10Mbit Ethernet, 100Mbit Ethernet, gigabit
networking, channel bonding etc.
34
FUTURE TRENDS - GRID COMPUTING
35
examples of new applications that benefit from using Grid technology
constitute a coupling of advanced scientific instrumentation or desktop
computers with remote supercomputers; collaborative design of complex
systems via high-bandwidth access to shared resources; ultra-large virtual
supercomputers constructed to solve problems too large to fit on any single
computer; rapid, large-scale parametric studies.
36
CONCLUSION
Clusters are promising
• Solve parallel processing paradox
• Offer incremental growth and matches with funding pattern
•
37