@2012,Eko Didik
Widianto
Pendahuluan
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Kompetensi Dasar
I Link
I
I
I
Website: http://didik.blog.undip.ac.id/2012/02/25/
kuliah-tsk-617-pengolahan-paralel-2011/
Standar: http://www.mpi-forum.org
Tutorial: http://www.mcs.anl.gov/mpi, http://www.mcs.anl.
gov/research/projects/mpi/tutorial/index.html
Buku: Using MPI-2: Portable Parallel Programming with the
Message-Passing Interface, Gropp, Lusk, and Thakur, MIT Press,
1999
Email: didik@undip.ac.id
Pendahuluan
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Arsitektur (Top500)
Implementasi Arsitektur
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Sumber: http://www.top500.org/overtime/list/38/archtype
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
@2012,Eko Didik
Widianto
Pendahuluan
Arsitektur, Model
Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di
Memori Terdistribusi
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Distributed
Memori Terdistribusi
I Kelebihan:
I
I
I Kekurangan:
I
I
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
@2012,Eko Didik
Widianto
Pendahuluan
Arsitektur, Model
Pemrograman
Aplikasi
Topologi Jaringan di
Memori Terdistribusi
Message Passing
Message Passing
Interface
Hybrid
Memori Terdistribusi
Kompilasi dan
Eksekusi Program
Lisensi
Cache Coherence
I
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
http://roach.coas.oregonstate.edu/index.html
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
http://www.ctsim.org/
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Memori Terdistribusi
Crossbar, ring, mesh dan torus 2-D dan 3-D, hypercube, tree,
butterfly
Topologi Jaringan di
Memori Terdistribusi
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Bisection Bandwidth
Aplikasi
Topologi Jaringan di
Memori Terdistribusi
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Topologi Jaringan
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Topologi Jaringan
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Distributed Memory
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Message Passing
I
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
I
I
OpenMPI
MPICH2, etc
Referensi MPI:
I
I
Standar: http://www.mpi-forum.org
http://www.mcs.anl.gov/mpi
Kompilasi dan
Eksekusi Program
Lisensi
Kompilasi dan
Eksekusi Program
Lisensi
Kompilasi dan
Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
@2012,Eko Didik
Widianto
Pendahuluan
Message Passing
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
tiap prosesor
Kontrol Proses
Message Passing
Message Passing
Interface
Message Passing Interface
Contoh:
if (rank == 0) ... /* do this */;
if (rank == 1) ... /* do this */;
Model master-slave
I
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Pembuatan Proses
Statik dan Dinamik
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Tersedia di MPI-2
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Kompiler/Linker: mpicc.openmpi
Kompilasi dan
Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Kompilasi dan
Eksekusi Program
Lisensi
Tag Message
I
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Kompilasi dan
Eksekusi Program
Lisensi
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Tipe Data
@2012,Eko Didik
Widianto
Pendahuluan
Message Passing
Message Passing
Interface
Tipe Data C
char
int
long
float
double
unsigned char
unsigned short
unsigned int
unsigned long
Kompilasi dan
Eksekusi Program
Lisensi
Parameter MPI_Send()
Kompilasi dan
Eksekusi Program
Lisensi
Parameter MPI_receive()
Kompilasi dan
Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Informasi Status
Kode!
Kompilasi dan
Eksekusi Program
Lisensi
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
Bahasan
Pendahuluan
Arsitektur Memori dan Model Pemrograman
Memori Terdistribusi
Aplikasi
Topologi Jaringan di Memori Terdistribusi
Message Passing
Message Passing Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Metode Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan Eksekusi Program
Lisensi
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
#include <mpi.h>
#include <stdio.h>
int main( int argc, char **argv )
{
int rank, buf;
MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_rank( MPI_COMM_WORLD, &rank );
/* Process 0 sends and Process 1 receives */
if (rank == 0) {
buf = 123456;
MPI_Send(&buf,1,MPI_INT,1,0,MPI_COMM_WORLD);
}
else if (rank == 1) {
MPI_Recv(&buf,1,MPI_INT,0,0,MPI_COMM_WORLD,&status );
printf("Received %d\n", buf );
}
MPI_Finalize();
return 0;
}
Message Passing
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
#include <mpi.h>
#include <stdio.h>
#include <stdlib.h>
int main( int argc, char **argv )
{
char message[20];
int rank, i, size, mtag = 99;
MPI_Status status;
MPI_Init(&argc, &argv);
MPI_Comm_size( MPI_COMM_WORLD, &size);
MPI_Comm_rank( MPI_COMM_WORLD, &rank);
/* Process 0 sends and Process 1 receives */
if (rank == 0) {
strcpy(message, "Hello, world");
for (i=1; i<size; i++)
MPI_Send(message,13,MPI_CHAR,i,mtag,MPI_COMM_WORLD);
} else {
MPI_Recv(message,20,MPI_CHAR,0,mtag,MPI_COMM_WORLD,&status );
printf( "Message from process =%d : %.13s\n", rank,message);
}
MPI_Finalize();
return 0;
}
Message Passing
Message Passing
Interface
Message Passing Interface
Metode Pembuatan Proses
MPI Environment
Transfer Message
Informasi Status
Contoh Program MPI
Kompilasi dan
Eksekusi Program
Lisensi
grid01.siskom.undip.ac.id 2
grid02.siskom.undip.ac.id
grid03.siskom.undip.ac.id
I
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Perintah di uBuntu
I
I
Kompilasi: mpicc.openmpi
Eksekusi: mpirun.openmpi atau mpiexec.openmpi (perintah
standar MPI-2)
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi
Lisensi
@2012,Eko Didik
Widianto
Anda bebas:
I
Pendahuluan
Message Passing
Message Passing
Interface
Kompilasi dan
Eksekusi Program
Lisensi