[zeromq-dev] Performance results on 100Gbps direct link

Brett Viren bv at bnl.gov
Thu Oct 24 22:55:32 CEST 2019

Hi again,

Doron Somech <somdoron at gmail.com> writes:

> You need to create multiple connections to enjoy the multiple io threads.
> So in the remote/local_thr connect to the same endpoint 100 times and create 10 io
> threads.
> You don't need to create multiple sockets, just call connect multiple times with same
> address. 

I keep working on evaluating ZeroMQ against this 100 Gbps network when I
get a spare moment.  You can see some initial results in the attached
PNG.  As-is, things look pretty decent but there are two effects I see
which I don't fully understand and I think are important to achieving
something closer to saturation.

1) As you can see in the PNG, as the message size increases beyond 10 kB
the 10 I/O threads become less and less active.  This activity seems
correlated with throughput.  But, why the die-off as we go to higher
message size and why the resurgence at ~1 MB?  Might there be some
additional tricks to lift the throughput?  Are such large messages
simply not reasonable?

2) I've instrumented my tester to include a sequence count in each
message and it uncovers that this multi-thread/multi-connect trick may
lead to messages arriving to the receiver out-of-order.  Given PUSH is
round-robin and PULL is fair queued, I naively didn't expect this.  But
seeing it, I have two guesses.  1) I don't actually know what
"fair-queued" really means :) and 2) if a mute state is getting hit then
maybe all bets are off.  I do wonder if adding "credit based" transfers
might solve this ordering.  Eg, if N credits (or fewer) are used given N
connects, might the round-robin/fair-queue ordering stay in lock step?

Any ideas are welcome.  Thanks!


-------------- next part --------------
A non-text attachment was scrubbed...
Name: z.png
Type: image/png
Size: 149061 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20191024/c86f3f0d/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20191024/c86f3f0d/attachment.sig>

More information about the zeromq-dev mailing list