90 likes | 188 Views
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
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?