[zeromq-dev] Proposal regarding PGM and ZMQ

Martin Sustrik sustrik at 250bpm.com
Fri May 14 17:22:15 CEST 2010

Hi Emmanuel,

> When using PGM as multicast protocol, it is necessary to call the
> zmq_setsockopt() call to tune the ZMQ_RATE option.
> This option limits the bandwidth given to PGM. If you give a limited value for
> ZMQ_RATE (let's say 20 % of the available bandwidth) and if the
> publisher writes
> its data in a loop as fast as it can, all the bandwidth will be taken by the
> PGM ODATA packets with no space left for RDATA packets in case some
> are necessary.
> During my test, I had to add a "sleep" call in the publisher loop to
> keep some bandwidth for the RDATA packets.
> Isn't it possible that ZMQ layer gives to the OpenPGM layer a
> bandwidth value increased by a factor of around 5 % to automatically
> have bandwidth available for RDATA
> pcakets?
> This could make user life easier.

Yes. Something like this should be done. The question is what's the 
optimal algorithm given that on faulty links the portion on bandwidth 
needed for RDATA may be higher than 5% while with say IB it would be 


More information about the zeromq-dev mailing list