Langsung ke konten utama

Standar MPI

 Pengertian MPI (Message Passing Interface)

MPI (Message Passing Interface) adalah spesifikasi API (Application Programming Interface) yang memungkinkan terjadinya komunikasi antar komputer pada network dalam usaha untuk menyelesaikan suatu tugas. Paradigma Message - Passing dengan implementasi MPI memberikan suatu pendekatan yang unik dalam membangun suatu software dalam domain fungsi tertentu, yang dalam hal ini pada lingkungan sistem terdistribusi, sehingga memberikan kemampuan pada produk software yang dibangun diatas middleware tersebut untuk dapat mengeksploitasi kemampuan jaringan komputer dan komputasi secara paralel.



MPI adalah standar interface dari model message - passing yang didefenisikan oleh sebuah grup yang terdiri dari 60 orang yang berasal dari 40 organisasi baik vendor komersil maupun dari kalangan peneliti akademisi yang berada di Amerika Serikat dan Eropa. Dalam grup tersebut mereka mencoba merumuskan dan membuat sebuah "standard by consensus" untuk pustaka message - passing yang dapat digunakan dalam komputasi paralel.


 

MPI menjadi standar defacto yang banyak digunakan dalam komunikasi proses pada model dari program paralel pada sistem memori terdistribusi, yang mana banyak diimplementasikan oleh pada super komputer dan computer cluster. Pada spesifikasi MPI-1 tidak memiliki konsep tentang shared memory, kemudian pada spesifikasi selanjutnya MPI-2 sudah mendukung konsep distributed shared memory. Dengan kemampuan tersebut MPI dapat mengeksploitasi arsitektur lingkungan yang sifatnya heterogen atau bersifat arsitektur NUMA (Non-Uniform Memory Access).


Implementasi MPI merupakan sebuah API yang dapat dipanggil dari beberapa bahasa pemrograman seperti Fortran, C, ataupun C++, dan bersifat portable. Terdapat dua versi standar yang pada saat ini populer digunakan, yaitu versi 1.2 (MPI-1) yang berfokus pada message passing dan memiliki static runtime enviroment, dan MPI-2.1 (MPI-2) yang memasukkan fitur - fitur baru seperti parallel I/O, dynamic process management, remote memory operation dsb.

Tujuan MPI

MPI merupakan sebuah protokol komunikasi yang sifatnya language-independent, portable dalam mensupport berbagai platform, dan memiliki spesifikasi semantic yang mengatur bagaimana perilaku setiap impelementasinya. MPI mendukukung komunikasi baik dengan tipe point-to-point maupun yang bersifat kolektif. Secara umum MPI memliki tujuan sebagai berikut :

MPI akan menjadi sebuah library untuk membangun program aplikasi dan bukan distributed operating system.

MPI akan mendukung thread-safe yang penting dalam symmetric multiprocessor pada lingkungan jaringan komputer yang heterogen.

MPI akan mampu untuk men-deliver high-performance computing.

MPI akan bersifat modular, untuk mengakselerasi development pustaka paralel yang portable.

MPI akan bersifat extensible, sehingga dapat terus dikembangkan dan memenuhi kebutuhan komputasi masa akan datang.

MPI akan mendukung heterogeneos komputasi.

MPI akan memiliki semantic behavior yang telah terspesifikasi dengan jelas, sehingga dapat menghindari beberapa permasalahan kritis seperti race-conditions, dead-lock dsb.

Tipe Komunikasi MPI

a. Point-to-Point Communication

Pada implementasi program berbasis message-passing, point-to-point communication adalah komunikasi yang paling sederhana dimana akan melibatkan sepasang proses yang saling bekerjasama. Pada API dari MPI, secara sederhana dapat digunakan MPI_Send atau MPI_Recv, dimana akan mengizinkan terjadinya sebuah proses spesifik yang satu dapat mengirimkan data pesan ke sebuah proses spesifik yang lain. Operasi point-to-point communication secara khusus berguna dalam komunikasi yang irregular ataupun yang berpola.


Contoh: sebuah arsitektur data paralel dimana setiap prosessor secara rutin melakukan pertukaran region data dengan sebuah prosessor spesifik lainnya pada setiap langkah kalkulasi, atau pada arsitektur master-salve dimana sang master akan mengirim task data baru ke proses slave pada saat task data sebelummnya telah selesai.


b. Collective Communication


 

Berbeda dengan point-to-point communication, collective communication pada MPI API melibatkan komunikasi antara semua proses dalam sebuah group proses (dalam artian keseluruhan pool Proses atau sebuah subset terdefinisi pada program). Fungsi interface yang sederhana dapat berupa MPI_Bcast (broadcast) yang melakukan pengiriman data dari sebuah proses ke semua proses lainnya pada group, dan fungsi MPI_Reduce untuk melakukan kebalikannya.


Tipe komunikasi memberikan dua keuntungan, yaitu pertama, operasi komunikasi tersebut mengizinkan programmer untuk mengekspresikan operasi yang kompleks dengan menggunakan semantik yang sederhana, kedua, implementasi dapat melakukan pengoptimasian operasi melalui cara yang tidak disediakan oleh tipe operasi point-to-point communication.

Komentar

Postingan populer dari blog ini

Persoalan Akurasi dalam Komputasi Modern

 MASALAH KOMPUTASI MODERN (AKURASI) Pengertian dari Akurasi adalah Akurasi sebagai beda atau kedekatan antara nilai yang terbaca dari alat ukur dengan nilai sebenarnya. Komputasi modern merupakan suatu perhitungan yang dilakukan dengan menggunakan algoritma tertentu dalam menyelesaikan masalah dimana pada saat ini sudah dilakukan dengan menggunakan komuputer. Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu. Dalam memecahkan masalah, komputasi modern menghitung dan mencari solusi dengan menggunakan metode perhitungan sebagai berikut

Protocol Komputasi Network File System (NFS).

  NFS Network File System  atau sistem berkas jaringan adalah sekumpulan protokol yang digunakan untuk mengakses beberapa sistem berkas melalui jaringan. Bisa dikatakan juga bahwa NFS merupakan sebuah implementasi dan spesifikasi dari sebuah perangkat lunak untuk mengakses  remote file  melalui jaringan LAN atau WAN. NFS yang dikembangkan oleh  Sun Micro Systems Inc.  ini menggambarkan himpunan unit-unit komputer yang saling berhubungan sebagai sebuah mesin bebas yang memiliki sistem berkas bebas. Tujuan dari NFS adalah untuk memungkinkan terjadinya pertukaran sistem berkas secara transparan antara mesin-mesin bebas tersebut. Hubungan yang terjadi di sini didasarkan pada hubungan  client-server  yang menggunakan perangkat lunak  NFS server  dan  NFS client  yang berjalan diatas  workstation . Gambar 18.3 berikut ini menggambarkan tiga buah mesin bebas yang memiliki sistem berkas lokal masing-masing yang bebas juga. Gambar 18.3.  Three Independent File System NFS didesain agar dapat ber

Sejarah Perkembangan Komputer Dari Masa Ke Masa

– Kehadiran perangkat komputer tentu sangat berguna untuk membantu kehidupan manusia di era dewasa ini. Meskipun telah dikeluarkan dan mulai digunakan teknologi mobile yang lebih praktis, tapi ternyata itu masih belum mampu menggeser posisi komputer dalam urusan menyelesaikan pekerjaan. Perkembangan komputer juga sudah terlihat dari beberapa dekade yang lalu, bahkan dari komputer yang tidak bisa dibawa kemana-mana hingga kini yang praktis dan bisa dibawa kemana pun dan kapan pun pengguna menginginkannya. Sebelum mencapai titik tersebut, komputer sendiri mempunyai sejarah panjang mengenai perkembangannya dari generasi ke generasi. Sejarah itu sendiri dibagi menjadi empat generasi, dan tiap generasinya perangkat komputer yang diciptakan selalu dibuat lebih baik sekaligus berbentuk lebih kecil dari sebelumnya. Berikut ini adalah ulasan mengenai sejarah komputer beserta perkembangannya dari generasi ke generasi Sejarah Perkembangan Komputer: 1. Komputer Generasi Pertama (1946 – 1959) Tabun