[zeromq-dev] Large messages and low latency

Francis Labonte francis_labonte at hotmail.com
Mon Feb 8 17:13:34 CET 2021


I am trying to use zmq for sending video frames.  The bandwidth I am using is 4Gbps up + 4Gbps down.  I am using push/pull sockets (2 pair - one for each direction).  So far, it is "working", but I need to lower the latency.  - I have a 10Gbps link and cannot saturate it.

I tried to enable more io threads in hope it will increase the throughput and so reduce my latency...   However, for reason I don't understand yet, the messages  come unordered and/or seems broken.  So I might have misunderstood something!

  *   I have 1 context (but I have tried with 2 without any impact)
  *   I create 2 socket in their respective thread(send / receive) - they don't know each other
  *   I set 2 io threads
  *   If I call "connect" 1x per socket -> I cannot send @ 10gbps ( I get about 10gbps total (up & down)).  Which seems in line with the doc "~1GBps / working thread"
  *   If I call connect 2x per socket, then the messages seems to be broken on receiver side

I understand zmq is optimize for small messages/high volume, so that's why I seek to understand if it possible to tune zmq for such a use case large message (10MB) that use all the bandwidth available (10gbps) to reduce latency?  Maybe it is possible an I am doing something wrong.. Can somebody help me with that?

Thanks for you help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20210208/25e31243/attachment.htm>

More information about the zeromq-dev mailing list