The Actor Model and Message Passing Implementation
Evenlet was started by Bob Ippolito and Dononvan Preston. Donovan recently mentioned that his whole initial interest in working on eventlet was digging deeply into Python coroutines, implementing an eventloop for them, and exploring lots of edge cases.
At the TSF dinner at PyCon 2012, Donovan and Glyph talked about this, and Donvoan's interest in bringing the lessons learned from eventlet back into Twisted. These lessons, though, take the form of the Actor model (in concurrent programming literature, research, and implementations) and the related Address (receiver, mailbox) model.
In other words, asynchronous message passing.
This blueprint tracks the work items that take Donovan's exploratory code and turn it into a new feature for Twisted.
Blueprint information
- Status:
- Started
- Approver:
- Glyph Lefkowitz
- Priority:
- Undefined
- Drafter:
- Duncan McGreggor
- Direction:
- Needs approval
- Assignee:
- Duncan McGreggor
- Definition:
- Drafting
- Series goal:
- None
- Implementation:
- Started
- Milestone target:
- None
- Started by
- Duncan McGreggor
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Work Items
Work items:
get code from fzZzy: DONE
create a ticket for the new feature: DONE
create a branch for the new feature: DONE
get braindump from fzZzy: DONE
rename t.p.coroutines to t.p.actor: TODO
hold IRC kickoff meeting for actor model work: DONE
create Launchpad blueprint for work: DONE
post summary of meeting to Twisted trac bug #5565: DONE
read up on actor model research: TODO
create unit tests for fzZzy's work so far: TODO
define the interfaces for this feature: TODO
explore implementing actors on top of t.i.task.Cooperator and with greenlet: TODO
plan for supporting multiple implementations: TODO
ensure that at least one implementation runs on pypy: TODO
once we have actors, all docstrings need to be examined and updated for presence/accuracy: TODO
once we have working actors, we need to think hard about how to write code that uses them: TODO
while writing code that uses actors, we need to create a thorough Twisted howto for that: TODO
we also need to have some good and fully functioning examples: TODO