[Stackless] Invitation to Present at PyCon 2007
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