Escolar Documentos
Profissional Documentos
Cultura Documentos
(PARALLEL PROCESSING)
TI 7B
Disusun Oleh :
Ahmad Kusaeri
Andri Dwi Utomo
Azis Fadhilah
Irfan Yudhistiana S
Tsuwaibatul Aslamiyah
Atiyah Tahta N
1
PARALLEL PROCESSING
Pengertian
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.
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer secara bersamaan. Biasanyadiperlukan saat kapasitas yang
diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena
tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini
diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan
dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu
diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware yang
berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel. Selanjutnya
pemakai harus membuat pemrograman paralel untuk merealisasikan komputasi.
2
Sebagai besar komputer hanya mempunyai satu CPU, namun ada yang mempunyai lebih dari
satu. Bahkan juga ada komputer dengan ribuan CPU. Komputer dengan satu CPU dapat
melakukan parallel processing dengan menghubungkannya dengan komputer lain pada jaringan.
Namun, parallel processing ini memerlukan software canggih yang disebut distributed
processing software.
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa
program sekaligus. Parallel processing disebut juga parallel computing.
3
Aristektur Komputer Parallel
4
3. Komputer MISD (Multiple Instruction stream-Single Data stream)
Komputer jenis ini memiliki n unit pemroses yang masing-masing menerima dan
mengoperasikan instruksi yang berbeda terhadap aliran data yang sama, dikarenakan setiap unit
pemroses memiliki unit pengendali yang berbeda. Keluaran dari satu pemroses menjadi masukan
bagi pemroses berikutnya. Belum ada perwujudan nyata dari komputer jenis ini kecuali dalam
bentuk prototipe untuk penelitian. Skema arsitektur global komputer MISD dapat dilihat pada
gambar .1 (c).
Paralel prosessing komputasi adalah proses atau pekerjaan komputasi di komputer dengan
memakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara
5
umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi bila
dibandingkan dengan pemakaian komputasi pada komputer tunggal.
Berikut ini adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :
b) Komputasi Paralel
6
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 mekanisme
suatu 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 adalah
1. menulis kode paralel secara portable,
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data paralel.
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
7
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.
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.
8
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.