

Why Events Are A Bad Idea (for high-concurrency servers) - dblock
http://www.usenix.org/events/hotos03/tech/full_papers/vonbehren/vonbehren_html/index.html

======
zik
I thought it was strange that in the '“Problems” with Threads' section they
didn't even mention testability - which is the number 1 problem we have in
trying to create high-reliability systems with threads.

I work in embedded systems which run unattended for months at a time so they
have to be reliable. The interactions between threads can create all sorts of
unexpected race conditions which are very hard to predict. And if you can't
assure repeatable behavior you can't properly test a system. On the basis of
testability alone we avoid threads.

~~~
cakoose
This paper uses cooperatively scheduled threads (i.e. no preemption or
concurrent execution of threads), which means you don't have to deal with
synchronization.

------
kenjackson
Worth pointing out that one of the authors, Eric Brewer, is now part of the
effort to design Google's next generation infrastructure:

<http://twitter.com/#!/eric_brewer/status/68051541063503872>

~~~
beagle3
And while we're at it - he is much better known for the CAP theorem:
<http://en.wikipedia.org/wiki/CAP_theorem>

------
wmf
We just had this yesterday: <http://news.ycombinator.com/item?id=2907415>

~~~
dblock
sorry, i was hoping NH would find a dup if it were already there! :(

------
colin_jack
He also tweeted this in relation to it:

<http://twitter.com/#!/eric_brewer/status/105160325824917504>

Its a response to <http://twitter.com/#!/ericflo/status/104972704016379904>.

