Fearless Concurrency in PythonVIMPL Keynote
Python is evolving to support true parallelism under the moniker ”free-threaded Python". If Python programmers embrace this parallelism, data races are likely to become a major problem for Python code.
This talk is about an on-going attempt of making concurrency in Python data-race free by retrofitting the ownership models and concurrency models from the Verona programming language project onto Python. There are many challenges involved in this, including the fact that Verona’s ownership model is realised through Reggio, a static type system, whereas Python is dynamically type-checked and interpreted. Inspired by Reggio, we created Lungfish, a dynamically checked region-based ownership model and implemented it in FrankenScript, a toy programming language, that we built for prototyping language designs. FrankenScript generates heap graphs as output which was crucial for communicating efficiently with the Faster CPython core team, over a period of 2 years, as we refined Lungfish to become sufficiently Pythonic.
The talk will explain the challenges of supporting concurrency in the Python interpreter, how Lungfish can simplify concurrency both from the perspective of the CPython implementation and from the perspective of Python programs, and how it interacts with on-going efforts of making Python free-threaded.
Tue 3 JunDisplayed time zone: Belgrade, Bratislava, Budapest, Ljubljana, Prague change
13:30 - 15:00 | |||
13:30 90mKeynote | Fearless Concurrency in PythonVIMPL Keynote VIMPL Tobias Wrigstad Uppsala University |