[Twisted-Python] PDF I thought may be of interest

Michael ms at cerenity.org
Tue Dec 9 17:06:36 EST 2008


Hi,


I came across this livejournal entry today:
   * http://four.livejournal.com/934085.html

Which has this link:
http://s3.amazonaws.com/four.livejournal/20081209/threads-hotos-2003.pdf

.. which is a paper by Rob von Behren, Jeremy Condit and Eric Brewer. I 
personally raised an eyebrow when I saw that because Eric Brewer was the CTO 
of Inktomi, who back the had a very highly scaleable network system called 
Traffic Server amongst other things (I worked at Inktomi between 2000 & 2002, 
which is why I recognised the name).

Traffic Server's architecture was in many respects reactor based, and in many 
respects it's architecture and twisted's architecture weren't *massively* 
different. OK, TS was written in C++, and twisted is python, but a reactor 
approach is still a reactor approach.

Specifically I found this part particularly surprising:

Abstract
    Event-based programming has been highly touted in recent years as the best
    way to write highly concurrent applications. Having worked on several of
    these systems, we now believe this approach to be a mistake. Specifically,
    we believe that threads can achieve all of the strengths of events,
    including support for high concurrency, low overhead, and a simple
    concurrency model.

The paper appears to be 5 years old already, so the impact of this paper
appears minimal, but I thought it may be of interest to others. (The reason it 
raised such a surprise for me is because it would be as surprising to me as 
it would be to read of any of the core twisted devs to suddenly come out in 
favour of a threading approach rather than non-threading!)

Looking slightly below the surface of things, it appears to be advocating 
something more like stackless's tasklets, rather than OS level threads (since 
it makes reference near the end to Erlang's threading model).

Either why, hopefully interesting :)

Regards,


Michael
-- 
http://yeoldeclue.com/blog





More information about the Twisted-Python mailing list