Anda di halaman 1dari 4

KOMPUTASI PARALEL

MESSAGE PASSING INTERFACE (MPI)

ARDHI GUNAWAN SUARSA NIM.1008605029

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA 2013

Message Passing Interface


Message Passing Interface (MPI) adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi yang dapat dijalankan secara parallel dengan spesifikasi library pemrograman untuk meneruskan pesan (message-passing), yang diajukan sebagai standar oleh berbagai komite dari vendor, pelaksana dan Pemakai. MPI menyediakan fungsifungsi untuk menukarkan antar pesan. Message Passing Interface bertugas untuk mengirim data antar komputer di dalam sistem paralel (biasanya disebut sebagai node atau host). Job scheduler seperti yang tersirat dari namanya bertugas menerima tugas dari user dan menjadwalkan tugas tersebut pada beberapa node didalam sistem parallel sesuai kebutuhan. Konsep MPI adalah : 1. Communicator 2. Point to point 3. Collective 4. Derived datatypes Beberapa contoh versi MPI 1. MPI-1 terdiri dari pengiriman pesan dan memiliki lingkungan kerja statis. Konsep dari MPI-1 yaitu tidak adanya shared memory. 2. MPI-2 memiliki fitur baru seperti I/O Parallel, managemen proses dinamis dan operasi pengendalian memory. MPI-2 memiliki 500 fungsi dan menyediakan ketersediaan bahasa untuk bahasa C, Fortran dan C++. Konsep dari MPI-2 yaitu sudah ada shared memory yang didistribusikan hanya saja masih terbatas. MPI digunakan secara luas mengingat : 1. Telah memiliki standar; 2. Dirancang berkinerja tinggi pada mesin-mesin paralel; 3. Tersedia secara bebas maupun komersial; 4. Dikembangkan banyak pihak; 5. Informasi penerapan dan pengujian dalam berbagai bahasa pemrograman dan sistem telah tersedia.

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 parallel. Perintah dasar MPI. Ada 7 Perintah dasar MPI : 1. Memulai dan mengakhiri MPI MPI_Init MPI_Finalize

2. Mengenali dan identifikasi proses MPI_Comm_Rank MPI_Comm_Size MPI_Get_processor_name

3. Kirim dan Terima data MPI_Send MPI_Recv

Representasi data MPI Agar transaksi data antar proses berjalan lancar dan tidak terjadi perbedaan tipe data, maka MPI telah menyiapkan tipe data tersendiri sehingga semua proses memiliki kesamaan tipe data dalam proses transaksi data. 1. Tipe Integer Signed a) MPI_CHAR b) MPI_SHORT c) MPI_INT d) MPI_LONG Unsigned a) MPI_UNSIGNED_CHAR b) MPI_UNSIGNED_SHORT c) MPI_UNSIGNED d) mpi_UNSIGNED_LONG

2. Tipe Floating Point a) MPI_FLOAT b) MPI_DOUBLE c) MPI_LONG_DOUBLE 3. Karakter Khusus a) MPI_BYTES # Perangkat Independent # Tepat 8-bit b) MPI_PACKED # MPI_PACK # MPI_UNPACK

Kemampuan

MPI

digunakan

untuk

menginterpretasikan

bahasa

pemrograman matrik kemampuan dynamic linking dari bahasa tersebut. Fungsi library dari paket MPI dapat digabungkan dengan dynamic extension dengan cara menghubungkan bahasa pemrograman tersebut dengan bahasa C, C++, atau FORTRAN. Dalam pemodelan menggunakan message-passing, suatu proses (process) adalah sebuah pencacah program dan ruang alamat. Proses dapat memiliki banyak thread (pencacah program dan memory lokal) yang saling berbagi ruang alamat. MPI dalam hal ini berfungsi sebagai alat komunikasi di antara proses yang saling memiliki ruang terpisah. Komunikasi ini terutama berupa sinkronisasi dan perpindahan data antar proses. Informasi dari domain komunikasi seluruh proses disimpan di sebuah variable. Paralelisme dalam MPI bersifat Multiple Instruction Multiple Data (MIMD). MPI telah memiliki mekanisme agar deadlock tidak terjadi, tetapi dalam kondisi tertentu ini tidak terhindarkan, misalnya ketika buffer tujuan penuh atau tidak tersedia.

Anda mungkin juga menyukai