On Wednesday 02 April 2003 23:11, Richard Walsh wrote:
>> To anyone ...
>> Somewhat tangentially, but while we are on the subject of one-sided
> communications in MPI-2, am I correct in assuming that this capability
> is implemented as it is in SHMEM ... via communication to/from symmetric
> (or known asymmetric) memory locations inside the companion processes
> memory space. It would seem to be a requirement for speed and would
> also seem to require the use of identical binaries on each processor
> (and COMMON or static to place data in a symmetric location).
>> Thanks for your guidance ...
I think that's the idea but it isn't shared memory!
http://www.mpi-forum.org/docs/mpi-20-html/node117.htm#Node117
Remote Memory Access ( RMA) extends the communication mechanisms of MPI by
allowing one process to specify all communication parameters, both for the
sending side and for the receiving side.
....
Evidently, you cannot treat RMA like shared memory. What RMA really is what
shared memory should have been (in a sense):
The design is similar to that of weakly coherent memory systems: correct
ordering of memory accesses has to be imposed by the user, using
synchronization calls; the implementation can delay communication operations
until the synchronization calls occur, for efficiency.
Using RMA you have to design your algorithm like before however it is much
easier to cope with dynamic communication. In usual MPI-1 code you would have
to specify tons of custom async. send/recv. routines, sync. code etc. to
accomplish the same thing.
So the answer is, yes it's like shared memory but you know that each call
(put, get, accumulate) will incur a message passing eventually. IMO the
greatest advantage comes from the (possibly) higher level of abstraction
attained this way. Of course a nicer thing is the ease of writing in-place
routines, that could potentially make a difference in a lot of places, for
example sparse codes like graph partitioning.
What we had thought was perhaps implementing complex parallel algorithms (like
fold/expand) could be easier with one sided comms.
Thanks,
--
Eray Ozkural (exa) <erayo at cs.bilkent.edu.tr>
Comp. Sci. Dept., Bilkent University, Ankara KDE Project: http://www.kde.org
www: http://www.cs.bilkent.edu.tr/~erayo Malfunction: http://mp3.com/ariza
GPG public key fingerprint: 360C 852F 88B0 A745 F31B EA0F 7C07 AE16 874D 539C
_______________________________________________
Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf