Spring Path Profile Estimation and Superblock Formation Jeff Pang Jimeng Sun
Spring Motivation Continuous Optimization Dynamic Optimization Realistic Profiles OptimizeCompileRun Profile
Spring Challenges Automate optimization Low overhead profiling Accurate profiling OptimizeCompileRun ProfilePath Profile Sample Estimate
Spring Project Goals Simulate performance monitoring unit –Like in Pentium 4, Itanium, PPC 970, etc. –Allows sampling of last couple branches Estimate full path profile using samples –Leverage data mining techniques similar to PageRank Validate by doing Superblock formation –Powerful optimization to improve scheduling (especially on VLIW processors) Superblock Formation Run with Simulated PMU Path ProfileSample Data Mining based Path Estimation
Spring Superblock Formation
Spring Project Outline Implement PMU simulator and Superblock optimization as SUIF passes Implement Estimator offline using sampled branch profiles and SUIF CFG sourcelabel instrument c2dil instrumented program superblock optimized program Offline estimator path profile
Spring Completed PMU Simulation: modified HALT profiling lib Initial offline estimator (?) sourcelabel instrument c2dil instrumented program superblock optimized program Offline estimator path profile
Spring Initial Results
Spring Todo Superblock SUIF pass –Have c2dil build hyperblocks using superblocks Refine path estimation heuristics sourcelabel instrument c2dil instrumented program superblock optimized program Offline estimator path profile
Spring Questions or Comments? Anyone have a good scheduler from Assignment 2? –Better scheduler = better comparison of superblock scheduling performance The HALT lib maybe useful –If you need to uniquely label branches, basic blocks, loads, stores, etc. –Insert instrumentation at those points
Spring Extra Slides
Spring Related Work Shye, et al –Used heuristics to rebuild path profiles using PMU partial path samples –Achieved 80-99% path accuracy with <5% overhead –Did not evaluate impact on optimizations Chen, et al –Used PMU partial path sampling to dynamically form hot traces –Used to adapt to dynamic phase transitions