Chev Interesting question; I too would like to hear about it from the experts in this forum. However, off the top of my head, I have the following advise for you.
Yes, you could share the memory between processes using the shm_xxx system calls of unix. However, it would be a lot easier if you used a thread programming paradigm like pthread. A lot of these overhead would be handled for you by the library itself. In general, there is not a lot of performance gains by oversubscribing your processors (i.e. number of processes > number of CPUs), unless your processes are I/O bound and are blocked for a significant amount of time. I don't know what your application is, but in the HPC world, such problems are rare. In general, processes on a shared memory node (i.e. an SMP machine) have a significantly higher memory bandwidth and reduced latency, than those across a node, even when the interconnect network is RDMA capable (such as infiniband) Durga On 11/7/06, Chevchenkovic Chevchenkovic <chevchenko...@gmail.com> wrote:
Hi, I had the following setup: Rank 0 process on node 1 wants to send an array of particular size to Rank 1 process on same node. 1. What are the optimisations that can be done/invoked while running mpirun to perform this memory to memory transfer efficiently? 2. Is there any performance gain if 2 processes that are exchanging data arrays are kept on the same node rather than on different nodes connected by infiniband? Awaiting a reply, -Chev _______________________________________________ users mailing list us...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/users
-- Devil wanted omnipresence; He therefore created communists.