Newsgroups: comp.parallel.pvm
From: papadopo@cs.utk.edu (Philip Papadopoulos)
Subject: Re: Mixed send and mcast don't preserve order !?!?
Organization: CS Department, University of Tennessee, Knoxville
Date: 11 Aug 1994 10:29:21 -0400
Message-ID: <32dck1INNabc@duncan.cs.utk.edu>

In article <32bd7b$g7p@merckx.graphics.cornell.edu> dan@graphics.cornell.edu (Daniel Kartch) writes:
>I've just encountered what I think might be a bug in PVM.
>I'm running version 3.3.3 on a cluster of HP workstations.
>
>The problem is that when one of my processes sends a message to several
>processes with pvm_mcast, and then immediately calls pvm_send to send a
>message to one of those processes, the pvm_send message sometimes arrives first.
>The problem only seems to occur when I use the PvmRouteDirect option.
>
>I'm not sure this is a bug because the user's guide only talks about guaranteed
>message ordering in the man page for pvm_send.  It doesn't say anything
>about ordering of mcast messages or mixed send/mcasts (or at least my
>quick search didn't find any mention of it), but my intuitive reaction is
>that it should guarantee ordering in those cases as well.  Can anyone tell
>me if this is known problem or should I report it?
The problem that you are encountering is caused by the fact that multicast
messages are being sent on a different route than your pvm_send() messages.
Mcast messages always go through the daemons.  If you return to default 
routing, then the message order will be preserved between mcasts and sends
by virtue that they are following the same "pipeline."  Mcasts use
a fan-out algorithm to send messages in that the message content is 
only sent to each unique host in the multicast list. Then each host
sends the message to all the processes on its own machine.  This cuts
down on "on-wire" traffic.

-Phil Papadopoulos
 


