Komputasi Paralel
Secara
umum ilmu komputasi merupakan ilmu yang mempunyai perhatian pada penyusunan
model matematika dan teknik penyelesaian numeric serta penggunaan komputer
untuk menganalisis dan dalam memecahkan suatu masalah. Komputasi merupakan
suatu penyelesaian masalah terhadap data input (sebuah masukan yang berasal
dari luar lingungan sistem dalam berbagai bidang pekerjaan
Komputasi Paralel
merupakan suatu teknik untuk melakukan komputasi secara bersamaan menggunakan
komputer sebagai alat pemrosesannya. Elemen eleman dalam sebuah sistem komputer
yaitu terdiri dari hardware, software dan user sebagai pengolahnya, Komputasi parallel
tentunya memerlukan sebuah sistem komputer yang handal untuk mendukung kerja
dari sebuah proses parallel dalam komputer. Infrastruktur komputer pada
komputasi parallel terhubung oleh jaringan, yang menhubungkan satu komputer
dengan komputer lainnya.
Paralel
Processing
Parallel
Processing atau pemrograman paralel merupakan suatu program yang dijalankan
secara simultan dengan penggunaan lebih dari satu CPU. Idealnya, parallel
processing dapat membuat program berjalan lebih cepat karena banyaknya CPU yang
digunakan.
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 paralel adalah untuk meningkatkan performa komputasi. Semakin
banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama),
semakin banyak pekerjaan yang bisa diselesaikan.
Dikenal dua hukum yang berlaku dalam
sebuah parallel processing. yaitu:
1.
Hukum Amdahl dinyatakan bahwa
Peningkatan kecepatan secara paralel akan menjadi linear yaitu dapat melipat
gandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu
proses yang diperlukan untuk menyelesaikan masalah.
2.
Hukum Gustafson dinyatakan
bahwa sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin
untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal,
seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan.
Jadi pendapat yang dikemukakan Gustafson hampir sama dengan Amdahl. Dibawah ini
adalah gambar sebuah contoh komputasi parallel
terdistribusi.
Hubungan antara Komputasi Modern dengan Parallel
Processing
Hubungan antara komputasi modern dan parallel processing sangat
berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih
cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu
peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu
caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen
utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa
processor (multiprocessor atau arsitektur komputer dengan banyak processor)
agar kinerja komputer semakin cepat.
Contoh Penerapan Komputasi Modern
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 Kode master
yang menjadi koordinator proses dan Kode 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-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 :
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 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.
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 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.
Program PVM
Secara umum, langkah implementasi komputasi parallel sebagai
berikut :
1. Jalankan PVM daemon pada setiap mesin dalam
cluster
2. Jalankan program master pada master daemon
3. Master daemon akan menjalankan proses slave.
Sumber:
https://www.scribd.com/doc/32982265/Parallel-Processing
http://srifitri07.blogspot.co.id/2014/06/hubungan-komputasi-modern-dengan.html
http://blog.ub.ac.id/fauziahmayasari/2012/07/25/implementasi-parallel-processing/
Komentar
Posting Komentar