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
© Copyright 2024 Paperzz