Professional Documents
Culture Documents
Multiprocessor architectures and Programming Loosely coupled and Tightly coupled multiprocessors - Interconnection networks Language features to exploit parallelism - Process synchronization mechanisms.
Local Memory
I/O
Processor (P)
Channel And arbiter switch A computer module
LM
I/O P
LM
I/O
P CAS
CAS
b1
b2
P1
P2
Private memory
Cm* Architecture
Map bus
Processor
Slocal
Memory
I/O
A Computer module
Inter-cluster bus
Kmap
S M Computer module
I/O
I/O
Inter-cluster bus
Kmap Cm Cm
Kmap Cm Cm
Kmap Cm Cm
Kmap Cm Cm
Cluster
Cluster
A network of clusters
Cluster
Cluster
Mapbus
Processor # Slocal mapping table
Non local
X - PSW
Local
Bus address
Return queue
Linc
Port 0 Send queue Port 1 Send queue
Run queue
Map bus
Kbus
Pmap
1 Processor initiates non-local memory access 2 Kbus reads virtual address from master Cm 3 Context activation waits in run queue
Pmap
4
4 Pmap micro-subroutine performs address translation 5 Request for memory cycle waits in out queue 6 Kbus sends physical address to destination Cm 7 Destination Cm steals memory cycle from its processor 8 Kbus gates return result back to master Cm 9 Processor continues
Kbus
2 8 1 9 7
Map bus
Cm
Cm
3 8 1 2 9
master
Intercluster bus
7
slave
10
Kmap
1 2 3 4 5 6 7 8 9 10 Master Kmap receives request from master Cm Master Kmap prepares inter-cluster message Message travels to slave Kmap Slave Kmap decodes request
Kmap
Cm
Cm
Tightly coupled multiprocessor configuration without private cache Interrupt signal Interconnection network(ISIN)
Input-output channels
Disks Processors
Unmapped local memory(ULM)
p-1 0
d-1 0
Memory map(MM)
l-1
Processors
p-1
Disks
I-O/P InterConnection Network (IOPIN)
d-1 0
0
Unmapped localmemory(ULM)
Memory map(MM)
Private cache
M0,0
Ml-1,0
M0,m-1
Ml-1,m-1
Memories
Crossbar switch
Processors
IOP
IOP
I/O Channel
I/O Channel
I/O Channel
Device
Device
Device
Memories
Crossbar switch
1
Faculty processor
P
Processors
IOP1
IOP2
IOPk
CM
CMC
ECM
PPS
PDP-10 multiprocessor
PDP-10 multiprocessor
I/O processor
Processor
Processor
Processor
Processor
I/O1
P0
P1
P2
Device 1
Device 2
Device m
Device 1
Device 2
Device m
Bus
Device 1
Device 2
Device m
Device 1
Device 2
Device m
BGT1 BRQ1
Bus
M0
M1
Mm-1
P0
I/O0
Pp-1
I/Od-1
Data
Data
Mux modules RD/WR addr
RD/WR
addr
From P0 to P15
Memory module
Memory enable
Arbitration module
M0
M1
M2 D D D
P0
I/O0
P1
I/O1
P0
P1
M0
M1
M2
M3
I/O0
I/O1
P0
P1
0 1 M0 2 3
0 1 M1 3 2
1 0 M2 2 3
1 0 M3 3 2
I/O0
I/O1
P0
P1
M0
M1
M2
M3
I/O0
I/O1
Process 0
Fork A,J,3 A
Process 0 Fork B
B
Join J Process 1 Process 2
Join J
Join J
J+1
J Process I I |0,1,2|
S0
S1
S2
Sn
Sn+1
S0 S2 S1
S3
S4
S6 S8
S5
S7
A1 Parfor I =1 until n do
Begin i=i+1 A3 If i>n GOTO A6 End A4 AND( A2) A5 BEGINS END for i A6 JOIN I=0 PREP
A2