[zeromq-dev] Non-contiguous message thoughts

Michael Santy michael.santy at dynetics.com
Fri Mar 5 14:46:40 CET 2010

> * You don't want to mess with lock that manage data across the IO/app
> thread boundary.
> * memcpy is not that slow, and by using it, you enable 0MQ to
> deallocate the msg ASAP.

Thanks a bunch for the in-depth response.  Those are all good thoughts worth
considering before moving any further on this idea. Just to give you a
further idea of the problem, I'm passing ~200MB over DDR Infiniband every
few seconds, and I just want to make sure that there's as little latency as
possible in getting that data to the other process.  I'm not necessarily as
concerned with lock contention on this, as the message rate is fairly low,
so I think the deallocator approach will work well.  My issue is that the
memory that I want to send it not contiguous in memory before creating a
message.  Having to memcpy into a contiguous region of memory before send
would add a little latency, but would also use memory bandwidth, which is a
problem because I'm overlapping communication and computation.

More information about the zeromq-dev mailing list