TY - GEN
T1 - A step towards transparent integration of input-consciousness into dynamic program optimizations
AU - Tian, Kai
AU - Zhang, Eddy Z.
AU - Shen, Xipeng
PY - 2011
Y1 - 2011
N2 - 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 en- vironments. 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 au- tomatically 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. Copyright is held by the author / owner(s).
AB - 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 en- vironments. 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 au- tomatically 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. Copyright is held by the author / owner(s).
KW - Dynamic optimizations
KW - Dynamic version selection
KW - Java virtual machine
KW - Just-in-time compilation
KW - Proactivity
KW - Program inputs
KW - Seminal behaviors
UR - http://www.scopus.com/inward/record.url?scp=81455141858&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=81455141858&partnerID=8YFLogxK
U2 - 10.1145/2048066.2048103
DO - 10.1145/2048066.2048103
M3 - Conference contribution
AN - SCOPUS:81455141858
SN - 9781450309400
T3 - Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, OOPSLA
SP - 445
EP - 462
BT - OOPSLA'11 - Proceedings of the 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications
T2 - 2011 ACM International Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA'11
Y2 - 22 October 2011 through 27 October 2011
ER -