90 likes | 198 Views
Learn about Calpa, a tool automating dynamic compilation processes, combining program analysis and profile information for accurate annotations. Experimental results show significant improvements in performance.
E N D
Calpa: A Tool for Automating Dynamic Compilation Markus Mock, Mark Berryman, Craig Chambers, and Susan J. Eggers University of Washington
Outline • Motivation • Overview of DyC • Calpa System • Experimental Results • Conclusion • Discussion
Motivation • Run time constants • Optimizations • Constant propagation • Loop unrolling • Specialized code regions • Dynamic optimization > run-time cost
DyC: Dynamic Compiler • Annotation directed run time specialization • Manual annotation requires • Good knowledge of application run-time behavior • Run time costs? • Legal annotation? • X = 3 /* run time constant (but not really…) */
Motivation for Calpa • Manual annotation is difficult, and often becomes bottleneck • Automated annotation = Calpa
Calpa • Combines program analysis and profile information to automatically derive annotations • Cost / Benefit Model predicts effect of annotation • Implemented with SUIF
Experimental Results • Small and medium applications annotated • Instrumented program size: x 8-14 • Run time of instrumented executable: x 2 – 4 orders of magnitude (x = un-instrumented application)
Conclusion • Calpa automates annotation process for dynamic compilation • It is faster and produces better annotations than manual process
Discussion • Dynamic Compiler needs more work • Too slow for actual gains • Run time constants can boost ILP and memory prefetching • What about phase oriented optimizations?