Dynamic compilation: The benefits of early investing
Prasad Kulkarni, Matthew Arnold, et al.
VEe 2007
As hardware complexity increases and virtualization is added at more layers of the execution stack, predicting the performance impact of optimizations becomes increasingly difficult. Production compilers and virtual machines invest substantial development effort in performance tuning to achieve good performance for a range of benchmarks. Although optimizations typically perform well on average, they often have unpredictable impact on running time, sometimes degrading performance significantly. Today's VMs perform sophisticated feedback-directed optimizations, but these techniques do not address performance degradations, and they actually make the situation worse by making the system more unpredictable. This paper presents an online framework for evaluating the effectiveness of optimizations, enabling an online system to automatically identify and correct performance anomalies that occur at runtime. This work opens the door for a fundamental shift in the way optimizations are developed and tuned for online systems, and may allow the body of work in offline empirical optimization search to be applied automatically at runtime. We present our implementation and evaluation of this system in a product Java VM. Copyright © 2006 ACM.
Prasad Kulkarni, Matthew Arnold, et al.
VEe 2007
Erik R. Altman, Matthew Arnold, et al.
IBM J. Res. Dev
Rachel Bellamy, Aleksandra Mojsilovic, et al.
IBM J. Res. Dev
Martin Hirzel, Johannes Henkel, et al.
ACM SIGPLAN Notices