2. @martin_grotzke
Motivation
●
Realtime webapps
●
Long running connections
●
Thread based model: limited by # threads
●
One thread per request, bound until the request is complete
●
Thread blocked by I/O, idle
●
CPU switching context
●
Servlets, Ruby on Rails, Django, PHP
3. @martin_grotzke
Solution – evented servers
●
Evented servers: single thread per CPU core
The Idea: threads are never blocked
●
All I/O is asynchronous
●
Instead of waiting, the thread can process
other requests
●
Come back when the response from the I/O
call is ready
●
Play, Node.js, Twisted