[Stackless] Invitation to Present at PyCon 2007

Jeff Rush jeff at taupro.com
Tue Oct 31 19:22:33 CET 2006

Andrew Dalke wrote:
> Richard Tew:
>> On 10/31/06, Andrew Dalke <dalke at dalkescientific.com> wrote:
> How's this for an abstract?
> Stackless Python is modified version of CPython with support for
> tasklets; also called microthreads, fibers or green threads.  Tasklets
> are an additional way to implement multithreading but with much
> lower overhead than system threads.  They take fewer system resources
> so a Stackless environment may have tens of thousands of active tasklets
> instead of at most a few hundred threads.  Context switching and
> inter-tasklet communication via "channels" are fast, making Stackless
> a useful platform for developing dense multitasking systems.
> The talk is meant for a intermediate level Python programmer who
> had heard about Stackless and wants to know why and when people
> use it.  I will cover the basics of the Stackless API: starting
> tasklets, exchanging data and participating in its default
> collaborative scheduler.  I'll show how to implement a standard
> boss/worker architecture then expand that to handle a simulation
> environment with a UI interface.  I'll demonstrate how to use
> Stackless and an asynchronous I/O library to emulate blocking
> function calls so that existing blocking code works with Stackless'
> default collaborative scheduler.

I've been reading this thread and would like to put in my two cents as a PyCon 
organizer (and the PSF Advocacy Coordinator).

Stackless is a cool technology whose name is generally know, but most consider 
it to be of academic interest because they don't understand the *benefits*. 
PyCon is not an academic conference, so a "what is new since last year" kind 
of talk, while interesting to existing Stackless developers, isn't going to 
reach out and bring in new adopters, which Stackless very much needs to do.

The abstract above is good - totally avoid presenting on *how* Stackless is 
implemented (it's only a 30-min timeslot after all), but focus on *why* 
Stackless is useful.  In particular center the presentation by first 
identifying problems that Stackless is good for.  I've seen talks, on other 
topics, where the speaker couldn't identify a benefit of his tech, used 
examples with objects given meaningless names like A and B, but oh man was it 
cool to play with.  The audience oohed and awed, talked about it for a few 
days, and forgot about it.

Here in Dallas in the Python users group, the topic of Stackless is brought up 
every 2-3 meetings.  I keep trying to get members who are excited to give a 
mini-talk on it, to help the rest of us come up to speed.  But they always shy 
away, saying Stackless can only be presented by a Python guru, that it is too 
advanced for them to explain it to others.

So focus on the benefits, show how Stackless addresses them, come up with a 
good example you can use throughout the talk, don't bother delving into the 
darker parts of Stackess, don't try to cover the full range of the API.  Get 
them excited enough to explore further.

Oh and be prepared to answer certain expected questions.  I'm now hearing 
people say that Stackless is irrelevant now, with the release of Python 2.5. 
The additional of bidirectional generations (yield as an expression instead of 
a statement) means we can do lightweight cotasking without the use of 
Stackless.  I'm sure there is more to it, but that is the talk on the street 
that needs to be addressed.

On other matters, I think it would be popular if a certain kind of Stackless 
sprint was held at PyCon -- not one focused on extending the Stackless 
implemention, as much fun as that is, but instead that of defining a project, 
perhaps a simple 'core wars' type of game, and helping the attendees use 
Stackless to develop their solution.  I'd be willing to help organize such an 

Anyway, that's what I'd like to see.  I think Stackless is really neat and 
wish it got more coverage.

While the talk submission deadline is today, there is still plenty of time 
before PyCon to refine the content of the talk itself.  Toward that goal, I've 
set up an outline on a con wiki page, linked to from the TX2007/TalkIdeas wiki 
page, for people to post questions and topics they'd like to see addressed.



P.S. I wish the PyPy community was doing something like this as well.  I 
emailed them but there have been no replies.  PyPy is another of those cool 
but misunderstood technologies that could use some "what problem does it 
solve" kind of talks.

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list