Kamis, 21 Agustus 2008

Komputasi Paralel dengan Parallel Virtual Machine

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 mesin virtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.
Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan slave/worker. Programmer harus membuat code master yang menjadi koordinator process dan code slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. mana code master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan 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 ke filesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan di unix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :
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 pada komputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bila nama user di masing-masing komputer berbeda.
Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan /etc/hosts/hosts.equiv.
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 dan kemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satu atau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutin awalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TID ini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yang mengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem.
Pengiriman pesan antar komputer
Secara umum, langkah implementasi komputasi parallel sebagai berikut :
1. Jalankan PVM daemon pada setiap mesin dalam cluster2. Jalankan program master pada master daemon3. Master daemon akan menjalankan proses slave.
Untuk mengimplementasikannya, anda dapat memakai tools :
- PVM versi 3.4.5, virtual machine dan routine untuk komputasi parallel- rsh (remote shell), aplikasi untuk authentikasi dan komunikasi proses antar komputer.-Xpvm versi 1.2, , interface grafis untuk PVM dengan animasi eksekusi komputasi parallel yang dapat dilihat dilayar
berikut adalah hasil video capture (dilinux) kinerja komputasi paralel dengan PVM untuk menyelesaikan perkalian matriks :
Selamat mencoba

2 komentar:

Anonim mengatakan...

salam kenal, kk saya mau minta tolong,..
saya sdg menyusun tugas akhir, dan judul saya berkaitan tentang parallel computing, :"Pengolahan data matriks dengan Parallel Computing" ..
saya belum terlalu tahu banyak tentang parallel computing, di kampus saya belum ada yang pernah mengambil judul ini...dan dosen pembimbing saya juga belum terlalu memahaminya... mohon bantuan kk apakah kk sudh pernah merancang program parallel computing?
trima kasih, Smg Tuhan memberkati kk sekeluarga.

Anonim mengatakan...

K.., kk punya artikel lain mengenai parallel computing? misalnya instalasi PVM atau MPI..atau cara kerjanya..
trm ksih