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 Specialized code regions 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?