Subject: Re:mpi-pt2pt: unsafe program? (short)

From: [email-masked] (Al Geist)
Date: Thu, 8 Apr 93 13:09:52 -0400

Lyndon "the prolific" writes:
So it seems that the following is also an unsafe program.

Process 1                     Process 2               
---------                     ---------               
                                                      
Send to Process 2 Tag 1       Receive from Process 1 Tag 2
Send to Process 2 Tag 2       Receive from Process 1 Tag 1

Does anyone disagree? 

>We will not serve our purpose if we declare every program
>that requires buffering to be unsafe.
>The vast majority of message-passing programs are written now
>assuming some buffering.
>Many programs suffer a big performance hit if they have to be
>written with synchronous communication exclusivily. (to be "safe")

Al Geist

---

From: L J Clarke <[email-masked]>
Date: Fri, 9 Apr 93 15:25:41 BST

> So it seems that the following is also an unsafe program.

I do not with to dispute your point.  I asked a simple question, as I
was unclear, and a colleague at EPCC asked me the question. 

Do I take your sentence as agreement that the program is unsafe?

> >The vast majority of message-passing programs are written now

I do not with to dispute your point. 

> >written with synchronous communication exclusivily. (to be "safe")

This seems to be a rather strong conjecture.  I would be happy to
receive significant justification. 

Best Wishes
Lyndon

         /--------------------------------------------------------\
    e||) | Lyndon J Clarke    Edinburgh Parallel Computing Centre | e||) 
    c||c | Tel: 031 650 5021  Email: [email-masked]  | c||c 
         \--------------------------------------------------------/

---

From: L J Clarke <[email-masked]>
Date: Fri, 9 Apr 93 16:59:58 BST

Mark writes:

> Al Geist's comments are appropriate. 

This point is well taken. 

> MPI is defined so that
> if you want to write a safe program you must assume no buffering,
> which requires a LOT of programmer effort, 

This is another subjective thing.  Please believe me that I know and
work with a lot of programmers with varying levels of experience and
scientific backgrounds who find this way of programming is LITTLE
effort indeed.

> and like the ready
> receiver argument this programmer effort may indeed be counterproductive
> on machines which do have significant buffering. The existing
> constraint, while theoretically attractive, may be too limiting.
> We can legislate whatever we want in meetings and build a useless
> specification.

Understood.

I am trying to do things to separate the secure communication I propose
from the regular communication which provides buffering.  Please do see
my long message to mpi-comm of April 8 "Subject: mpi-comm: various
(long)".  

I strongly encourage the inclusion of secure mode of communication in
MPI.  I also strongly encourage the inclusion of buffered mode and
effort to allow the user management of how much buffering and where.  I
believe they are two ways of programming both of which MPI must support,
rather than mandate one at the expense of the other, and that this is
critical to the long term success of MPI as a de facto standard. 

Best Wishes
Lyndon