Overview
Explore the cutting-edge world of Transactional Memory in PyPy through this 42-minute conference talk from EuroPython 2014. Dive deep into Armin Rigo's presentation on using multiple cores effectively, focusing on the experimental implementation of Transactional Memory in PyPy. Learn about the potential of this novel approach to multithreading, which promises inherent safety without limitations to specific use cases. Discover the inner workings of PyPy's Transactional Memory system, including its ability to scale with multiple CPUs and its low single-threaded overhead. Gain insights into the progress of PyPy-STM, including performance metrics and live demonstrations. Understand the implications for the future of multi-threaded programming in high-level languages like Python, and explore the possibility of implementing similar approaches in CPython. The talk covers key topics such as the Global Interpreter Lock (GIL), fine-grained locking, shared-nothing architectures, and the PyPy-STM programming model, providing a comprehensive overview of this groundbreaking technology in Python implementation.
Syllabus
Introduction
Why is there a GIL?
Consequences (-)
Removing the GIL
Fine-grained locking
Shared-nothing
Transactional Memory
How does it work?
Long Transactions
Demo
PyPy-STM Programming Model
PyPy-STM status
Summary: Benefits
Summary: Issues
Summary: PyPy-STM
Taught by
EuroPython Conference