Sampling Optimized Code for Type Feedback
Fri 20 Nov 2020 00:00 - 00:20 at SPLASH-III - 7 Chair(s): Mihaela Sighireanu
To efficiently execute dynamically typed languages, many language implementations have adopted a two-tier architecture. The first tier aims for low-latency startup times and collects dynamic profiles, such as the dynamic types of variables. The second tier provides high-throughput using an optimizing compiler that specializes code to the recorded type information. If the program behavior changes to the point that not previously seen types occur in specialized code, that specialized code becomes invalid, it is deoptimized, and control is transferred back to the first tier execution engine which will start specializing anew. However, if the program behavior becomes more specific, for instance, if a polymorphic variable becomes monomorphic, nothing changes. Once the program is running optimized code, there are no means to notice that an opportunity for optimization has been missed.
We propose to employ a sampling-based profiler to monitor native code without any instrumentation. The absence of instrumentation means that when the profiler is not active, no overhead is incurred. We present an implementation is in the context of the \v{R} just-in-time, optimizing compiler for the R language. Based on the sampled profiles, we are able to detect when the native code produced by \v{R} is specialized for stale type feedback and recompile it to more type-specific code. We show that sampling adds an overhead of less than 3% in most cases and up to 9% in few cases and that it reliably detects stale type feedback within milliseconds.
Thu 19 NovDisplayed time zone: Central Time (US & Canada) change
11:00 - 12:20 | 7SAS / DLS 2020 at SPLASH-III +12h Chair(s): Tim Felgentreff Oracle Labs, Potsdam, Kedar Namjoshi Nokia Bell Labs | ||
11:00 20mResearch paper | Interprocedural Shape Analysis Using Separation Logic-based Transformer Summaries SAS Hugo Illous CEA & INRIA / ENS Paris, Matthieu Lemerre CEA LIST, France, Xavier Rival INRIA/CNRS/ENS Paris File Attached | ||
11:20 20mTalk | DelayRepay: Delayed Execution for Kernel Fusion in Python DLS 2020 John Magnus Morton University of Edinburgh, Kuba Kaszyk University of Edinburgh, Lu Li Linköping University, Jiawen Sun University of Edinburgh, Christophe Dubach McGill University, Michel Steuwer The University of Edinburgh, Murray Cole University of Edinburgh, UK, Michael F. P. O'Boyle University of Edinburgh Link to publication DOI Pre-print Media Attached | ||
11:40 20mResearch paper | Stratified Guarded First-order Transition Systems SAS Christian Müller Technische Universität München, Saarland University, Helmut Seidl Technische Universität München File Attached | ||
12:00 20mTalk | Sampling Optimized Code for Type Feedback DLS 2020 Olivier Flückiger Northeastern University, Andreas Wälchli University of Bern, Sebastián Krynski Czech Technical University, National University of Quilmes, Jan Vitek Northeastern University / Czech Technical University Link to publication DOI Pre-print Media Attached |
23:00 - 00:20 | |||
23:00 20mResearch paper | Interprocedural Shape Analysis Using Separation Logic-based Transformer Summaries SAS Hugo Illous CEA & INRIA / ENS Paris, Matthieu Lemerre CEA LIST, France, Xavier Rival INRIA/CNRS/ENS Paris File Attached | ||
23:20 20mTalk | DelayRepay: Delayed Execution for Kernel Fusion in Python DLS 2020 John Magnus Morton University of Edinburgh, Kuba Kaszyk University of Edinburgh, Lu Li Linköping University, Jiawen Sun University of Edinburgh, Christophe Dubach McGill University, Michel Steuwer The University of Edinburgh, Murray Cole University of Edinburgh, UK, Michael F. P. O'Boyle University of Edinburgh Link to publication DOI Pre-print Media Attached | ||
23:40 20mResearch paper | Stratified Guarded First-order Transition Systems SAS Christian Müller Technische Universität München, Saarland University, Helmut Seidl Technische Universität München File Attached | ||
00:00 20mTalk | Sampling Optimized Code for Type Feedback DLS 2020 Olivier Flückiger Northeastern University, Andreas Wälchli University of Bern, Sebastián Krynski Czech Technical University, National University of Quilmes, Jan Vitek Northeastern University / Czech Technical University Link to publication DOI Pre-print Media Attached |