[zeromq-dev] 0MQ/OpenPGM win32

Martin Sustrik sustrik at 250bpm.com
Mon Apr 19 15:31:13 CEST 2010

Hi Giambattista,

> I'm trying the 2.0.6 version, but i have a strange behavior.
> I start the test on my development workstation (WIN7 quad core 2.66GHZ 2 
> GB RAM LAN 100Mb)
> i start sender and receiver with pgm configuration, use a 8.000 msg/sec 
> rate, the LAN is 22 Mb/sec, all work fine.
> I start the same test on a new workstation (WINVISTA quad core 2.66GHZ 2 
> GB RAM LAN 100Mb) but the application receiver is slow, receive 6 
> mb/sec, the msg are not discarded, but are accumulated on the sender, i 
> see the sender memory from task manager to increase , more and more and 
> then is 400 MB I stop the sender.

The messages should accumulate on the sender only in the case when you 
are publishing faster than the current RATE. Unless it's a bug of course...

> The receiver always receive data, I wait for several minutes ,at the end 
> receive all the data but the rate is very very slow.
> At application level, i have set ZMQ_RATE to 100000 on both sender and 
> receiver.

The behaviour looks almost as if RATE was low. Strange.

> To understand this behavior, i start this simulation:
> On my workstation start only the sender without receiver on all the LAN.
> The application work fine, start publish the memory usage increase to 
> 145 MB, but after never increase more (i see on task manager that the 
> application create 4 thread, after become 7 and at the end are stable to 
> 4).The send rate and conditions are the same of previus test.

That looks like you are publishing at a rate lower than ZMQ_RATE. 
OpenPGM's window fills up to the limit and doesn't grow anymore.

> I do the same test on second workstation, and in this case the memory 
> increase to infinite , i stop the application to 800MB of  RAM.
> in task manager i see always 3 thread started by the application.

That looks like you are publishing at a rate higher than ZMQ_RATE. In 
such a case messages are queued on the sender side.

> If i use TCP transport, on both the workstation all work fine.

That's expected. TCP has congestion control mechanism so the receiver 
can control the rate at which the sender is sending data.

> Can help me to understand this behavior?
> It's a workstation problems?
> It's a workstation problems with pgm?
> it's a problem of the pgm?

It's hard to say from here. Some of the behaviour looks like it may be 
correct. Consumer consuming 6Mb/s when rate is set at 100Mb/s and sender 
is publishing at 100Mb/s looks like a bug.


More information about the zeromq-dev mailing list