What is Parallel Computing?
1
2
3
4
Why Use Parallel Computing?�
5
Parallel Computer Memory Architectures�
6
Shared memory (UMA)
Shared memory (NUMA)
Continued…
7
Distributed Memory
8
Hybrid Distributed Shared Memory
Taxonomy of Architectures
(No. of instruction and data streams)
9
Single Instruction, Multiple Data (SIMD):
10
Single Instruction: All processing units execute the same instruction at any given clock cycle Multiple Data: Each processing unit can operate on a different data element
Multiple Instruction, Single Data (MISD):
11
Multiple Instruction: Each processing unit operates on the data independently via separate instruction streams.
Single Data: A single data stream is fed into multiple processing units.
Multiple Instruction, Multiple Data (MIMD):
12
Multiple Instruction: Every processor may be executing a different instruction stream
Multiple Data: Every processor may be working with a different data stream
Main HPC Architectures..1a
13
Cluster Computer Architecture
14
Definition of cluster computing
15
Clusters Classification
Based on Focus (in Market)
16
17
network of workstations (NOW)
use spare computation cycles of nodes
background job distribution
individual owners of workstations
joint ownership
dedicated nodes
parallel computing
18
19
Relationship among Middleware Modules
20
What is filesystem????
21
Parallelization Idea
22
Worker
Wk1
Wk2
Wk3
Wk1
Wk2
Wk3
Spawn worker threads
Thread
Thread
Thread
Master thread
Thread 1:
void foo(){
x++;
y=x;
}
24
Thread 2:
void bar() {
y++;
x+=3;
}
Cluster configuration
25
Operating system design issues
26
Two basic types of clusters
network of workstations (NOW)
use spare computation cycles of nodes
background job distribution
individual owners of workstations
joint ownership
dedicated nodes
parallel computing
27
Taxonomy of clusters
28
NOWs
29
Net. Interface HW
Unix
Workstation
AM
Net. Interface HW
Unix
Workstation
AM
Net. Interface HW
Unix
Workstation
AM
Net. Interface HW
Unix
Workstation
AM
Sequential Applications
Sockets, MPI, HPF, …
Parallel Applications
GLUnix (Global Layer Unix)
(Resource Management, Network RAM, Distributed Files, Process Migration
Myrinet
Beowulf clusters
30
31