Parallel Processors and
Cluster Systems
Gagan Bansal
IME Sahibabad
Distributed Memory
Architecture
Shared Nothing Architecture
Shared Disk System
Shared-Nothing Architecture
Interconnection Network
Processor Processor Processor
Unit (PU) Unit (PU) Unit (PU)
Local Local Local
Memory Memory Memory
In a distributed-memory machine, all Pus are connected
to each other via an intercommunication mechanism and
communicate by passing message.
Distributed-memory systems are loosely coupled
multiprocessor system.
MPP and Cluster systems adhere to the same distributed-
memory computing model.
An MPP system can contain and effectively use
hundreds and even thousands of Pus.
Distributed-Memory systems can be classified by the
way the message are passed such as (MIMD,SIMD)-
Multiple Instruction Multiple Data, Single Instruction
Multiple Data.
Shared-Disk Systems
Interconnection Network
PUs PUs PUs
Local Memory Local Memory Local Memory
Global Shared Disk System
To reduce a data skew problem that is a variation
of distributed-memory shared nothing arch., the
disk storage is shared
It assumes that all processors have direct access to
all disks.
To make this design effective for parallel database
access, an extra software layer called a distributed
cache manager is required to locally manage
cache concurrency among processors.
While the shared-disk design helps reduce DBMS
dependency on data partitioning, it also introduces
a potential limitation on the overall system
scalability for distributed memory systems.
Cluster Systems
Interconnection Network
4-Way 4-Way 4-Way
SMP SMP SMP
Each PU Executes a copy of a standard operating
system.
The inter-PU communication are performed over
an open-system-based interconnect by either special
operating system extensions or by an add-on
software component.
Many clustered system are more sensitive to
communication, data sharing, and synchronization
requirements than are MPP systems.
Cluster systems are often designed for highly
availability by providing shared access to disks and
better balancing processor-bound and I/O bound
tasks.
Advances in Multiprocessing
Architecture
Limitation of shared-memory system:-
The scalability of a shared memory system is reduced as
the no. of processing nodes increases.
To overcome this limitation designer developed to arch.
1.Cache-coherent nonuniform memory access
(CC-NUMA)
2.Cache-only memory architecture
(COMA)
CC-NUMA
CC-NUMA system consists of multiple fourprocessor
standard high-volume (SHV) motherboard. These are
joined by a standards-based interconnect technology that
implements CC-NUMA across the entire system. Each
SHV motherboard contains four Intel Pentium Pro
processors, with as much as 512 Kbytes of cache per
processor, and dual I/O channels.
ARCHITECTUR
SHV Node 1 E SHV Node 1
P6 P6 P6 P6 P6 P6 P6 P6
L2 L2 L2 L2 L2 L2 L2 L2
MEMORY MEMORY
SCI Bridge SCI Bridge
L3 L3
1GB/Sec
To Other Node
The Cache memory ( called level 2, o L2) runs at
processor speed and is accessible with each
processor cycle. Requested data not found in cache is
read from main memory and copied into L2 cache.
Data not found in a main memory of the requesting
motherboard must be retrieved from a “far” memory
of another SHV motherboard via a fast interconnect
that can move data at a speed of 1GB/Sec. The
interconnect maintains a level 3 (L3) cache to store
data requested from far memory location. The
multiple cache hierarchy (L2 and L3) help reduce the
penalty for accessing data from adjacent nodes.
COMA
In COMA machine, additional hardware, including tag
and state memory, is added to the dynamic random-
access memory (DRAM) of each node to convert it
into a kind of cache called “attraction memory”.
A COMA machine provides a very flexible and
scalable platform for a wide variety of application but
at the expense of additional memory system overhead
Server Operating System
Server OS determines how quickly the server can fulfill
client requests, how many client it can support concurrently
and reliably and how efficiently the system resources such
as memory, disk I/O, and communications components are
utilized. The main Server OS requirements are
1.Multiuser support:-
2.Preemptive Multitasking:- It allows a server to allocate
time and resources among multiple tasks on the basis of
priorities. In this one higher priority task can interrupt
another task when necessary.
3.Multithreaded design:-This allows a Server OS to
employ lightweight processes to serve
4.Memory Protection:-From violating each other
memory.
5.Scalability:-The server OS should be able to scale up as
the number of users and applications increases
6.Security:-It should provides its client with a secure
environment that protects each clients and the
corresponding recourses.
7.Reliability and Availability:-