Skip to main content

A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability

Chari, Guido and Garbervetsky, Diego and Marr, Stefan (2017) A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability. In: Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems. ECOOP European Conference on Object-Oriented Programming . ACM, New York, USA. ISBN 978-1-4503-5088-4. (doi:10.1145/3098572.3098577)

PDF - Author's Accepted Manuscript
Download (187kB) Preview
[img]
Preview
Official URL
http://dx.doi.org/10.1145/3098572.3098577

Abstract

Just-in-time compilers and their aggressive speculative optimizations reduced the performance gap between dynamic and static languages drastically. To successfully speculate, compilers rely on the program variability observed at run time to be low, and use heuristics to determine when optimization is beneficial. However, some variability patterns are hard to capture with heuristics. Specifically, ephemeral, warmup, rare, and highly indirect variability are challenges for today's compiler heuristics. As a consequence, they can lead to reduced application performance. However, these types of variability are identifiable at the application level and could be mitigated with information provided by developers. As a solution, we propose a metaobject protocol for dynamic compilation systems to enable application developers to provide such information at run time. As a proof of concept, we demonstrate performance improvements for a few scenarios in a dynamic language built on top of the Truffle and Graal system.

Item Type: Book section
DOI/Identification number: 10.1145/3098572.3098577
Subjects: Q Science > QA Mathematics (inc Computing science)
Divisions: Faculties > Sciences > School of Computing
Depositing User: Stefan Marr
Date Deposited: 08 Nov 2017 22:45 UTC
Last Modified: 24 Sep 2019 09:00 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/63812 (The current URI for this page, for reference purposes)
Marr, Stefan: https://orcid.org/0000-0001-9059-5180
  • Depositors only (login required):

Downloads

Downloads per month over past year