It's complicated, but the short answer is that a "short" message is defined as 
one where the cost of a memory copy doesn't matter. 

You could always use mpi_alloc_mem to get registered memory. But I don't recall 
offhand if we check to see if the memory is already registered for short 
messages (because the cost of the memcpy is insignificant). 

Yes, the cost of mem reg is one of the main drivers for these kinds of 
optimizations. 

-jms
Sent from my PDA.  No type good.

----- Original Message -----
From: users-boun...@open-mpi.org <users-boun...@open-mpi.org>
To: us...@open-mpi.org <us...@open-mpi.org>
Sent: Mon Jan 04 11:09:10 2010
Subject: [OMPI users] Question about senting short MPI messages using RDMA

Hi, guys.
As I understand, to send short MPI messages, OpenMPI copies the
messages to preallocated buffer and then uses RDMA.

I was wondering if we can avoid the overhead of memory copy. If the
user buffers for short messages are reused a lot, we can just register
the user buffer instead of using preallocated buffer. Then we can do
RDMA directly from the user buffer instead of the preallocated buffer.
But if the user buffers are not reused, we will suffer from the
overhead of memory registration.

Besides the overhead of memory registration, is there any other reason
that prevent you to do RDMA directly from the user buffer for short
messages?

Thank you.
_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to