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.
Observasi
Hypotesis
12 lapisan
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.
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
Application trends
Prosesor:
Kecepatan proses
10 data/s
Prosesor: Kecepatan proses
11
1011 data
Output: Data output:
harapan
dalam 1 detik
N data
1011 data/s
10
10
data
kenyataan
Terbatasnya kecepatan transmisi data akan membatasi jumlah data yang diproses meskipun telah diggunakan prosesor dengan kecepatan tinggi.
7
1011 data/s
data data data data data data data data data data
1 2 3 4
1010 data 1010 data 1010 data 1010 data 1010 data 1010 data 1010 data 1010 data 1010 data
Kita gunakan pemrosesan paralel. Lebih dari satu prosesor yang bekerja, sehingga batasan transmisi data tersebut bisa diatasi.
8
5
6 7 8 9 10
1010 data
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 komunikasi P1 P2 P3 P4 mulai
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 k a k -1n k 1 . . . a 2 n 2 a 1n a 0
maka big-Oh dari T(n) adalah : O ( n k )
Dan untuk
T( n) 2 n
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
Variabel yang dominan: m dan n Kompleksitas waktu: O(mn)
13
n kali
m kali
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
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
8 prosesor sedang bekerja paralel, maka masing2 prosesor mempunyai kemungkinan: menjalani komputasi, komunikasi, dan nganggur (idle). Kecepatan penyelesaian
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 =
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 =
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
S = speedup f = bagian proses yang harus dilakukan secara skwensial 0f1 p = jumlah prosesor 19
Hukum Ahmdahl
S
f +
1 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.
21
Efisiensi
Jika optimal cost sulit dicari karena lower bound kompleksitas waktu skwensial tidak diketahui, maka bisa digunakan nilai efisiensi untuk mengevaluasi 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:
Kompleksitas waktu, speed-up, cost, dan efisiensi dalam pemrosesan paralel. Kinerja (performance) sebuah pemrosesan paralel menggunakan hukum Ahmdahl dan pengertian cost. Mengapa harus menggunakan pemrosesan paralel Istilah-istilah yang sering digunakan pada pemrosesan paralel
23