Evaluation of SimPoint for Specific Architectural Studies Veynu Narasiman Aater Suleman May 3, 2005
Outline Motivation Project Goals Methodology Preliminary Results Analysis Conclusion
Motivation Architects need to know the performance improvement of a particular enhancement The sooner the better There is a need to reduce simulation time Accuracy should not be compromised SimPoint attempts to solve this problem Many architects are hesitant to use SimPoint
SimPoint Reduces the number of instructions to be simulated Divides entire application into fixed length slices and chooses the most representative slices Uses the Basic Block Execution behavior of each slice as the selection criteria Detailed information can be found at: http://www.simpoint.com
Project Goals Evaluate the accuracy of SimPoint for: Prefetching Compare actual performance improvement to that estimated using SimPoint Branch Prediction Compare the overall actual prediction rates to that estimated using SimPoint Evaluate SimPoint’s ability to capture branches that exhibit a certain kind of phase behavior
Methodology Use PIN Instrumentation tool Simulate SPECINT suite with Reference input Prefetch Tool 32KB L1-cache, 1MB L2-cache 32-byte cache line size 32-way associative caches with Round Robin Replacement Stream Prefetcher from PowerPC Measure L2-cache statistics Branch Prediction Tool GSHARE predictor with 8192-entry Pattern History Table Measure prediction statistics Slice Size: 100 million instructions
Prefetching Data
Analysis of Bzip
Branch Prediction Data
Branch Behavior do { c1 = block[i1]; c2 = block[i2]; if (c1 != c2) return (c1 > c2); s1 = quadrant[i1]; s2 = quadrant[i2]; if (s1 != s2) return (s1 > s2); i1++; i2++; .
Conclusion SimPoint reduces simulation time Prefetching Accuracy Improvement captured for applications with high hit ratios Improvement overestimated for bzip Branch Prediction Accuracy Overall branch prediction accuracy captured Individual branch phase behavior to be determined
Questions?