Hi,

If I'm using, say TCP, is 0MQ really able to guarantee zero-copy message transmission? (As an anecdote, somebody once told me that the 0 in 0MQ means zero-copy. I don't know if this is true or not.) I recall reading from some article that an OS/kernel/driver internally copies (possibly multiple times) whatever data is given to it through its TCP API. Wouldn't a zero-copy messaging system need to bypass the OS TCP/IP stack? I think if we're relying on an operating system, then zero-copy at userland is the best we could hope for.

I see that there are some threads on RDMA. Wikipedia suggests that RDMA might be able to deliver a true zero-copy solution. On the other hand, I've been told that RDMA can be both a safety and a security risk not to mention that it's hard to use right. Using RDMA might not be worth the risk and effort for most applications. I'm not requesting RDMA support, I'm just curious about the concept of zero-copy...

Cheers,
John

_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to