80 likes | 216 Vues
This presentation by Joe Schmitz explores the Message-Passing Interface (MPI), a critical technology for parallel programming and network communication. The session covers basic examples of network programming, security considerations, and database connectivity. It highlights key network protocols like HTTP, TCP, and UDP, and defines the problem of system communication. Attendees will gain insights into MPI's specifications, usage in clusters and heterogeneous networks, and a coding example illustrating how processes interact. Essential references are provided for further exploration of MPI.
E N D
MPI: Message-Passing Interface Presented By: Joe Schmitz
Network Programming • “The network is the computer.” • Basic examples of network programming • Security • Database Connectivity • Network protocols for : HTTP, TCP, and UDP.
Problem Definition • How different systems can communicate with each other.
Description of Technology • A message-passing library specification-- message-passing model -- not a compiler specification -- not a specific product • For parallel computers, clusters, and heterogeneous networks
Programming Example • #include <stdio.h> • #include "mpi.h" • int main(int argc, char* argv[]){ • int rank, size; //process rank and number of processes • MPI_Init(&argc, &argv); //MPI initialize • MPI_Comm_size(MPI_COMM_WORLD, &size); • MPI_Comm_rank(MPI_COMM_WORLD, &rank); • printf("Hello world from process %d of %d\n", rank, size); • MPI_Finalize(); //MPI finalize • return 0; • }
References • MPI-2: Extensions to the Message-Passing Interface, University of Tennessee, 1997. • Wikimedia Foundation, Anonymous, Wikipedia, Message Passing Interface, Date accessed: Sept. 28, 2005, http://en.wikipedia.org/wiki/Message_Passing_Interface • University of Kassel, Anonymous, Parawiki, MPI – Parallel Programming, Feb., 23, 2005, http://parawiki.plm.eecs.uni-kassel.de/parawiki/index.php/MPI • Gropp, William, Argonne National Laboratory, Argonne, IL, http://www-unix.mcs.anl.gov/mpi/tutorial/gropp/talk.html#Node0