Pokok Bahasan 2 Konsep Pemrosesan Paralel Matakuliah : H0352/Pemrosesan Paralel Tahun : 2005 Versi : 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 4096 daerah 1024 daerah Total sel: 50 juta sel tiga dimensi. Untuk simulasi 10 menit memerlukan 30 milyar perhitungan. Padahal diperlukan simulasi perioda 1 tahun. Simulasi perambatan panas pada Belahan bumi Selatan
Mengapa menggunakan pemrosesan paralel? 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. Protein
Mengapa menggunakan pemrosesan paralel? Application trends
Mengapa menggunakan pemrosesan paralel? Kecepatan cahaya merupakan batas kecepatan gerak C = 3 x 1010 cm/s Kecepatan proses 1011 data/s Data input: N data Data output: 1011 data 3 cm Input: Output: harapan Prosesor: 1010 data kenyataan Terbatasnya kecepatan transmisi data akan membatasi jumlah data yang diproses meskipun telah diggunakan prosesor dengan kecepatan tinggi. dalam 1 detik
Mengapa menggunakan pemrosesan paralel? Kecepatan proses tiap prosesor: 1011 data/s 1010 data 1 2 3 4 5 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? 6 7 8 9 10 data
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.
Istilah komputasi P1 P2 P3 P4 mulai komunikasi sinkronisasi akhir komunikasi serial
Istilah Input: Masukan (data) yang akan diproses pada suatu sistem. Troughput: Produk yang dihasilkan persatuan waktu oleh suatu sistem proses. Ouput: Produk yang dihasilkan oleh suatu sistem proses. Input: Masukan (data) yang akan diproses pada suatu sistem. Scalable Parallel: Suatu sistem paralel prosesor dimana penambahan prosesor akan berakibat naiknya speedup sistem secara proporsional.
Big-Oh maka big-Oh dari T(n) adalah : 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. Untuk persamaan Dan untuk
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) n kali m kali
Kompleksitas waktu log (n/2) log (n) konstan 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 spawn(P0, P1, P2, . . . P((n/2)-1) 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 A[2i] A[2i] + A[2i + 2j] endif endfor end log (n/2) Konstan dan bukan loop log (n) konstan T(n) = log(n/2) + konstan + konstan x log(n) Kompleksitas waktu = O(log n)
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.
Speed-up penyelesaian Kecepatan 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. 8 prosesor sedang bekerja paralel, maka masing2 prosesor mempunyai kemungkinan: menjalani komputasi, komunikasi, dan nganggur (idle).
Speed-up waktu penyelesaian skwensial 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 Speedup = waktu penyelesaian skwensial waktu penyelesaian paralel
Speed-up Dengan dipahaminya konsep kompleksitas waktu, 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.
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
Hukum Ahmdahl S ≤ 1 f + 1 - f p
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.
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.
RESUME Telah dibahas: Mengapa harus menggunakan pemrosesan paralel Kompleksitas waktu, speed-up, cost, dan efisiensi dalam pemrosesan paralel. Kinerja (performance) sebuah pemrosesan paralel menggunakan hukum Ahmdahl dan pengertian cost. Telah dibahas: Mengapa harus menggunakan pemrosesan paralel Istilah-istilah yang sering digunakan pada pemrosesan paralel