Newsgroups: comp.parallel.pvm
From: mapdjb@bath.ac.uk (D J Batey)
Subject: Re: psend and precv nonheterogeneous?
Organization: School of Mathematical Sciences, University of Bath, UK
Date: Thu, 8 Feb 1996 09:54:09 GMT
Message-ID: <DMGBI8.3Fp.B.mary@bath.ac.uk>

In the referenced article, mucci@cs.utk.edu (Philip Mucci) writes:
>
>Yes, pvm_psend/precv completely bypass the XDR layer for purposes
>of speed. This is a feature not a bug...8-) 

A pretty much undocumented feature, too -- The manual page says
nothing whatsoever about this. It just says that psend 'packs and
sends', and that precv 'receives directly into a message
buffer'. After some searching around the web pages, I came up with
this in the changes file for 3.3.0:

| New functions pvm_psend() and pvm_precv() send and receive raw data
| buffers, enabling more efficient implementation on machines such as
| multiprocessors.

and this from a subsection of the 'pvm performance hints' web page
which is 'under construction':

| Note that in PVM 3.3, pvm_psend only works between machines of the
| same data format. This restriction will be lifted in PVM 3.4.

The phrase 'It was on display behind a locked door in a disused
lavatory with a sign on the door saying "Beware of the leopard"'
springs to mind.

> If you're communicating
>between machines that don't share a data format, the message
>packing phase won't be your bottleneck, the data translation
>phase will be. 

Granted.

>If you actually look at the source, you'll see that psend()
>does a initsend(), pack() and send() underneath anyhow...
>

Well, yeah, I actually had to look at the source to find out what was
going on when my application didn't behave as expected! I was more
than a little surprised to discover that these great functions had
been added that made coding a lot easier, and the resulting code a
lot more readable, but that use of them in an application rendered
that application non-portable to sufficiently heterogeneous systems.

>Just out of curiousity, what machines are you on? I'll
>put them on my list of "machines to never buy". Everyone
>say "IEEE" is a good thing...

IBM RS6000's and DEC Alpha's.

>
>-Phil

Hello Phil, fancy meeting you here... ;-)

Duncan.





