[zeromq-dev] Windows DLLs with OpenPGM now available

Martin Sustrik sustrik at 250bpm.com
Wed Mar 10 15:01:40 CET 2010

Hi Giambattista,

> I'm a WIN32 user, i try 0MQ on TCP transport and i think work fine
> Now i start the evaluation on PGM, writing a wrapper for Delphi (pascal 
> ) using the 0MQ C dll.
> All work if the throutput is not so higth.
> This is my evaluation enviroment:
> LAN : 100 Mb
> 3 workstation:
> A Windows 7 32 bit Intel Core2 Quad CPU 2.66 GHz 2 GB RAM
> B Windows 2008 32bit server Virtual machine on WIN2008 R2 64Bit 
> Hypervision 1 CPU 2.80 GHZ. 1 GB RAM
> C Windows Vista 32 Bit 1 CPU 2.85 GHz 2 GB RAM
> I have developed a PUB SUB application
> the WKS A pub data and on WKS B and WKS C SUB data, the application 
> message size is 140 byte.
> The Sender loop forever : send X message sleep Y millisecond
> The sender don't have any problem, it allocate 145 MB of ram and the CPU 
> it's near to 0%
> the problems are the receivers, this is some frequence data:
> sender :Send 100 msg and sleep 10 ms  Receiver throutput 5371 [msg/s] 
> 6,5 [Mb/s]

I am not sure how the measurement is made. If sender is sleeping at 
times it will obviously lower the throughput. Can you check with 
local_thr and remote_thr included in the source package?

> i try to send more msg, i can have any of this situations:
> - the receiver is slow, it can't receive all the messages, but if the 
> sender send minus msg the receiver resolve the problems and after some 
> time it have received the same number of message of the sender.

Yes. This happens when receiver is slower than publisher. It's called 
queueing effect.

> - the receiver stop to receive any message, there is no error, the LAN 
> and the CPU are working, but the application never receive.If the sender 
> send more slow ,after some time the receive application start to receive 
> the new message, but it have lost all the past msg.

See the other thread going on in parallel ("Is Pub/Sub unreliable"). It 
discusses reliability guarantees offered by PUB/SUB sockets.

> - the receiver crash, i receive a generic C exception and the 
> application hang.In the event viewer i have this message :
> Faulting application Project1.exe, version, time stamp 
> 0x2a425e19, faulting module libzmq-0.dll, version, time stamp 
> 0x4b92eaa2, exception code 0x40000015, fault offset 0x0000c3b3, process 
> id 0xad8, application start time 0x01cac032f6428a6e.
> Can be possible that all the receiver crash at the same time !!!.

Can you get us the backtrace from the crash?

> The big problem it's that this situations are not systematic replicable.
> In some situations i have this error sending 100 msg, or sending 200 msg 
> or sending 150 msg, but i don't undertand the relation from sending 
> throutput and type of error
> I try the same throutput with the tcp socket and all work fine, no 
> errors and cpu and ram utilization very slow.

Ok. Noted.


More information about the zeromq-dev mailing list