Subject Re: [Firebird-Architect] event based nonblocking io
Author Jim Starkey
There are many ways to interpret this data, none conclusive. But
right off the bat, I will say that a single thread waiting on
non-blocking I/O cannot exploit multi-core / SMP servers, which is just
plain dumb.

Another factor is that pthread "primitives" are unnecessarily expensive
in terms both interlocked instructions and context switches. In
specific, the pthread signal operations require mutex locks to both
signal and process a wakeup, forcing a pair of utterly superfluous
context switches.

I have to wonder whether the Apache guys have tried using futexes rather
than pthreads for thread synchronization, and if so, what the effect
was. I recent cut NimbusDB to futex primitives with a big jump in
performance.

Multi-core processors have been with us for much of a decade. Design
software with an architecture that can't use them doesn't impress me as
a really clever idea.



On 9/24/2010 3:33 AM, marius adrian popa wrote:
> nginx won over the apache threading model and here are some benchmarks
> and papers about the model
>
> http://scoop.simplyexcited.co.uk/2010/07/05/node-js-brief-overview-2/
>
> http://stackoverflow.com/questions/2583350/is-epoll-the-essential-reason-that-tornadowebor-nginx-is-so-fast
>
> http://www.slideshare.net/marcusf/nonblocking-io-event-loops-and-nodejs
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>


--
Jim Starkey
Founder, NimbusDB, Inc.
978 526-1376