Dynamic look ahead compilation: A technique to hide jit compilation latencies in multicore environment

Simone Campanoni*, Martino Sykora, Giovanni Agosta, Stefano Crespi Reghizzi

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

14 Scopus citations

Abstract

Object-code virtualization, commonly used to achieve software portability, relies on a virtual execution environment, typically comprising an interpreter used for initial execution of methods, and a JIT for native code generation. The availability of multiple processors on current architectures makes it attractive to perform dynamic compilation in parallel with application execution. The major issue is to decide at runtime which methods to compile ahead of execution, and how much time to invest in their optimization. This research introduces an abstract model, termed Dynamic Look Ahead (DLA) compilation, which represents the available information on method calls and computational weight as a weighted graph. The graph dynamically evolves as computation proceeds. The model is then instantiated by specifying criteria for adaptively choosing the method compilation order. The DLA approach has been applied within our dynamic compiler for .NET. Experimental results are reported and analyzed, for both synthetic programs and benchmarks. The main finding is that a careful choice of method-selection criteria, based on light-weight program analysis and execution tracing, is essential to mask compilation times and to achieve higher overall performances. On multi-processors, the DLA approach is expected to challenge the traditional virtualization environments based on bytecode interpretation and JITing, thus bridging the gap between ahead-of-time and just-in-time translation.

Original languageEnglish (US)
Title of host publicationCompiler Construction - 18th International Conference, CC 2009 - Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009, Proceedings
Pages220-235
Number of pages16
DOIs
StatePublished - 2009
Event18th International Conference on Compiler Construction, CC 2009. Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009 - York, United Kingdom
Duration: Mar 22 2009Mar 29 2009

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume5501 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other18th International Conference on Compiler Construction, CC 2009. Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Country/TerritoryUnited Kingdom
CityYork
Period3/22/093/29/09

Funding

This work is supported in part by the European Commission under Framework Programme 7, OpenMedia Platform project.

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science

Fingerprint

Dive into the research topics of 'Dynamic look ahead compilation: A technique to hide jit compilation latencies in multicore environment'. Together they form a unique fingerprint.

Cite this