Massage Passing
merupkan suatu teknik bagaimana mengatur suatu alur komunikasi messaging
terhadap proses pada system. Message passing dalam ilmu komputer adalah suatu
bentuk komunikasi yang digunakan dalam komputasi paralel,
pemrograman-berorientasi objek, dan komunikasi interprocess. Dalam model ini,
proses atau benda dapat mengirim dan menerima pesan yang terdiri dari nol atau
lebih byte, struktur data yang kompleks, atau bahkan segmen kode ke proses
lainnya dan dapat melakukan sinkronisasi. Paradigma Message passing yaitu :
1. Banyak contoh dari paradigma sekuensial dipertimbangkan
bersama-sama.
2.Programmer
membayangkan beberapa prosesor, masing-masing dengan memori, dan menulis sebuah
program untuk berjalan pada setiap prosesor.
3. Proses berkomunikasi dengan mengirimkan pesan satu sama lain.
Terdapat beberapa metode dalam pengiriman
pesan yaitu :
· Synchronous Message Passing
Pengirim menunggu untuk mengirim pesan sampai
penerima siap untuk menerima pesan. Oleh karena itu tidak ada buffering. Selain
itu Pengirim tidak bisa mengirim pesan untuk dirinya sendiri.
· Ansynchronous Message Passing
Pengirim akan mengirim pesan kapanpun dia mau.
Pengirim tidak peduli ketika penerima belum siap untuk menerima pesan. Oleh
karena itu diperlukan buffering untuk menampung pesan sementara sampai penerima
siap menerima pesan. Selain itu pengirim dapat pesan untuk dirinya sendiri.
OpenMP (Open Multiprocessing)
OpenMP
adalah Application Programing Interface (API) yang mendukung
pemrograman multiprosesing shared memory dalam bahasa C/C++ dan fortran
pada berbagai arsitektur dan sistem operasi diantaranya: Solaris, AIX,
HP-UX,GNU/Linux, Mac OS X, dan Windows.
OpenMP adalah model
portabel dan skalabel yang memberikan interface sederhana dan fleksibel bagi
programer shared memory dalam membangun aplikasi paralel. Program
multithread dapat ditulis dalam berbagai cara. Beberapa diantaranya
memungkinkan untuk melakukan interaksi yang kompleks antar thread. OpenMP
mencoba untuk memberikan kemudahan pemrograman serta membantu dalam menghindari
kesalahan program, melalui pendekatan terstruktur. Pendekatan ini dikenal
sebagai model pemrograman fork-join.
OpenMP bekerja
berdasarkan model shared memory, maka secara default data dibagi diantara
thread-thread dan dapat terlihat dari setiap thread. Terkadang program
akan membutuhkan variabel dengan nilai thread spesifik. Jika setiap thread memiliki
variabel duplikat akan sangat berpotensi memiliki nilai yang berbeda-beda pada
setiap variabel duplikat tersebut.
Sinkronisasi
(pengkoordinasian) aksi dari thread adalah sesuatu yang sangat penting
untuk menjamin data yang harus dibagi dan untuk mencegah terjadinya data race
condition. Secara default OpenMP telah menyediakan mekanisme untuk menunggu
thread dalam suatu tim thread sehingga semua thread menyelesaikan
tugasnya dalam region, kemudian dapat melanjutkan ke proses selanjutnya.
Mekanisme ini dikenal sebagai barrier.
TikaNesia-Jasa Pembuatan Website
Tidak ada komentar:
Posting Komentar