kirancodes.me
To Proof Maintenance & Beyond!

Reflections on the compatibility, performance, and scalability of parallel Python

Remigius Meier, Thomas R. Gross

Abstract

Today's hardware is increasingly parallel, and to increase performance, applications must be able to use this parallelism. Hence, programming languages must provide the means for parallel execution. The language Python offers a multithreading, shared-memory model for concurrency. However, simultaneous execution of threads, i.e., parallel execution, is not a standard feature of current virtual machines (VM) for Python. Instead, the predominant Python VMs depend on a global interpreter lock, which serializes the execution.

Related papers