On 23 July 2015 at 15:23, Andrew Novikov <[email protected]> wrote: > If ZMQ_RATE of the multicast socket is lower than about 8 megabits per > second, packets are sent to the network at the specified rate. But if > the rate is set higher than that number, messages begin to get queued > and newer transmitted faster than about 9-10 megabits per second. In > fact, it seems that congestions start to appear and the average data > transmission rate drops even lower than 8 megabits per second. > Moreover, if I set the number of I/O threads in the ZMQ context to a > value higher than 1, strange transmission gaps begin to appear: the > zmqsend may stop transmitting data for several dozen seconds and then > suddenly resume only to stop transmitting soon (messages continue to > be generated and queued during the gaps). >
Windows itself is not helping here, ZeroMQ and PGM is presently tuned for larger numbers of smaller messages. To work on Windows one needs to use smaller quantities (significantly less than 10,000 per second) and larger sizes, preferably at jumbogram sizes with packet fragmentation. The cause is that the WinSock interface has just too much overhead compared with the performance of the stack itself. Pushing too high rate into the stack also causes problems due to inefficiencies of buffer management. The stack itself is incredibly good and can better Linux on the same hardware so it is quite a complicated situation. Ideal packet sizes for throughput are 64-128KB, I'll have comparable configurations for other reliable multicast stacks. So it is a research project and may require modification to the ZeroMQ interface to open up options to make it easier to work with. However also note that pushing high data rates and no-congestion-control-trivial-network-saturation protocols are not a good mix. For interesting alternative projects which I keep following please check out these: http://uftp-multicast.sourceforge.net/ https://github.com/real-logic/Aeron -- Steve-o
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
