Re: [zeromq-dev] zyre performances
On Thu, 2017-08-10 at 22:48 +0200, Francesco wrote: > Hi Luca, > thanks for your reply. > > > 2017-08-10 21:28 GMT+02:00 Luca Boccassi : > > On Thu, 2017-08-10 at 19:44 +0200, Francesco wrote: > > > thanks for details. I found out a problem that was blocking my > > > testing: I have used a gcc 5.3 on some servers to build Zyre and > > > apparently some build option I have there is causing my problem > > > (nodes > > > stuck after "Took 3 ms to coordinate with all remote")... in > > > another > > > couple of servers I used the Centos7 native compiler (gcc4.7 > > > IIRC) > > > and > > > it worked. I will dig into this issue tomorrow. > > > > That's a bit suspicious :-) > > > > Actually I found that the utility "zpinger" works (the 2 nodes "ping" > each other)... I suspect it's due to the fact that when I used gcc5.3 > I used a version of libzmq built without libsodium... That still shouldn't make any difference, peers should be able to communicate regardless. If you have a way to reproduce please share it or open an issue on Github. > > > When I got it running however I got somewhat low numbers, around > > > 60k > > > msg/sec (2 nodes). On the same machines I ran my own performance > > > testing program with ZeroMQ and for 64B packets I reached around > > > 1.5 > > > Mpps. > > > > > > I didn't check the source code of the perf_loca/remote program > > > but am > > > I missing something? > > > > I get the same numbers more or less. Note that zyre perf code is > > less > > optimised for throughput - it uses high level APIs that do a loc of > > mallocs and copies, etc. > > libzmq perf code uses more high performance zero-copy APIs, and > > that > > makes a lot of difference. > > So do you think that when I have 2 Zyre nodes talking to each other > (actually unidirectional communication is a more fair comparison to > my ZMQ tests) I can reach similar performance to plain ZMQ sockets if > I spend some time optimizing the code? > That's an important point for me to decide whether using vanilla ZMQ > or Zyre instead... > > Thanks, > Francesco In theory with some massaging it might be possible. If what you want is a way to discover peers, you can form the groups and then get the list of connected peers, and then their address. Then you could use the zero-copy low-level libzmq APIs. Kind regards, Luca Boccassi signature.asc Description: This is a digitally signed message part ___ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev
Re: [zeromq-dev] zyre performances
Hi Luca, thanks for your reply. 2017-08-10 21:28 GMT+02:00 Luca Boccassi : > On Thu, 2017-08-10 at 19:44 +0200, Francesco wrote: >> thanks for details. I found out a problem that was blocking my >> testing: I have used a gcc 5.3 on some servers to build Zyre and >> apparently some build option I have there is causing my problem >> (nodes >> stuck after "Took 3 ms to coordinate with all remote")... in another >> couple of servers I used the Centos7 native compiler (gcc4.7 IIRC) >> and >> it worked. I will dig into this issue tomorrow. > > That's a bit suspicious :-) > Actually I found that the utility "zpinger" works (the 2 nodes "ping" each other)... I suspect it's due to the fact that when I used gcc5.3 I used a version of libzmq built without libsodium... >> When I got it running however I got somewhat low numbers, around 60k >> msg/sec (2 nodes). On the same machines I ran my own performance >> testing program with ZeroMQ and for 64B packets I reached around 1.5 >> Mpps. >> >> I didn't check the source code of the perf_loca/remote program but am >> I missing something? > > I get the same numbers more or less. Note that zyre perf code is less > optimised for throughput - it uses high level APIs that do a loc of > mallocs and copies, etc. > libzmq perf code uses more high performance zero-copy APIs, and that > makes a lot of difference. So do you think that when I have 2 Zyre nodes talking to each other (actually unidirectional communication is a more fair comparison to my ZMQ tests) I can reach similar performance to plain ZMQ sockets if I spend some time optimizing the code? That's an important point for me to decide whether using vanilla ZMQ or Zyre instead... Thanks, Francesco ___ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev
Re: [zeromq-dev] zyre performances
On Thu, 2017-08-10 at 19:44 +0200, Francesco wrote: > Hi Luca, > > thanks for details. I found out a problem that was blocking my > testing: I have used a gcc 5.3 on some servers to build Zyre and > apparently some build option I have there is causing my problem > (nodes > stuck after "Took 3 ms to coordinate with all remote")... in another > couple of servers I used the Centos7 native compiler (gcc4.7 IIRC) > and > it worked. I will dig into this issue tomorrow. That's a bit suspicious :-) > When I got it running however I got somewhat low numbers, around 60k > msg/sec (2 nodes). On the same machines I ran my own performance > testing program with ZeroMQ and for 64B packets I reached around 1.5 > Mpps. > > I didn't check the source code of the perf_loca/remote program but am > I missing something? I get the same numbers more or less. Note that zyre perf code is less optimised for throughput - it uses high level APIs that do a loc of mallocs and copies, etc. libzmq perf code uses more high performance zero-copy APIs, and that makes a lot of difference. > 2017-08-10 12:55 GMT+02:00 Luca Boccassi : > > On Thu, 2017-08-10 at 10:43 +0200, Francesco wrote: > > > Hi all, > > > > > > I've been looking into Zyre as framework to build peer to peer > > > messaging. > > > I've found that there is a "perf_local" and "perf_remote" > > > binaries > > > inside it... I'm curious to know: has anybody measured > > > performances > > > and is willing to share his numbers? > > > > > > Btw I tried running that utility: I opened 2 shells and I ran > > > ./perf_local 2 > > > > > > but all I get is just: > > > "Took 3 ms to coordinate with all remote" > > > > > > and then nothing... > > > > Hi, > > > > In one terminal first do: > > > > ./perf_remote 4 > > > > And then in another: > > > > ./perf_local 4 > > > > The argument must match. By default it's 25 (note that it requires > > an > > higher ulimit -n than most defaults), and it sends 1000 messages > > (pass > > a second argument to perf_remote to override this) > > > > -- > > Kind regards, > > Luca Boccassi > > ___ > > zeromq-dev mailing list > > zeromq-dev@lists.zeromq.org > > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > > ___ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org > https://lists.zeromq.org/mailman/listinfo/zeromq-dev -- Kind regards, Luca Boccassi signature.asc Description: This is a digitally signed message part ___ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev
Re: [zeromq-dev] zyre performances
Hi Luca, thanks for details. I found out a problem that was blocking my testing: I have used a gcc 5.3 on some servers to build Zyre and apparently some build option I have there is causing my problem (nodes stuck after "Took 3 ms to coordinate with all remote")... in another couple of servers I used the Centos7 native compiler (gcc4.7 IIRC) and it worked. I will dig into this issue tomorrow. When I got it running however I got somewhat low numbers, around 60k msg/sec (2 nodes). On the same machines I ran my own performance testing program with ZeroMQ and for 64B packets I reached around 1.5 Mpps. I didn't check the source code of the perf_loca/remote program but am I missing something? Thanks, Francesco 2017-08-10 12:55 GMT+02:00 Luca Boccassi : > On Thu, 2017-08-10 at 10:43 +0200, Francesco wrote: >> Hi all, >> >> I've been looking into Zyre as framework to build peer to peer >> messaging. >> I've found that there is a "perf_local" and "perf_remote" binaries >> inside it... I'm curious to know: has anybody measured performances >> and is willing to share his numbers? >> >> Btw I tried running that utility: I opened 2 shells and I ran >>./perf_local 2 >> >> but all I get is just: >>"Took 3 ms to coordinate with all remote" >> >> and then nothing... > > Hi, > > In one terminal first do: > > ./perf_remote 4 > > And then in another: > > ./perf_local 4 > > The argument must match. By default it's 25 (note that it requires an > higher ulimit -n than most defaults), and it sends 1000 messages (pass > a second argument to perf_remote to override this) > > -- > Kind regards, > Luca Boccassi > ___ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org > https://lists.zeromq.org/mailman/listinfo/zeromq-dev ___ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev
Re: [zeromq-dev] zyre performances
On Thu, 2017-08-10 at 10:43 +0200, Francesco wrote: > Hi all, > > I've been looking into Zyre as framework to build peer to peer > messaging. > I've found that there is a "perf_local" and "perf_remote" binaries > inside it... I'm curious to know: has anybody measured performances > and is willing to share his numbers? > > Btw I tried running that utility: I opened 2 shells and I ran > ./perf_local 2 > > but all I get is just: > "Took 3 ms to coordinate with all remote" > > and then nothing... Hi, In one terminal first do: ./perf_remote 4 And then in another: ./perf_local 4 The argument must match. By default it's 25 (note that it requires an higher ulimit -n than most defaults), and it sends 1000 messages (pass a second argument to perf_remote to override this) -- Kind regards, Luca Boccassi signature.asc Description: This is a digitally signed message part ___ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev
[zeromq-dev] zyre performances
Hi all, I've been looking into Zyre as framework to build peer to peer messaging. I've found that there is a "perf_local" and "perf_remote" binaries inside it... I'm curious to know: has anybody measured performances and is willing to share his numbers? Btw I tried running that utility: I opened 2 shells and I ran ./perf_local 2 but all I get is just: "Took 3 ms to coordinate with all remote" and then nothing... Thanks, Francesco ___ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev