Matakuliah
Tahun
Versi
: H0352/Pemrosesan Paralel
: 2005
: versi/01
Pokok Bahasan 4
Model Paralel Prosesor
1
Learning Outcomes
Pada akhir pertemuan ini diharapkan mahasiswa
akan dapat:
• menjelaskan model pemrosesan paralel
• menjelaskan topologi jaringan interkoneksi paralel
prosesor.
2
Model Paralel Prosesor
Menurut Quinn, ada tiga model
penting dalam paralel prosesor:
•
•
•
Processor Arrays
Multiprocessors
Multicomputers
Oak Ridge National
Laboratory, multicomputer.
FLUENT, multiprocessors
3
ASCI White, Massively Parallel Processor (MPP),
processor arrays
Processor Array
Processor array
Front end computer
Program
and
data
memory
CPU
I/O processor
I/O
Processing
element
Processing
element
Processing
element
Data
memory
Interconnection network
Processing
element
Data
memory
Data
memory
Data
memory
data
instruksi
Bagan umum processor arrays
I/O
4
Processor Array
• Front end computer:
skwensial vektor komputer
yang dibantu oleh processor
array untuk melakukan tugasnya.
Front end
Processor array
•
Processor arrays: bertindak selaku co-processor
menerima perintah dan data dari front end computer.
System data parallel, dimana setiap prosesor
melaksanakan instruksi yang sama untuk data yang
berbeda, dilaksanakan oleh processor array.
•
Interconnection network: jaringan ini yang menentukan
topologi prosesor yang digunakan.
Contoh: Connection Machine CM-200, menggunakan
65536 prosesor, dengan topologi hypercube.
5
Multiprocessors
Berdasarkan memory nya, dibagi mejadi:
• Uniform Memory Acces (UMA) multiprocessor
• Nonuniform Memory Acess (NUMA) multiprocessor
UMA
CPU 1
CPU 1
CPU 1
Switching mechanism
Memory banks
I/O Devices
6
Multiprocessors
UMA
Terminal
Ethernet
MULTIBUS
Console
Multibus
Interface
Board
Multibus
Adapter
Board
CPU
2 – 30
32-bit
SCED
Board
Memory
8 – 240 MBytes
Printer
System Bus
Dual-Channel
Disk Controller
SCI Bus
Tape Target
Adapter
Disk Target
Adapter
Contoh: Multiprocessor X.25
7
Multiprocessors
NUMA
Memory CPU 1
Memory CPU 1
Memory CPU 1
Switching mechanism
I/O Devices
Contoh: TC 2000, 128 processors
8
Multicomputers
Contoh: - nCube, 8192 processors, topologi hypercube.
- CM-5, 16384 processors, topology 4-ary hypertree.
9
Multicomputers
nCube 2
Parallel I/O Devices
Front-end
computer
I/O
Processor
Processor
Processor
Processor
Processor
I/O
Disk
Processor
I/O
Disk
Processor
Processor
10
Multicomputers
CM-52
Diagnostic Network
Control Network
Data Network
P
CP
M
P CP
P
M M
P
M
P
CP
M
P CP
P
M M
Hundreds or thousands of
processing nodes, each with its
own memory
P
M
CP
M
CP
M
Ones or tens
of control
processors:
used for
logins, I/O,
and
administration
I/O
I/O
High-bandwidth
I/O interfaces
and devices
HIPPI or VME
Interface
Graphics output
11
Multicomputers
Paragon XP/S
Application
Processor
i860 XP
Message
Processor
i860 XP
Performance
Monitor
Memory
16 – 64 MBytes
Network
Interface
Expansion
Port
Transfer
Engines (2)
12
Taxonomi Flynn
Flynn mengelompokan komputer berdasarkan data dan instruksi nya
sebagai berikut.
Data
Instruksi
13
Taxonomi Flynn
x
data
x
data
P1
y
P1
P2
P3
sin(x)
sin(x)
sin(y)
sin(z)
hasil
hasil
hasil
hasil
SIMD
SISD
x
data
P1
z
P2
x
data
P3
P1
y
P2
z
P3
sin(x)
log(x)
x*x + 2
sin(x)
log(y)
z*z+2
hasil
hasil
hasil
hasil
hasil
hasil
MISD
MIMD
14
Taxonomi Flynn
Untuk MIMD dapat dilaksanakan aturan sebagai berikut:
EREW (Exclusive Read Exclusive Write).
Membaca dan menulis bersamaan tidak diperbolehkan.
CREW (Concurrent Read Exclusive Write).
Membaca bersamaan diperbolehkan tapi menulis bersamaan tidak
diperbolehkan.
CRCW (Concurrent Read Concurrent Write).
Membaca dan menulis bersamaan diperbolehkan. Ada tiga aturan
yang dapat dilakukan untuk CRCW ini:
• COMMON. Data yang ditulis harus sama.
• ARBITRARY. Secara acak hanya satu processor yang berhak
menulis.
• PRIORITY. Setiap processor mempunyai index. Index terendah
mempunyai prioritas tertinggi untuk menulis.
15
Taxonomi Flynn
SIMD
Example:
for (i=0; i<10; i++)
~ if (a[i]<b[i])
~
c[i] = a[i]+b[i];
~ else
~
c{i] = 0;
4
b[] 5
a[]
1
3
7
4
2
1
9
4
3
5
3
3
0
1
6
4
7
8
c[]
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
16
Taxonomi Flynn
SIMD
Example:
for (i=0; i<10; i++) pardo
~ if (a[i]<b[i])
~
c[i] = a[i]+b[i];
~ else
~
c{i] = 0;
4
b[] 5
a[]
1
3
7
4
2
1
9
4
3
5
3
3
0
1
6
4
7
8
c[]
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
17
Taxonomi Flynn
SIMD
Example:
for (i=0; i<10; i++) pardo
~ if (a[i]<b[i])
~
c[i] = a[i]+b[i];
~ else
~
c{i] = 0;
4
b[] 5
c[] 9
a[]
1
3
4
7
4
2
1
9
4
3
5
8
3
3
0
1
1
6
4
7
8
15
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
18
Taxonomi Flynn
SIMD
Example:
for (i=0; i<10; i++) pardo
~ if (a[i]<b[i])
~
c[i] = a[i]+b[i];
~ else
~
c{i] = 0;
4
b[] 5
c[] 9
a[]
1
3
7
4
2
1
9
4
3
5
3
3
0
1
6
4
7
8
4
0
0
0
8
0
1
0 15
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
p0 p1 p2 p3 p4 p5 p6 p7 p8 p9
19
Connection Network
static networks
• Komunikasi point-to-point menghubungkan antar prosesor.
• Komunikasi ini disebut juga dengan direct networks.
dynamic networks
• Komunikasi dijalankan secara dinamis menggunakan switch untuk
membangun jalur antar prosesor dan memory bersama.
• Komunikasi ini disebut juga dengan indirect networks.
20
Connection Network
Static/direct network
Dynamic/indirect network
p
p
p
p
p
p
p
p
switching element
network interface/switch
prosesor
21
Dynamic network
22
Dynamic network
Cross bar
23
Dynamic network
Central Data Bus
Prosesor dan global memory dihubungkan menggunakan bus bersama
Keuntungan: sederhana dan low cost.
Kerugian: hanya satu prosesor dapat menghubungi global memory
dalam waktu satu waktu.
24
Dynamic network
Interchange Box
0
0
1
0
0
0
0
0
1
1
1
0
Upper Broadcast
Straight
0
1
1
1
0
1
0
1
1
1
1
0
Lower Broadcast
Swap
Interchange box dipakai sebagai switch
25
Dynamic network
Hypercube Connection
N = 2m
1
N = jumlah input atau output
m = jumlah tingkat
3
Setiap tingkat terdiri dari N/2 interchange box.
4
0
5
1: 0 – 4, 1 – 5, 2 – 6, 3 – 7
1
2: 0 – 2, 1 – 3, 4 – 6, 5 – 7
6
2
2
7
3
3: 0 – 1, 2 – 3, 4 – 5, 6 - 7
26
Dynamic network
Contoh: Untuk 8 input atau output
maka diperlukan:
8 = 2m , m = 3, jadi 3 tingkat
Tiap tigkat terdiri dari 8/2 = 4
interchange box.
Hypercube Connection
1
0
0
4
2
0
4
1
2
3
4
5
6
7
0
3
0
0
2
2
1
1
1
1
1
2
5
5
3
3
3
2
2
4
4
6
6
6
6
5
3
3
5
5
6
7
7
7
7
7
4
0
1
2
3
4
5
6
7
0
1
1
3
2
2
3
4
4
0
1
5
6
6
2
7
5
7
3
27
Dynamic network
Shuffle Connection
Hanya 1 tingkat, berisi N/2 interchange box
N = jumlah input atau output.
Rumus koneksi:
i dihubungkan dengan 2i modulo (N-1)
Untuk N = 8
0
1
2
3
4
5
6
7
0 mod(7) = 0
2 mod(7) = 2
4 mod(7) = 4
6 mod(7) = 6
8 mod(7) = 1
10 mod(7) = 3
12 mod(7) = 5
14 mod(7) = 7
Contoh untuk N = 8
Diperlukan 4 interchange box
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
28
Dynamic network
Omega Connection
Untuk kaskade m = log N tingkat
dari shuffle connection ini disebut
Omega connection.
Untuk N = 8, maka m = 3
0
0
1
1
0
0
1
1
2
2
2
2
3
3
3
3
4
5
4
4
5
5
5
6
6
6
6
7
7
4
7
7 29
Dynamic network
Butterfly Connection
1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
(a)
(b)
Untuk butterfly connection, 2 interchange box
dirangkai seperti rangkaian (a) diatas. Dua tingkat
kaskade dari rangkaian (a) biasa juga digunakan
sebagai butterfly switch. Switch ini digunakan pada
BBN Advanced Computers Inc.
30
Dynamic network
Butterfly Connection
Data 1110
Contoh butterfly connection yang digunakan
pada BBN Advanced Computers Inc.
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
00
01
10
11
Data
31
RESUME
Telah dibahas:
Model paralel komputer dan taxonomy Flynn:
• Processor Arrays
• Multiprocessors
• Multi computers
• Taxonomi Flynn: SISD, SIMD, MISDI, dan MIMDI.
Jalur komunikasi dalam pemrosesan paralel: bus, cross bar,
dan jaringan. Untuk jaringan dibahas komunikasi berbasis
interchange box: hypercube, shufflel, omega, dan butterfly.
32
© Copyright 2026 Paperzz