Message Passing merupakan suatu teknik bagaimana mengatur suatu alur komunikasi messaging terhadap proses pada sistem. Massage passage dalam ilmu komputer adalah sutau bentuk komunikasi yang di gunakan dalam komputasi paralel, pemograman berorientasi objek dan komunikasi interproses. 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. Objek di distribusikan dan metode sistem remote doa seperti ONC RPC, CORBA, Java RMI, DCOM, SOAP, NET Remoting, CTO, QNX Neutrino RTOS, Open Binder, D-Bus, Unison RTOS dan serupa pesan lewat sistem. Paradigma Message passing yaitu:
- Banyak contoh dari paradigma sekuensial di pertimbangkan bersama-sama.
- Programer membayangkan beberapa prosesor, masing-masing dengan memori dan menulis sebuah program untuk berjalan pada setiap prosesor.
- Proses berkomunikasi dengan mengirimkan pesan satu sama lain.
MPI adalah sebuah standart pemograman yang memungkinkan pemograman untuk membuat sebuah aplikasi yang dapat di jalankan secara paralel. Proses yang di jalankan oleh sebuah aplikasi dapat dibagi untuk di kirimkan ke masing-masing komputer node yang kemudian masing-masing komputer node tersebut mengolah dan mengembalikan hasilnya ke komputer head note. Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan-pertimbangan diantaranya adalah latensi dari jaringan dan lama sebuah tugas di eksekusi oleh prosesor.
MPI merupakan standart 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 bisa dilakukan massage passing yaitu dengan mengirim dan menerima pesan antar proses. MPI menyediakan fungsi-fungsi untuk menukar antar pesan. Kegunaan MPI antara lain :
- Menulis kode paralel secara portable.
- Mendapat performa yang tinggi dalam pemograman paralel.
- Menghadapi masalah yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
Open MP
Open MP merupakan API yang mendukung multi platform berbagi memori multiprosesing pemograman C, C++ dan Fotran, pada kebanyakan arsitektur prosesor dan sistem operasi, termasuk Solaris, AIX, HP-UX, GNU/Linux, Mac OS V dan Windows platform. Ini terdiri dari satu set kompiler, rutinitas library dan variabel lingkungan yang mempengaruhi perilaku run time. Open MP dikelola nirlaba teknologi konsorsium Open MP Arsitektur Review Board (ARB atau Open MP), bersama-sama didefinisikan oleh sekelompok perangkat keras komputer utama dan vendor perangkat lunak, termasuk AMD, IBM, Intel, Cray, HP, Fujitsu, Nvidia, NEC, Microsoft, Texas Instruments, Oracle Corporation dan banyak lagi.
Banyak aplikasi di bangun dengan model hibrida pemograman paralel dapat dijalankan pada computer cluster dengan menggunakan Open MP dan Massage Passing Interface (MPI) atau lebih transparan dengan menggunakan ekstensi Open MP non-shared memory sistem.
Sejarah Open MP dimulai dari di terbitkan API pertama untuk Fotran 1.0 pada Oktober 1997 oleh Open MP Architecture Review Board (ARB). Oktober tahun berikutnya Open MP versi 2.0 untuk Fotran versi 2.0 untuk C/C++. Pada Tahun 2005 dirilis versi 2.5 yang merupakan penggabungan Fotran, C dan C++. Pada Mei 2008 versi 3.0 yang terdapat di dalamnya konsep tasks dan task construct.
Open MP mengimplementasikan multithreading. Bagian kode yang akan di jalankan secarai paralel di tandai sesuai dengan Preprocessor directif sehingga akan membuat Thread-Thread sebelum dijalankan. Setiap Thread memiliki id yang bisa menggunakan fungsi (omp_get_thread_num() pada C/C++ dan OMP_GET_THREAD_NUM() pada Fotran). Secara default, setiap thread mengeksekusi kode secara paralel dan independent. "Work sharing Construction" dapat digunakan untuk membagi tugas antar thread sehingga setiap thread menjalankan sesuai bagian alokasi kodenya. Fungsi MP berada file header yang berlabel "omp.h" di C/C++.
Sumber:
https://krustybrain.wordpress.com/2013/05/25/tugas-4-softskill-pengantar-komputasi-modern-sem-8/
http://zumzeros.blogspot.co.id/2015/05/teori-dan-arsitektur-komputasi-paralel.html
http://myblogisland.blogspot.co.id/2013/04/parallel-computation.html