Author: Armin Rigo <[email protected]> Branch: extradoc Changeset: r5033:2737418477b4 Date: 2013-08-27 15:49 +0100 http://bitbucket.org/pypy/extradoc/changeset/2737418477b4/
Log: My talk diff --git a/talk/london-demo-session/stm.rst b/talk/london-demo-session/stm.rst new file mode 100644 --- /dev/null +++ b/talk/london-demo-session/stm.rst @@ -0,0 +1,62 @@ + +===================================== +Software Transactional Memory on PyPy +===================================== + + +Pseudo-Goal +----------- + +* "Kill the GIL" + +* GIL = Global Interpreter Lock + + +Real Goals +---------- + +* Multi-core programming + +* But *reasonable* multi-core programming + +* Using the recent model of Transactional Memory + + +PyPy-STM +-------- + +* An executable ``pypy-stm`` which uses internally + Software Transactional Memory + +* Optimistically run multiple threads in parallel + +* The only new feature is ``atomic``:: + + with atomic: + piece of code... + + +Example of higher-level API +--------------------------- + +:: + + def work(...): + ... + several more calls to: transaction.add(work, ...) + ... + + +* Starts N threads, scheduling `work()` calls to them + +* Each `work()` is done in an ``atomic`` block + +* Multi-core, but as if all the `work()` are done sequentially + + +Q&A +--- + +* Thank you! + +* Budget of $10k left, likely more needed too _______________________________________________ pypy-commit mailing list [email protected] http://mail.python.org/mailman/listinfo/pypy-commit
