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

Programming language virtual machines (VMs) realize language semantics, enforce security properties, and execute applications efficiently. Fully Reflective Execution Environments (EEs) are VMs that additionally expose their whole structure and behavior to applications. This enables develop- ers to observe and adapt VMs at run time. However, there is a belief that reflective EEs are not viable for practical usages because such flexibility would incur a high performance overhead.
To refute this belief, we built a reflective EE on top of a highly optimizing dynamic compiler. We introduced a new optimization model that, based on the conjecture that variability of low-level (EE-level) reflective behavior is low in many scenarios, mitigates the most significant sources of the performance overheads related to the reflective capabilities in the EE. Our experiments indicate that reflective EEs can reach peak performance in the order of standard VMs. Concretely, that a) if reflective mechanisms are not used the execution overhead is negligible compared to standard VMs, b) VM operations can be redefined at language-level without incurring in significant overheads, c) for several software adaptation tasks, applying the reflection at the VM level is not only lightweight in terms of engineering effort, but also competitive in terms of performance in comparison to other ad-hoc solutions.

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