[zeromq-dev] UDP performance

Pieter Hintjens ph at imatix.com
Wed Nov 28 04:19:45 CET 2012

On Wed, Nov 28, 2012 at 7:25 AM, Dan Goes <DGoes at blueorigin.com> wrote:

> After reviewing a lot of the list's history of questions about UDP support
> in zeromq, I've got some of my own...

I did quite a lot of experimentation with UDP for 0MQ patterns a year
or two ago. The results weren't impressive, performance wise.
Semantically, it maps quite nicely, if you're OK with short messages
and a high rate of loss.

> - What sort of performance increases could we see with UDP transport over
> TCP transport in zeromq, if it were a feature?

Probably quite a large drop in performance. If latency is really your
concern I'd first make sure you're working asynchronously, not
round-tripping, and if you then need lower latency, I'd look at
options like Infiniband.

> - If UDP could help us, what options are available to have it baked into
> zeromq?

The first stage is to simply measure with stand-alone code and make
sure it's worth doing. You'd want a side-by-side test of raw TCP and
raw UDP that shows performance on different types of network.

Second step, if this proves the benefit, is to make the change or ask
someone to make the change. iMatix is happy to do this kind of thing
for you, commercially.

There is some proof of concept UDP work already done, in
https://github.com/imatix/vtx/tree/master/v3. That was a bridging
approach (using inproc to talk to a separate thread doing the UDP).


More information about the zeromq-dev mailing list