[zeromq-dev] Preliminary results of voting

Martin Sustrik sustrik at fastmq.com
Tue Sep 2 21:27:32 CEST 2008


Hi George,

> New to this list and have only recently started building an
> interface to 0MG so I want to check my understanding.
> 
> RTD Server == Real Time Data Server (?) and is there more
> to this than just a real-time data feed?

Well, you have to interface the thing with 0MQ somehow...

> C10K Problem == 10000 clients on a server (?) and is there
> more to this than optimizing for concurrency, e.g., to really
> take advantage of (say) an 8core system with 2 ethernet cards
> w/ 4 ports apiece?

Optimisation for multiple cores and multiple NICs is already done in 
0MQ. C10K problem on the other hand has to do with the way how operating 
system waits for network traffic. POSIX defines 'poll' function that 
requires all the file descriptors that are to be queried to be passed to 
*each* call of the function. Now imagine there are 10,000 connections to 
query. Each call to 'poll' means transferring 10,000 items between 
kernel space and user space (both ways because results of polling have 
to be communicated to the application as well). Even more importantly, 
this happens even if 9999 connections are idle and just one active. 
Whole thing results in suboptimal performance (in terms of both latency 
and throughput) in such scenarios.

Unfortunately there's no standardised way to handle this problem. Linux 
defines epoll, Solaris has dev/poll, BSD variants use kqueues etc.

> XMPP is there more to this than supporting instant messaging?

Some of the XMPP XEPs actually try to use XMPP to deliver more than 
instant messages. Have a look yourself. In any case, it's an interesting 
  option to vote on.

> Just trying to put some flesh on the discussion :).

Thanks for you comments anyway :)

Martin



More information about the zeromq-dev mailing list