bab 2-message-passing interface (mpi)

3
Agus Kurniawan 1 | Pemrograman Paralel dengan MPI dan C Bab 2 Message-Passing Interface (MPI) 2.1 Apa Itu MPI? Ada banyak sekali bahasa pemrograman parallel yang diperkenalkan dan sebagian besar merupakan bahasa tingkat tinggi untuk menyederhanakan kompleksitas pemrograman parallel. Walaupun begitu bahasa pemrograman ini untuk parallel tidak banyak diterima dikomunitas pemrograman parallel meskipun bahasa tersebut dari bahasa C ataupun fortran. Message Passing Interface atau disingkat MPI adalah bahasa independen untuk protokol komunikasi yang digunakan program parallel pada komputer. MPI diterima banyak komunitas pemrograman parallel. Dikarenakan sifatnya yang independen maka realisasi MPI banyak sekali. Komunitas MPI dapat dijumpai di http://www.mpi-forum.org/ dan tampilannya dapat dilihat pada gambar 2-1. Pada saat penulis menulis buku ini, forum MPI sudah mengeluarkan spesifikasi MPI 2.2 yang dikeluarkan tanggal 4 September 2009. Pembaca dapat mengunduh dokumen PDF spesifikasi MPI 2.2 pada alamat http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf

Upload: agus-kurniawan

Post on 24-Jun-2015

753 views

Category:

Documents


26 download

DESCRIPTION

Ini merupakan bagian dari buku "Pemrograman Parallel dengan MPI dan C". Buku didesain sebagai pelengkap mengenai pemrograman parallel dengan MPI. Kode program didalam buku ini telah teruji pada Linux Grid dan Windows HPC Server 2008/R2. Buku ini dapat beli toko buku atau online di http://www.andipublisher.com/ .SinopsisPerkembangan komputer yang semakin cepat terutama processor. Hampir komputer kelas PC sudah memiliki processor (CPU) lebih dari satu. Seiring dengan cepatnya perkembangan komputer kebutuhan akan komputasi juga semakin komplek. Beberapa kasus bahkan tidak dapat diselesaikan dengan pemrograman konvensioanl yaitu pemrograman berparadigma sequential. Oleh karena itu, pemrograman berbasis parallel dengan melibatkan semua kemampuan processor yang lebih dari satu diharapkan dapat menyelesaikan permasalahan tersebut.Buku ini disusun dengan harapan para akademisi, programmer dan IT professional dapat membuat aplikasi parallel dengan memanfaatkan Message-Passing Interface (MPI) dan bahasa pemrograman C. Buku ini disusun secara komprehensi dan dilengkapi dengan banyak ilustrasi dalam kode program. Materi buku ini meliputi * Mengapa Perlu Program Parallel? * Message-Passing Interface (MPI) * Persiapan Memrograman Parallel * Instalasi dan Konfigurasi MPI * Hello World MPI * Tipe Data * Komunikasi Point-to-Point * Komunikasi Kolektif * Manajemen Communicator dan Group * Topologi Virtual * MPI I/O * Komunikasi Satu Sisi * Memory dan Timer * Penanganan Error * MPI Client-ServerSemua ilustrasi kode program dalam buku ini diimplementasi dengan kompilator GCC pada lingkungan Linux dan Visual C++ 2010 pada lingkungan Windows.Info lain, mengenai sinopsis, daftar isi, dan bentuknya dapat dilihat dihttp://blog.aguskurniawan.net/post/Bukuku-e2809cPemrograman-Parallel-Dengan-MPI-dan-Ce2809d.aspxhttp://blog.aguskurniawan.net/post/Buku-Pemrograman-Parallel-Sudah-Tersedia-Di-Toko-Buku.aspx

TRANSCRIPT

Page 1: Bab 2-Message-Passing Interface (MPI)

Agus Kurniawan

1 | Pemrograman Paralel dengan MPI dan C

Bab 2

Message-Passing Interface (MPI)

2.1 Apa Itu MPI? Ada banyak sekali bahasa pemrograman parallel yang diperkenalkan dan sebagian besar merupakan

bahasa tingkat tinggi untuk menyederhanakan kompleksitas pemrograman parallel. Walaupun begitu

bahasa pemrograman ini untuk parallel tidak banyak diterima dikomunitas pemrograman parallel

meskipun bahasa tersebut dari bahasa C ataupun fortran.

Message Passing Interface atau disingkat MPI adalah bahasa independen untuk protokol komunikasi

yang digunakan program parallel pada komputer. MPI diterima banyak komunitas pemrograman

parallel. Dikarenakan sifatnya yang independen maka realisasi MPI banyak sekali. Komunitas MPI dapat

dijumpai di http://www.mpi-forum.org/ dan tampilannya dapat dilihat pada gambar 2-1.

Pada saat penulis menulis buku ini, forum MPI sudah mengeluarkan spesifikasi MPI 2.2 yang dikeluarkan

tanggal 4 September 2009. Pembaca dapat mengunduh dokumen PDF spesifikasi MPI 2.2 pada alamat

http://www.mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf

Page 2: Bab 2-Message-Passing Interface (MPI)

Agus Kurniawan

2 | Pemrograman Paralel dengan MPI dan C

Gambar 2-1. Komunitas MPI

2.2 Implementasi MPI Dikarenakan MPI hanyalah standard spesifikasi untuk memprogram program parallel maka realisasi MPI

dapat banyak sekali tergantung bahasa pemrograman yang digunakan. Pada sub bab ini penulis

memaparkan beberapa implementasi MPI.

2.2.1 MPI Untuk C/C++ Implementasi MPI dengan menggunakan C/C++ adalah implementasi paling banyak variasinya.

Beberapa catatan penulis berikut ini library yang dapat digunakan untuk membuat aplikasi parallel

berbasis MPI dengan bahasa C/C++

LAM/MPI, http://www.lam-mpi.org/

Open MPI, http://www.open-mpi.org/

MPICH2, http://www.mcs.anl.gov/research/projects/mpich2/

Microsoft MPI, http://msdn.microsoft.com/en-us/library/bb524831%28VS.85%29.aspx

HP MPI,

https://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=B6060B

A

Intel MPI, http://software.intel.com/en-us/intel-mpi-library/

Page 3: Bab 2-Message-Passing Interface (MPI)

Agus Kurniawan

3 | Pemrograman Paralel dengan MPI dan C

Pada buku ini penulis akan menggunakan MPI dengan bahasa C dan library sebagai berikut

MPICH2

LAM/MPI

Microsoft MPI

2.2.2 MPI Untuk Fortran Realisasi MPI dengan menggunakan Fortran penulis menemukan library yang dapat digunakan yaitu

Open MPI, http://www.open-mpi.org/

MPICH2, http://www.mcs.anl.gov/research/projects/mpich2/

Microsoft MPI, http://msdn.microsoft.com/en-us/library/bb524831%28VS.85%29.aspx

2.2.3 MPI Untuk Java Realisasi MPI untuk Java penulis dapat menyarankan untuk menggunakan

The HP Java Project, http://www.hpjava.org/mpiJava.html

JavaMPI, http://perun.hscs.wmin.ac.uk/JavaMPI/

2.2.4 MPI Untuk C# Untuk implementasi MPI menggunakan C#, penulis menyarankan untuk menggunakan MPI.NET yang

dikembangkan oleh Indiana University. MPI.NET dapat diunduh di http://osl.iu.edu/research/mpi.net/ .

Alternatif lain, pembaca dapat menggunakan Pure MPI.NET yang diunduh library di alamat

http://www.purempi.net/