bab 2-message-passing interface (mpi)
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.aspxTRANSCRIPT
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
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/
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/