Kamis, 21 Juni 2012

Parallel Processing


Pada pertemuan k-3 matakuliah softskil saya akan membahas tentang Parallel Processing..
Apa itu Parallel Processing?

 Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.

Contoh struktur pengiriman permintaan dan jawaban dari parallel processin

Komputasi 
  Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.

Pemrograman paralel
  adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paraleladalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
·algoritma
·bahasa pemrograman
·compile

Paralel prosessing komputasi
  adalah proses atau pekerjaan komputasi di komputer denganmemakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi biladibandingkan dengan pemakaian komputasi pada komputer tunggal.Berikut ini adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :



a)Komputasi Tunggal / serial 
b)Komputasi Paralel

Message Passing Interface (MPI).
  MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuatsebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasidapat dibagi untuk dikirimkan ke masing - masing compute node yang kemudian masing -masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.
  MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar  proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar  proses.MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah1. menulis kode paralel secara portable,2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak  begitu cocok dengan model data paralel.
  PVM (Parallel Virtual Machine)
Adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesinvirtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasiPVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah libraryinterface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasitask dan konfigurasi mesin virtual.Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master danslave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses danKode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master.Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master.Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masingkomputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasididistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.
  Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses kefilesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan diunix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :
1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset padakomputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bilanama user di masing-masing komputer berbeda.
2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan/etc/hosts/hosts.equiv.
3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM.Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.
Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dankemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satuatau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutinawalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TIDini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yangmengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem

Secara umum, langkah implementasi komputasi parallel sebagai berikut :
1. Jalankan PVM daemon pada setiap mesin dalam cluster
2. Jalankan program master pada master daemon3. Master daemon akan menjalankan proses slave



Hubungan Komputasi Modern dengan Parallel Proseccing
  Kinerja Parallel komputasi digunakan untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU atau Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu software yang betugas untuk mengatur komputasi. Terdapat dua jenis kinerja parallel processing yaitu Multi-core dan PC Clustering. Sehingga paralel processing dapat mempercepat waktu penyelesaian masalah komputasi karena proses dijalankan secara paralel dengan beberapa processor/komputer dengan tujuan/algoritma yang sama. Banyaknya jumlah komputer/prosessor untuk paralel processing, proses komputasi menjadi lebih cepat.


sumber:

http://ghani.gxrg.org/2011/04/01/kinerja-komputasi-dengan-parallel-processing/



Tidak ada komentar:

Posting Komentar