Keywords (tags) and Publication List
Tian, Kai; Zhang, Eddy; Shen, Xipeng A Step towards Transparent Integration of Input-Consciousness into Dynamic Program Optimizations Conference Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’11 Association for Computing Machinery, Portland, Oregon, USA, 2011, ISBN: 9781450309400. Abstract | Links | BibTeX | Tags: Dynamic optimizations, Dynamic version selection, Java virtual machine, Just-in-time compilation, Proactivity, Seminal behaviors Tian, Kai; Jiang, Yunlian; Zhang, Eddy Z; Shen, Xipeng An Input-Centric Paradigm for Program Dynamic Optimizations Conference Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA ’10 Association for Computing Machinery, Reno/Tahoe, Nevada, USA, 2010, ISBN: 9781450302036. Abstract | Links | BibTeX | Tags: Dynamic optimizations, Dynamic version selection, Java virtual machine, Just-in-time compilation, Proactivity, Seminal behaviors
2011
title = {A Step towards Transparent Integration of Input-Consciousness into Dynamic Program Optimizations},
author = {Kai Tian and Eddy Zhang and Xipeng Shen},
url = {https://doi.org/10.1145/2048066.2048103},
doi = {10.1145/2048066.2048103},
isbn = {9781450309400},
year = {2011},
date = {2011-01-01},
booktitle = {Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications},
pages = {445–462},
publisher = {Association for Computing Machinery},
address = {Portland, Oregon, USA},
series = {OOPSLA ’11},
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 integration, 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.},
keywords = {Dynamic optimizations, Dynamic version selection, Java virtual machine, Just-in-time compilation, Proactivity, Seminal behaviors},
pubstate = {published},
tppubtype = {conference}
}
2010
title = {An Input-Centric Paradigm for Program Dynamic Optimizations},
author = {Kai Tian and Yunlian Jiang and Eddy Z Zhang and Xipeng Shen},
url = {https://doi.org/10.1145/1869459.1869471},
doi = {10.1145/1869459.1869471},
isbn = {9781450302036},
year = {2010},
date = {2010-01-01},
booktitle = {Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Applications},
pages = {125–139},
publisher = {Association for Computing Machinery},
address = {Reno/Tahoe, Nevada, USA},
series = {OOPSLA ’10},
abstract = {Accurately predicting program behaviors (e.g., locality, dependency, method calling frequency) is fundamental for program optimizations and runtime adaptations. Despite decades of remarkable progress, prior studies have not systematically exploited program inputs, a deciding factor for program behaviors.Triggered by the strong and predictive correlations between program inputs and behaviors that recent studies have uncovered, this work proposes to include program inputs into the focus of program behavior analysis, cultivating a new paradigm named input-centric program behavior analysis. This new approach consists of three components, forming a three-layer pyramid. At the base is program input characterization, a component for resolving the complexity in program raw inputs and the extraction of important features. In the middle is input-behavior modeling, a component for recognizing and modeling the correlations between characterized input features and program behaviors. These two components constitute input-centric program behavior analysis, which (ideally) is able to predict the large-scope behaviors of a program’s execution as soon as the execution starts. The top layer of the pyramid is input-centric adaptation, which capitalizes on the novel opportunities that the first two components create to facilitate proactive adaptation for program optimizations.By centering on program inputs, the new approach resolves a proactivity-adaptivity dilemma inherent in previous techniques. Its benefits are demonstrated through proactive dynamic optimizations and version selection, yielding significant performance improvement on a set of Java and C programs.},
keywords = {Dynamic optimizations, Dynamic version selection, Java virtual machine, Just-in-time compilation, Proactivity, Seminal behaviors},
pubstate = {published},
tppubtype = {conference}
}