A step towards transparent integration of input-consciousness into dynamic program optimizations

Kai Tian, Eddy Z. Zhang, Xipeng Shen

Research output: Contribution to journalArticle

2 Scopus citations

Abstract

Dynamic program optimizations are critical for the efficiency of applications in managed programming languages and scripting languages. Recent studies have shown that exploitation of program inputs may enhance the effectiveness of dynamic optimizations significantly. However, current solutions for enabling the exploitation require either programmers' annotations or intensive offline profiling, impairing the practical adoption of the techniques. This current work examines the basic feasibility of transparent integration of input-consciousness into dynamic program optimizations, particularly in managed execution environments. It uses transparent learning across production runs as the basic vehicle, and investigates the implications of cross-run learning on each main component of input-conscious dynamic optimizations. It proposes several techniques to address some key challenges for the transparent in-tegration, including randomized inspection-instrumentation for cross-user data collection, a sparsity-tolerant algorithm for input characterization, and selective prediction for efficiency protection. These techniques make it possible to automatically recognize the relations between the inputs to a program and the appropriate ways to optimize it. The whole process happens transparently across production runs; no need for offline profiling or programmer intervention. Experiments on a number of Java programs demonstrate the effectiveness of the techniques in enabling input-consciousness for dynamic optimizations, revealing the feasibility and potential benefits of the new optimization paradigm in some basic settings..

Original languageEnglish (US)
Pages (from-to)445-462
Number of pages18
JournalACM SIGPLAN Notices
Volume46
Issue number10
DOIs
StatePublished - Oct 1 2011
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Computer Science(all)

Keywords

  • Dynamic optimizations
  • Dynamic version selection
  • Java Virtual Machine
  • Just-In-Time Compilation
  • Proactivity
  • Program inputs
  • Seminal behaviors

Fingerprint Dive into the research topics of 'A step towards transparent integration of input-consciousness into dynamic program optimizations'. Together they form a unique fingerprint.

Cite this