

Mio: A High-Performance Multicore IO Manager for GHC - m0nastic
http://haskell.cs.yale.edu/wp-content/uploads/2013/08/hask035-voellmy.pdf

======
schrototo
The choice quote being:

 _Our evaluations show that the new Mio manager improves realistic web server
throughput by 6.5x and reduces expected web server response time by 5.7x. We
also show that with Mio, McNettle (an SDN controller written in Haskell) can
scale effectively to 40+ cores, reach a throughput of over 20 million new
requests per second on a single machine, and hence become the fastest of all
existing SDN controllers._

~~~
mercurial
I like this one too:

 _After removing various bottlenecks in our system, SimpleServer scaled to 20
cores and serves nearly 700,000 requests per second. This workload places an
unusual burden on the Linux kernel and triggers a bug in Linux; Under such a
heavy load, the epoll subsystem occasionally does not return read events for a
socket, even though the socket has data ready, causing worker threads in
SimpleServer to wait for data indefinitely._

[...]

 _This long-standing bug affects all Linux kernels since 2.4 and a patch
fixing the issue has been accepted into the Linux kernel_

In short their "simple server" with the Mio manager was so fast that it broke
epoll :)

~~~
smosher
They didn't break epoll, epoll was straight-up broken. They just managed to
supply enough pressure to reliably trigger the bug, which is even more
impressive if you think about it.

------
meadhikari
Another discussion regarding this

[https://news.ycombinator.com/item?id=6198068](https://news.ycombinator.com/item?id=6198068)

------
mercurial
Extremely impressive. But I'm surprised by the number of Haskell threads on
the front page. Is this Haskell day?

~~~
boothead
> surprised by the number of Haskell threads

I see what you did there!

