download

Matakuliah
Tahun
Versi
: H0352/Pemrosesan Paralel
: 2005
: versi/01
Pokok Bahasan 2
Konsep Pemrosesan Paralel
1
Learning Outcomes
Pada akhir pertemuan ini diharapkan mahasiswa
akan dapat:
• menyebutkan sebab pemrosesan paralel dilakukan
• menjelaskan istilah-istilah yang sering digunakan
dalam pemrosesan paralel
• menjelaskan kompleksitas waktu, speed-up, cost,
dan efisiensi pemrosesan paralel
• memperkirakan unjuk kerja (performance) dari
sebuah pemrosesan paralel sederhana.
2
Mengapa menggunakan pemrosesan paralel?
Perkembangan Science dan Komputasi Numerik
Fenomena Alam
Observasi
Hypotesis
Percobaan untuk Pembuktian
Percobaan
fisik
Komputasi
numerik
(simulasi)
Teori
3
Mengapa menggunakan pemrosesan paralel?
12 lapisan
Simulasi perambatan panas pada
Belahan bumi Selatan
1024
daerah
4096 daerah
Total sel: 50 juta sel tiga dimensi.
Untuk simulasi 10 menit memerlukan 30 milyar perhitungan.
Padahal diperlukan simulasi perioda 1 tahun.
4
Mengapa menggunakan pemrosesan paralel?
Protein
Model interaksi protein dengan air:
Simulasi 1 pico detik, dengan Cray X/MP
memerlukan waktu 1jam.
Padahal diperlukan simulasi untuk 1 detik.
Dengan computer dan algoritma yang sama
diperlukan
waktu 31 688 tahun untuk simulasi 1 detik.
5
Mengapa menggunakan pemrosesan paralel?
Application trends
6
Mengapa menggunakan pemrosesan paralel?
Kecepatan cahaya merupakan batas kecepatan gerak
C = 3 x 1010 cm/s
3 cm
Input:
Data input:
Kecepatan proses
11
10 data/s
N data
3 cm
Input:
Data input:
N data
Prosesor:
Output:
Data output:
1011 data
harapan
dalam 1 detik
Prosesor:
Kecepatan proses
1011 data/s
Output:
Data output:
10
10
data
kenyataan
Terbatasnya kecepatan transmisi data akan membatasi jumlah data yang
diproses meskipun telah diggunakan prosesor dengan kecepatan tinggi.
7
Mengapa menggunakan pemrosesan paralel?
Kecepatan proses
tiap prosesor:
1011 data/s
data
data
data
data
data
1
data
data
data
data
data
6
2
3
4
5
1010 data
1010 data
1010 data
1010 data
8
1010 data
1010 data
1010 data
1010 data
9
1010 data
10
1010 data
7
Datanya banyak sekali, dan
kita perlu kecepatan tinggi.
Bagaimana ini?
total data dalam 1 detik:
1010 x 10 = 1011 data
Kita gunakan
pemrosesan
paralel.
Lebih dari satu
prosesor yang
bekerja,
sehingga
batasan
transmisi data
tersebut bisa
diatasi.
8
Istilah
Parallel Processing (pemrosesan paralel):
Pemrosesan informasi yang menitik beratkan pada
manipulasi / pengolahan yang dilakukan pada waktu
yang sama atas data dari sebuah proses atau lebih
untuk menyelesaikan satu masalah.
Parallel Computer:
Multiple processor dalam sebuah computer yang
mampu melaksanakan parallel processing.
Super Computer:
General purpose computer yang mampu
menyelesaikan sebuah permasalahan dalam waktu yang
sangat cepat dibanding dengan computer yang ada
pada waktu tersebut.
9
Istilah
mulai
mulai
komunikasi
P1
P2
P3
P4
komputasi
komunikasi
sinkronisasi
komunikasi serial
akhir
akhir
10
Istilah
Input:
Masukan (data) yang akan diproses pada
suatu sistem.
Ouput:
Produk yang dihasilkan oleh suatu sistem
proses.
Troughput:
Produk yang dihasilkan persatuan waktu oleh
suatu sistem proses.
Scalable Parallel:
Suatu sistem paralel prosesor dimana
penambahan prosesor akan berakibat naiknya
speedup sistem secara proporsional.
11
Big-Oh
Untuk persamaan
T( n)  a k n  a k -1n
k
k 1
 . . .  a 2 n  a 1n  a 0
2
maka big-Oh dari T(n) adalah : O(n k )
Dan untuk
T( n)  2n  n3
maka big-Oh dari T(n) adalah : O(2 n )
T(n) adalah fungsi yang diturunkan dari algoritma
yang akan diukur Big-Oh nya, dan n adalah
variabel dalam algoritma yang paling dominan
dalam menentukan persamaan tersebut.
12
Kompleksitas waktu
Kompleksitas waktu:
Adalah Big-Ohdari persamaan dengan variabel yang
dominan dalam algoritma, persamaan ini menyatakan
jumlah langkah yang harus dilalui oleh algoritma
tersebut pada kondisi terjelek.
begin
for (i = 0 ; i < m ; i++)
for(j = 0 ; j < n ; j++)
{ p[i, j] = q[i, j] + r[i, j];
}
end
n kali
m kali
Variabel yang dominan: m dan n
Kompleksitas waktu: O(mn)
13
Kompleksitas waktu
SUM (EREW PRAM)
Initial condition: List of n >= 1 elements stored in A[0 . . . . . (n-1)]
Final condition: Sum of elements stored in A[0]
Gobal variables: n, A[0 . . . . . (n-1)], j
begin
log (n/2)
spawn(P0, P1, P2, . . . P((n/2)-1)
Konstan dan bukan loop
for all Pi where 0  i  [n/2]-1 do
for j  0 to [log n] – 1 do
if i modulo 2j = 0 and 2i + 2j < n then
log (n)
A[2i]  A[2i] + A[2i + 2j]
endif
konstan
endfor
endfor
end
T(n) = log(n/2) + konstan + konstan x log(n)
Kompleksitas waktu = O(log n)
14
Kompleksitas waktu
Lower Bound:
Adalah kompleksitas waktu tercepat secara
teoritis yangbisa dicapai oleh suatu algoritma.
Upper Bound:
Adalah kompleksitas waktu tercepat yang
dapat dicapai oleh pembuat algoritma.
15
Speed-up
Kecepatan
penyelesaian
8 prosesor sedang bekerja paralel,
maka masing2 prosesor mempunyai
kemungkinan: menjalani komputasi,
komunikasi, dan nganggur (idle).
Jumlah pekerja
Secara intuisi, dapat dirasakan dalam sehari-hari bahwa jumlah pekerja
(prosesor) makin banyak, tidak selalu menjamin bahwa waktu
penyelesaian menjadi makin cepat. Cara pelaksanaan (algoritma) dan juga
jenis pekerjaan sangat menentukan kondisi tersebut.
16
Speed-up
Speedup =
waktu penyelesaian skwensial
waktu penyelesaian paralel
Speedup:
Perbandingan antara waktu yang diperlukan oleh skwensial algoritma yang
paling efisien dengan waktu untuk algoritma yang sama tapi dijalankan pada
computer dengan pipeline atau dan data parallel
17
Speed-up
Speedup =
Kompleksitas waktu skwensial
Kompleksitas waktu paralel
Dengan dipahaminya konsep kompleksitas waktu,
maka speedup dapat ditentukan juga dari perbandingan
kompleksitas waktu algoritma terbaik untuk skwensial
dengan kompleksitas waktu algoritma paralel untuk
kasus yang sama.
18
Hukum Ahmdahl
Hukum
Ahmdahl:
1
S ≤
1-f
f +
p
S = speedup
f = bagian proses yang harus dilakukan secara skwensial
0≤f≤1
p = jumlah prosesor
19
Hukum Ahmdahl
1
S ≤
f +
1-f
p
20
Cost
Yang dimaksud dengan cost disini adalah suatu nilai yang
diperolehdari perkalian antara jumlah prosesor yang
digunakan dengan kompleksitas waktu dari algoritma
paralel yang dipakai.
Cost = jumlah prosesor x kompleksitas waktu paralel
Cost disebut optimal jika nilainya mempunyai order sama
dengan lower bound kompleksitas waktu algoritma
skwensialnya.
21
Efisiensi
Jika optimal cost sulit dicari karena lower bound
kompleksitas waktu skwensial tidak diketahui, maka bisa
digunakan nilai efisiensi untuk mengevaluasi cost.
Kompleksitas waktu skwensial yang diketahui
Efisiensi =
cost
Jika efisiensi > 1, maka menggunakan single prosesor
bisa lebih cepat (cost tidak optimal). Jika efisiensi = 1,
cost masih diragukan. Cost optimal jika efisiensi <1.
22
RESUME
Telah dibahas:
•
Mengapa harus menggunakan pemrosesan paralel
Istilah-istilah yang sering digunakan pada pemrosesan paralel
•
•
•
Kompleksitas waktu, speed-up, cost, dan efisiensi dalam
pemrosesan paralel.
Kinerja (performance) sebuah pemrosesan paralel menggunakan
hukum Ahmdahl dan pengertian cost.
23