Not logged in
Log in now
Create an account
Subscribe to LWN
Pencil, Pencil, and Pencil
Dividing the Linux desktop
LWN.net Weekly Edition for June 13, 2013
A report from pgCon 2013
Little things that matter in language design
With copy_to_process you have 1 copy instead of 2, but there should be 0 copy for MPI to behave better.
Still far from proprietary MPI implementations
Posted Sep 16, 2010 12:14 UTC (Thu) by Trelane (subscriber, #56877)
Posted Sep 16, 2010 12:50 UTC (Thu) by nix (subscriber, #2304)
Posted Sep 16, 2010 12:58 UTC (Thu) by ejr (subscriber, #51652)
That is more or less what happens in message passing using any shared memory mechanism. What you are describing is plain shared memory. It's perfectly fine to use within a single node, and I've done such a thing within MPI jobs working off large, read-only data sets to good success. (Transparent memory scaling of the data set when you're using multiple MPI processes on one node.) But it's not so useful for implementing MPI.
The interface here would help MPI when the receiver has already posted its receive when the send occurs. You then have the one necessary copy rather than two. Also, this interface has the *potential* of being smart with cache invalidation by avoiding caching the output on the sending processor! That is a serious cost; a shared buffer ends up bouncing between processors.
Posted Sep 16, 2010 13:20 UTC (Thu) by Np237 (subscriber, #69585)
Posted Sep 17, 2010 5:38 UTC (Fri) by rusty (✭ supporter ✭, #26)
I'm not so sure. I believe that a future implementation could well remap pages, but playing with mappings is not as cheap as you might think, especially if you want the same semantics: the process the pages come from will need to mark them R/O so it can COW them if it tries to change them.
I'm pretty sure we'd need a TLB flush on every cpu either task has run on. Nonetheless, you know how much data is involved so if it turns out to be dozens of pages it might make sense. With huge pages or only KB of data, not so much.
And if you're transferring MB of data over MPI, you're already in a world of suck, right?
Posted Jan 7, 2012 0:13 UTC (Sat) by wahern (subscriber, #37304)
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds