Professional Documents
Culture Documents
What is a Cluster?
A collection of independent computer systems working together
as if a single system
It is an interconnected stand-alone computers which work
cooperatively as a single integrated computing resource.
Coupled through a scalable, high bandwidth, low latency
interconnect
The network of compute nodes are connected by LAN/SAN and
are typically homogeneous with distributed control running
Unix/Linux.
Suited to HPC
Key Benefits of Clusters
High performance: running cluster enabled programs
Scalability: adding servers to the cluster or by adding more
clusters to the network as the need arises or CPU to SMP
High throughput
System availability (SA): offer inherent high system availability
due to the redundancy of hardware, operating systems, and
applications
Cost-effective
Classification of
Cluster Computers
5
Clusters Classification
Based on Focus (in Market)
High performance (HP) clusters
Grand challenging applications
High availability (HA) clusters
Mission critical applications
Clusters Classification
Based on Workstation/PC Ownership
Dedicated clusters
Non-dedicated clusters
Adaptive parallel computing
Can be used for CPU cycle stealing
Clusters Classification
Based on Node Architecture
Clusters of PCs (CoPs)
Clusters of Workstations (COWs)
Clusters of SMPs (CLUMPs)
Clusters Classification
Based on Node Components Architecture &
Configuration:
Homogeneous clusters
All nodes have similar configuration
Heterogeneous clusters
Nodes based on different processors and running different
OS
Clusters Classification
Based on Levels of Clustering
Group clusters (# nodes: 2-99)
A set of dedicated/non-dedicated computers --- mainly
connected by SAN like Myrinet
Departmental clusters (# nodes: 99-999)
Organizational clusters (# nodes: many 100s)
Internet-wide clusters = Global clusters
(# nodes: 1000s to many millions)
Metacomputing
Clusters and Their
Commodity Components
Cluster Components
Nodes
Multiple high performance components:
PCs
Workstations
SMPs
Distributed HPC systems leading to Metacomputing
They can be based on different architectures and running
different OS
Cluster Components
Processors
There are many (CISC/RISC/VLIW/Vector..)
Intel: Pentiums, Xeon, Merced.
Sun: SPARC, ULTRASPARC
HP PA
IBM RS6000/PowerPC
SGI MPIS
Digital Alphas
Integrating memory, processing and networking into a single chip
IRAM (CPU & Mem): (http://iram.cs.berkeley.edu)
Alpha 21366 (CPU, Memory Controller, NI)
Cluster Components
OS
State of the art OS:
Tend to be modular: can easily be extended and new subsystem
can be added without modifying the underlying OS structure
Multithread has added a new dimension to parallel processing
Popular OS used on nodes of clusters:
Linux(Beowulf)
Microsoft NT (Illinois HPVM)
SUN Solaris (Berkeley NOW)
IBM AIX (IBM SP2)
..
Cluster Components
High Performance Networks
Ethernet (10Mbps)
Fast Ethernet (100Mbps)
Gigabit Ethernet (1Gbps)
SCI (Dolphin - MPI- 12 usec latency)
ATM
Myrinet (1.2Gbps)
Digital Memory Channel
FDDI
Cluster Components
Network Interfaces
Dedicated Processing power and storage embedded in the
Network Interface Mryicom
An I/O card today Net
Hardware Level
Availability Support Functions
Single I/O space (SIO):
Any node can access any peripheral or disk devices without the
knowledge of physical location.
Single process space (SPS)
Any process can create processes on any node, and they can
communicate through signals, pipes, etc, as if they were one a
single node
Checkpointing and process migration
Saves the process state and intermediate results in memory or disk;
process migration for load balancing
Reduction in the risk of operator errors
36
Relationship among Middleware
Modules
Strategies for SSI
Build as a layer on top of existing OS (e.g. Glunix)
Benefits:
Makes the system quickly portable, tracks vendor software upgrades,
and reduces development time
New systems can be built quickly by mapping new services onto the
functionality provided by the layer beneath, e.g. Glunix/Solaris-MC
Build SSI at the kernel level (True Cluster OS)
Good, but cant leverage of OS improvements by vendor
e.g. Unixware and Mosix (built using BSD Unix)
Resource Management and
Scheduling (RMS)
RMS is the act of distributing applications among computers to
maximize their throughput
Enable the effective and efficient utilization of the resources
available
Software components
Resource manager
Locating and allocating computational resource, authentication,
process creation and migration
Resource scheduler
Queuing applications, resource location and assignment. It instructs
resource manager what to do when (policy)
Reasons for using RMS
Provide an increased, and reliable, throughput of user
applications on the systems
Load balancing
Utilizing spare CPU cycles
Providing fault tolerant systems
Manage access to powerful system, etc
Basic architecture of RMS: client-server system
RMS Components
5 . U s e r re a d s
r e s u lts f r o m
s e r v e r v ia W W W
1 . U s e r s u b m it s
W o r ld -W id e W e b J o b S c r ip t v ia
W W W
U ser
2 . S e r v e r r e c e iv e s jo b r e q u e s t a n d a s c e r t a in s b e s t n o d e
S e r v e r (C o n ta in s P B S -L ib r a & P B S W e b )
N e tw o r k o f d e d ic a te d c lu s te r n o d e s
3 . S e r v e r d is p a tc h e s
jo b to o p tim a l n o d e
4 . N o d e r u n s jo b
a n d re tu rn s
r e s u lt s t o s e r v e r
Libra: An example cluster scheduler
User Cluster Management
Application System
(PBS)
Application
Budget Best
User Check Node (node 2)
Control Evaluator
..
.
Deadline Control
Node Querying
Module
(node N)