Newsgroups: comp.parallel.pvm
From: wjiang@apollo.hp.com (Weicheng Jiang)
Subject: Re: [Q] sending empty messages
Organization: Hewlett-Packard Company, Chelmsford, MA
Date: Sat, 3 Aug 1996 13:48:02 GMT
Message-ID: <DvKEC3.7ws@apollo.hp.com>

In article <32024A90.1EE8@cv.hp.com>, Jonathan King  <jking@cv.hp.com> wrote:
>Axel Spohr wrote:
>> 
>> I hope one of you can help me on the following:
>> Can I send empty messages with pvm ? 
>
>Yes, this is possible.  However, it may just be easier (coding wise) to
>pack an integer... otherwise you have to receive any message and then
>get the buffer info to figure out what tag the message had.  If you want
>to receive only a subset of messages from that host, you can't do it. 
>You're paying the overhead for communication anyway, the price to pack,
>send, and unpack another int is negligible.  If anyone knows a faster
>way to figure out what the tag was, will you let me know?  Thanks.

This may be true for the public-domain PVM implementation, but one should
not write a PVM program based on that assumption.

With our enhanced PVM, the latency of pvm_psend/pvm_precv is only a
fraction of that for pvm_send/pvm_recv. (7 microseconds vs. 30.) 
psend/precv are not only easier to use (1 function call instead of 2 or 3),
they (precv) also return the message tag (and sender ID) if you pass a 
pointer.

In general psend/precv give the implementor more freedom to improve the
performance. On MPP systems such as the Paragon and SP2, they can be up
to an order of magnitude faster than the standard pack and send. Even if
you're sending several sets of data to the same task, it may still be 
faster to send them separately with psend than to pack them into the same 
message.

>#   My opinions are my own and do not represent the   #
>#      views of either Hewlett Packard *or* OSU.      #

My opinion represents the view of HP :-).

--
Weicheng Jiang, Ph.D.            Chelmsford System Software Lab.
PVM Specialist                   Network Computing Division
Tel: 508-436-4613                Hewlett-Packard Company



