CSS490 Group Communication and MPI: Instructor: Munehiro Fukuda
CSS490 Group Communication and MPI: Instructor: Munehiro Fukuda
MPI
Textbook Ch3
Instructor: Munehiro Fukuda
These slides were compiled from the course textbook, the reference books, and
the instructor’s original materials.
Winter, 2004 CSS490 MPI 1
Group Communication
Communication types:
One-to-many: broadcast
Group addressing
Using a special network address: IP Class D and UDP
Semantics
Send-to-all, bulletin-board semantics
Ti Implementation:
A clock synchronized among machines
mi
Tj A sliding time window used to commit
message delivery whose timestamp is in
this window.
mi
Example:
mj Distributed simulation
mj Drawback
Too strict constraint
mi order at a receiver
Example:
mi
Replicated database updation
Drawback:
A centralized algorithm
Example:
Distributed file system
m2
Drawback:
m3 Vector as an overhead
Broadcast assumed
From R2’s view point m1 →m2
3,1,1,0 delayed
delayed
delivered
The PVM daemon process taking care of message transfer for user
processes in background
MPI: Message Passing Interface
Defined in 90’s
int
main(int argc, char *argv[])
{
MPI::Init(argc, argv); // Start MPI computation
cout << "Hello World! I am " << rank << " of " << size << endl;
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7