Cornell Theory Center


Presentation
MPI Persistent Communication

10/98

This is the presentation layer of a two-part module. For an explanation of the layers and how to navigate within and between them, return to the top page of this module.


Table of Contents

  1. Overview
  2. Internals
  3. Usage
  4. Performance

References Lab Exercises Evaluation

[Table of Contents] [Section 1] [Section 2] [Section 3] [Section 4] [More Detail]


1. Overview

Purpose
reduce communication overhead

Use when
point-to-point calls are repeated many times
example: boundary values

Notes
non-blocking
variant for each communication mode
can be used for send and/or receive

[Table of Contents] [Section 1] [Section 2] [Section 3] [Section 4] [More Detail]


2. Internals

Request object
internal representation of a communication event
includes mode, arguments, status

Conventional communication
Called Equivalent Effect
MPI_Isend MPI_Send_init create request object
MPI_Start start communication
MPI_Wait MPI_Wait end communication
MPI_Request_free release request

Persistent communication
only call MPI_Send_init and MPI_Request_free once
if request can be reused

[Table of Contents] [Section 1] [Section 2] [Section 3] [Section 4] [More Detail]


3. Usage


for (i=1; i<BIGNUM; i++) {
MPI_Irecv (buf1, cnt, tp, src, tag, com, &req[0]);
MPI_Isend (buf2, cnt, tp, dst, tag, com, &req[1]);

MPI_Waitall (2, req, status);
do_work(buf1, buf2); }

Alternate foils for hardcopy presentations

[Table of Contents] [Section 1] [Section 2] [Section 3] [Section 4] [More Detail]


4. Performance

Improvement in wallclock time,
Persistent vs. conventional communication

One task sends, one receives
Timings done with PE version 2.1.0.6
Improvement was independent of the number of iterations

msize (bytes) mode improvement mode improvement
8 async 19 % sync 15 %
4096 async 11 % sync 4.7 %
8192 async 5.9 % sync 2.9 %
800,000 - - sync 0 %
8,000,000 - - sync 0 %

[Table of Contents] [Section 1] [Section 2] [Section 3] [Section 4] [More Detail]


References

Message Passing Interface Forum (June 1995) MPI: A Message Passing Interface Standard.

CTC's MPI Documentation


[Exercise] Lab exercise for MPI Persistent Communication

[Evaluation] Please complete this short evaluation form. Thank you!


[CTC Home Page] [Search] [Education]
[Copyright Statement] [Feedback] [Resources]
URL http://www.tc.cornell.edu/Edu/Talks/MPI/Persistent/less.html