DLS 2016
Tue 1 Nov 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Tue 1 Nov 2016 13:30 - 13:55 at Matterhorn 1 - Session 3 Chair(s): Laurence Tratt

The RPython framework takes an interpreter for a dynamic language as its input
and produces a Virtual Machine~(VM) for that language. RPython is being used
to develop PyPy, a high-performance Python interpreter. However, the produced
VM does not support parallel execution since the framework relies on a Global
Interpreter Lock~(GIL): PyPy serialises the execution of multi-threaded Python
programs.

We describe the rationale and design of a new parallel execution model for RPython that
allows the generation of parallel virtual machines while leaving the language semantics
unchanged. This model then allows different implementations of concurrency control, and
we discuss an implementation based on a GIL and an implementation based on
Software Transactional Memory~(STM).

To evaluate the benefits of either choice, we adapt PyPy to work with both
implementations (GIL and STM). The evaluation shows that PyPy with STM improves the
runtime of a set of multi-threaded Python programs over PyPy with a GIL by
factors in the range of $1.87\times$ up to $5.96\times$ when
executing on a processor with 8 cores.

Tue 1 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Session 3DLS at Matterhorn 1
Chair(s): Laurence Tratt King's College London
13:30
25m
Talk
Parallel Virtual Machines with RPython
DLS
Remigius Meier ETH Zurich, Switzerland, Armin Rigo PyPy.org, Switzerland, Thomas Gross ETH Zurich
DOI
13:55
25m
Talk
Building Efficient and Highly Run-Time Adaptable Virtual Machines
DLS
Guido Chari University of Buenos Aires, Argentina, Diego Garbervetsky University of Buenos Aires, Argentina, Stefan Marr Johannes Kepler University Linz
DOI Pre-print
14:20
25m
Talk
Efficiently Implementing the Copy Semantics of MATLAB's Arrays in JavaScript
DLS
Vincent Foley-Bourgon McGill University, Canada, Laurie Hendren McGill University, Canada
DOI
14:45
25m
Talk
Optimizing R Language Execution via Aggressive Speculation
DLS
Lukas Stadler Oracle Labs, Austria, Adam Welc Oracle Labs, USA, Christian Humer Oracle Labs, Switzerland, Mick Jordan Oracle Labs, USA
DOI