120 likes | 209 Views
Path Profile Estimation and Superblock Formation. Jeff Pang Jimeng Sun. Motivation. Continuous Optimization Dynamic Optimization Realistic Profiles. Compile. Optimize. Run. Profile. Challenges. Automate optimization Low overhead profiling Accurate profiling. Compile. Optimize. Run.
E N D
Path Profile Estimation and Superblock Formation Jeff Pang Jimeng Sun 15-745 Spring 2005
Motivation • Continuous Optimization • Dynamic Optimization • Realistic Profiles Compile Optimize Run Profile 15-745 Spring 2005
Challenges • Automate optimization • Low overhead profiling • Accurate profiling Compile Optimize Run Sample Estimate Profile Path Profile 15-745 Spring 2005
Project Goals Superblock Formation Run with Simulated PMU • 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) Path Profile Sample Data Mining based Path Estimation 15-745 Spring 2005
Superblock Formation 15-745 Spring 2005
Project Outline instrument instrumented program • Implement PMU simulator and Superblock optimization as SUIF passes • Implement Estimator offline using sampled branch profiles and SUIF CFG source label superblock c2dil optimized program path profile Offline estimator 15-745 Spring 2005
Completed instrument instrumented program • PMU Simulation: modified HALT profiling lib • Initial offline estimator (?) source label superblock c2dil optimized program path profile Offline estimator 15-745 Spring 2005
Initial Results 15-745 Spring 2005
Todo instrument instrumented program • Superblock SUIF pass • Have c2dil build hyperblocks using superblocks • Refine path estimation heuristics source label superblock c2dil optimized program path profile Offline estimator 15-745 Spring 2005
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 15-745 Spring 2005
Extra Slides 15-745 Spring 2005
Related Work • Shye, et al. 2005 • 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. 2003 • Used PMU partial path sampling to dynamically form hot traces • Used to adapt to dynamic phase transitions 15-745 Spring 2005