[zeromq-dev] 0MQ for hard real time applications: the inproc communication

A. Mark gougolith at gmail.com
Thu Apr 18 16:47:57 CEST 2013


Hello Davide,


I'm not certain about the implementation of the inproc in ZMQ but I'm
pretty certain it is using pipes. I'm interested in working on this issue
since I've an MPMC queue implemented using ZMQ inproc and ZMQ_ROUTER and
latency is critical of course. If we can improve latency in this area it
would be a plus. However lockfree pipes AFAIK under linux may not be
sufficient  to handle these complex situations (many threads R/W
asynchronously). When you achieved the lower latencies can you also handle
the many thread complexity not just a couple?


On Thu, Apr 18, 2013 at 5:38 AM, Davide Faconti <
faconti at icarustechnology.com> wrote:

> Hi,
>
> first of all, congratulation for the amazing ZeroMQ library.
> I would like to use ZeroMQ of real time operative systems, In particular
> Linux (RT-preempt and later Xenomai) and QNX.
>
> To do this I am planning to do some changes to the core of ZMQ, in
> particular:
> 1) Use O(1) memory allocation.
> 2) Be able to set the Scheduling policy to set the thread priorities.
> 3) Use hard real time communication mechanism when possible.
>
> About the last point, I would like to:
> A) Use QNX messages for IPC transport.
> B) Use lockfree data structures for INPROC transport.
>
> My main question at the moment is about the current implementation of
> INPROC transport.
> Digging it seems like the actual implementation is the class pipe_t, am I
> right?
>
> I have done some benchmark using the perf tool (inproc_lat) and I get an
> average latency of 8 usec.
> It is not bad, but using lockfree FIFO I can achieve times that are TWO
> orders of magnitude lower.
> I know that the beauty of ZeroMQ it is that it doesn much more for me, but
> I would like to understand better the current implementation of INPROC
> sockets to see if I can contribute with a more efficient implementation.
>
> Thanks in advance
>
> --
> Davide Faconti
> ----------------------------------------------
> *Icarus Technology SLU <http://www.icarustechnology.com>*
> ----------------------------------------------
> *NIF*: B64096571
> tel. +34666722156
> ----------------------------------------------
> c/ paris 45-47, entrlo 3º
> 08029, Barcelona, Spain
> ----------------------------------------------
> www.icarustechnology.com
>
>
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130418/7859ee4b/attachment.htm>


More information about the zeromq-dev mailing list