Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Durga Choudhury (dpchoudh_at_[hidden])
Date: 2006-11-07 10:10:26


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 <chevchenkovic_at_[hidden]> 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
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
>

-- 
Devil wanted omnipresence;
He therefore created communists.