[zeromq-dev] QoS / prioritization status

Martin Sustrik sustrik at 250bpm.com
Fri Jun 24 21:54:26 CEST 2011

Hi Gary,

> 1) Have there been changes/additions in 0MQ since the above thread that
> might provide added support for either 0MQ-level or application-level
> prioritization of messages? (FWIW, I'm OK with some messages getting
> higher priorities than requested, via message-bunching.)

No. No changes in this respect.

> 2) Are there any (related?) 0MQ features or patterns that might help
> optimize message flow through a (known) network bottleneck?

The important point to take into account here is that TCP enforces 
strict ordering of data and thus you get head-of-line blocking syndrome 
not matter what you do on application level.

That's the reason why 0MQ encourages using different sockets for 
different kinds of data, eg. normal vs. urgent.

The receiving application can then poll on 2 sockets, processing 
messages from the "urgent" one before anything else.

As for the ToS bits, these are meant to be set by the networking stack. 
Having two sockets using different ports allows you to set your 
networking hardware and/or networking stack at the endpoints in such a 
way that it sets appropriate ToS bits on the urgent feed but not on the 
normal feed.


More information about the zeromq-dev mailing list