Brussels / 1 & 2 February 2014


Using All These Cores: Transactional Memory under the hood (PyPy)

A picture of how the future of multi-threaded programming might looks like, for high-level languages like Python.

PyPy, the Python implementation written in Python, has grown an experimental branch playing with Transactional Memory (TM). The strength of TM is to enable a novel use of multithreading, inheritently safe, but not limited to special use cases like other approaches. We have played with a lot of variants of STM (Software-only) in PyPy, and based on this experience I can give the strong points of the currently pursued variant. In particular it should have overheads much smaller than the typical "2x", and it would be possible to expand it to Hybrid TM (using the hardware support in recent Intel CPUs).


Armin Rigo