Litmus Testing CPython Without the Global Interpreter Lock
Guardado en:
| Udgivet i: | ProQuest Dissertations and Theses (2025) |
|---|---|
| Hovedforfatter: | |
| Udgivet: |
ProQuest Dissertations & Theses
|
| Fag: | |
| Online adgang: | Citation/Abstract Full Text - PDF |
| Tags: |
Ingen Tags, Vær først til at tagge denne postø!
|
MARC
| LEADER | 00000nab a2200000uu 4500 | ||
|---|---|---|---|
| 001 | 3222457934 | ||
| 003 | UK-CbPIL | ||
| 020 | |a 9798280767164 | ||
| 035 | |a 3222457934 | ||
| 045 | 2 | |b d20250101 |b d20251231 | |
| 084 | |a 66569 |2 nlm | ||
| 100 | 1 | |a Siddiqui, Ali | |
| 245 | 1 | |a Litmus Testing CPython Without the Global Interpreter Lock | |
| 260 | |b ProQuest Dissertations & Theses |c 2025 | ||
| 513 | |a Dissertation/Thesis | ||
| 520 | 3 | |a CPython’s Global Interpreter Lock (GIL) has been a long-standing performance bottleneck for the Python programming language, forcing Python threads to run one at a time and preventing real shared memory parallelism in Python programs. Recently, the Python Steering Council has accepted Python Enhancement Proposal (PEP) 703, which aims to eliminate the GIL and bring real multithreading to CPython for the first time. An experimental “free-threaded” version of CPython implementing PEP 703 is now being actively developed by the core CPython team. This thesis describes our efforts to characterize the memory model of free-threaded CPython. We argue that as a consequence of the GIL, CPython has historically enforced an extremely strong memory model, Sequential Consistency (SC), and that the implementers of PEP 703 must be careful to maintain backwards compatibility with this memory model. We use litmus tests to examine the memory consistency guarantees free-threaded CPython offers to Python programs, and we apply a simple form of mutation testing to free-threaded CPython to validate our litmus testing approach. While we find that free-threaded CPython currently preserves SC, we believe that the testing methodology we develop in this thesis can be used to ensure adherence to SC for future versions of free-threaded CPython as well.  | |
| 653 | |a Computer science | ||
| 653 | |a Computer engineering | ||
| 653 | |a Information technology | ||
| 773 | 0 | |t ProQuest Dissertations and Theses |g (2025) | |
| 786 | 0 | |d ProQuest |t ProQuest Dissertations & Theses Global | |
| 856 | 4 | 1 | |3 Citation/Abstract |u https://www.proquest.com/docview/3222457934/abstract/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch |
| 856 | 4 | 0 | |3 Full Text - PDF |u https://www.proquest.com/docview/3222457934/fulltextPDF/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch |