Dolphin Wulfkit

Patrick Geoffray patrick at
Fri May 3 20:35:33 PDT 2002

Tony Skjellum wrote:

> Lazy memory unlocking breaks correct programs that use memory
> dynamically.  It means that the programmer must program in a
> restricted way with memory that is subject to send/receive.

Why is that ? It's possible to implement lazy memory unlocking without 
imposing any constraint on the application.

> Persistent send/receive has no such disadvantages, it is within the
> standard and the original programming model that allows users to
> work with arbitrary memory.  It works with all MPI implementations,
> and so is fully portable.

The problem here is not in the implementations, it's in the education. I 
agree with Joachim when he says that the use of persistent requests is 
very rare. It's not unused because it's wrong, it's unused because the 
vast majority of the MPI developers have no clue what it's good for.
When I learned MPI a few years ago, nobody taught me about persistent 
requests, nada about complex datatypes: send/receive, 
blocking/non-blocking, a little bit of collective and basta.
MPI programmers usually don't know how to write good MPI code. I know 
you work a lot on this topic, but it won't change this context anytime soon.

The second problem is the egg/chicken kind of thing. The complex datatypes
are not optimized very well in most MPI implementations. Well, nobody
uses them because they are not optimized, and nobody will optimized them
because nobody uses them. It's like collective communications in MPICH: 
suck, so if you want to run efficient code, you write yourself the 
you need. Then, the pressure on the MPICH team to optimize the 
collectives is
not important.

Do I spend time optimizing something that a tiny fraction of my users will
effectively use or do I care about far more frequent poorly written 
applications ? It's a shame, I agree, but it's the trade-off all MPI 
implementations are playing with :-(


|   Patrick Geoffray, Ph.D.      patrick at
|   Myricom, Inc.      
|   Cell:  865-389-8852          685 Emory Valley Rd (B)
|   Phone: 865-425-0978          Oak Ridge, TN 37830

More information about the Beowulf mailing list