DLS 2019
Sun 20 - Fri 25 October 2019 Athens, Greece
co-located with SPLASH 2019
Sun 20 Oct 2019 14:00 - 14:30 at Room 2A - Optimizing Computations Chair(s): Marc Feeley

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.

In a parallel VM, replicating Python’s concurrency semantics is challenging. Today, there are three parallel VMs, which use one of two approaches to address the challenges: Jython, IronPython, and PyPy-STM. These VMs use two fundamentally different approaches to synchronize parallel execution under Python’s concurrency semantics: Jython and IronPython use fine-grained locking, and PyPy-STM uses software transactional memory (STM).

The two approaches result in different performance characteristics and levels of Python compatibility for these VMs. In this paper, we report on our experience with the three parallel VMs by comparing their compatibility, performance, and scalability. The comparison shows that fine-grained locking can yield better scalability than the STM approach. However, regarding the faithful reproduction of Python’s concurrency semantics and the absolute performance, the STM approach currently has the advantage.

Sun 20 Oct
Times are displayed in time zone: Beirut change

14:00 - 15:30: Optimizing ComputationsDLS 2019 at Room 2A
Chair(s): Marc FeeleyUniversité de Montréal
14:00 - 14:30
Reflections on the Compatibility, Performance, and Scalability of Parallel PythonExperience Paper
DLS 2019
Remigius MeierETH Zurich, Switzerland, Thomas GrossETH Zurich, Switzerland
14:30 - 15:00
R Melts Brains -- An IR for First-Class Environments and Lazy Effectful ArgumentsResearch Paper
DLS 2019
Olivier FlückigerNortheastern University, Guido ChariCzech Technical University, Jan JečmenCzech Technical University, Ming-Ho YeeNortheastern University, Jakob HainNortheastern University, Jan VitekNortheastern University
Link to publication DOI Pre-print Media Attached
15:00 - 15:30
Python Programmers have GPUs too: Automatic Python Loop Parallelization with Staged Dependence AnalysisResearch Paper
DLS 2019
Dejice JacobUniversity of Glasgow, Phil TrinderUniversity of Glasgow, Jeremy SingerUniversity of Glasgow
Link to publication DOI Authorizer link