Anda di halaman 1dari 23

Matakuliah

Tahun
Versi

: H0352/Pemrosesan Paralel
: 2005
: versi/01

Pokok Bahasan 2

Konsep Pemrosesan Paralel

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.

Mengapa menggunakan pemrosesan paralel?

Perkembangan Science dan Komputasi Numerik


Fenomena Alam
Observasi
Hypotesis

Percobaan untuk Pembuktian


Percobaan
fisik

Komputasi
numerik
(simulasi)

Teori

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.

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

Mengapa menggunakan pemrosesan paralel?

Kecepatan cahaya merupakan batas kecepatan gerak


C = 3 x 1010 cm/s
Input:

3 cm

Data input:

Kecepatan proses

10 data/s
11

N data

Input:
Data input:
N data

Prosesor:

3 cm

Prosesor:
Kecepatan proses

1011 data/s

Output:
Data output:

1011 data
Output:
Data output:

10 data
10

harapan
dalam 1 detik

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

data
data
data
data
data

2
3
4
5

1010 data
1010 data
1010 data
1010 data

1010 data
1010 data
1010 data
1010 data

1010 data

10

1010 data

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.

Datanya banyak sekali, dan


kita perlu kecepatan tinggi.
Bagaimana ini?

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) 2 n n 3
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
0f1
p = jumlah prosesor

19

Hukum Ahmdahl

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.

Efisiensi =

Kompleksitas waktu skwensial yang diketahui


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