[zeromq-dev] multiple udp sender/receiver on same machine bugfix

Steven McCoy steven.mccoy at miru.hk
Wed Sep 9 13:08:17 CEST 2009


2009/9/8 Pavol Malosek <malosek at fastmq.com>

>  Yes you were right, I have checked OpenPGM sources and multicast loopback
> is explicitly disabled - unless enabled by api call
> pgm_transport_set_multicast_loop.
>
>
Yes, this is by design.  The kernel has to copy any sent multicast packets
in order to process them for listeners on the same host.  This introduces
small delays when sending packets.  Importantly, loopback UDP is also
unbelievably unreliable, 20-50% packet loss is quite common on minimal
loads.

The popular incumbent multicast middleware systems implement a daemon
process to manage the socket layer and uses IPC to each application process.
 This introduces a tiny latency but allows high level features such as
detecting when an application dies by notifying peers on the network (TIBCO
Rendezvous), or by NAKing peers attempting session recovery (Microsoft PGM).
 For PGM this confines the daemon to CAP_RAW rights, and allows easily
upgrades without rewriting and relinking user applications.

You might (?) be able to configure the zeromq broker to use PGM to peers and
zsockets to host applications for a directly equivalent model.

Have I tested the latency overhead?  No, so it might even be utterly
negligible with modern socket management.

-- 
Steve-o
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20090909/d33cff37/attachment.htm>


More information about the zeromq-dev mailing list