Presentation is loading. Please wait.

Presentation is loading. Please wait.

The PinPoints Toolkit for Finding Representative Regions of Large Programs Harish Patil Platform Technology & Architecture Development Enterprise Platform.

Similar presentations


Presentation on theme: "The PinPoints Toolkit for Finding Representative Regions of Large Programs Harish Patil Platform Technology & Architecture Development Enterprise Platform."— Presentation transcript:

1 The PinPoints Toolkit for Finding Representative Regions of Large Programs Harish Patil Platform Technology & Architecture Development Enterprise Platform Group Intel Corporation Presented as part of the Pin tutorial at ASPLOS 2004, Boston, MA 10/09/2004

2 ASPLOS’042PinPoints People PinPoints: Harish Patil, Robert Cohn, Mark Charney, Andrew Sun, Rajiv Kapoor, Anand Karunanidhi Pin: Robert Cohn, Artur Klauser, Geoff Lowney, CK Luk, Robert Muth, Harish Patil,Vijay Janapa Reddi, Steven Wallace Acknowledgements: Brad Calder, Michael Greenfield, Geoff Lowney, Joel Emer, Chris Weaver, Michael Adler, Kim Hazelwood, James Vash, Ram Ramanujam, Roger Golliver, Timothy Prince, Allan Knies, Youngsoo Choi, Nechama Katan, Chris Gianos, Hideki Saito, Mahesh Madhav …

3 ASPLOS’043PinPoints Representative Regions of Programs –Automatically chosen –Validated ( represent whole-program behavior) –For Trace-driven or Execution-driven Simulation Pin (Intel) : http://rogue.colorado.edu/Pin + SimPoint (UCSD) http://www.cse.ucsd.edu/~calder/simpoint/ FFound/Validated PinPoints for long running (trillions of instructions) programs [IPF & x86]

4 ASPLOS’044PinPoints Outline Of the Talk Why PinPoints ? PinPoints methodology: How to find and validate representative regions for simulation Reference: Paper in MICRO-37: “Pinpointing Representative Portions of Large Intel® Itanium® Programs with Dynamic Instrumentation”, Patil et al. http://rogue.colorado.edu/Pin/links.php PinPoints [download]

5 ASPLOS’045PinPoints Motivation: Simulating Large Programs Problem: Whole-program simulation is very slow (can take months) Solution: Find representative simulation points – Programs have phases: random/blind selection may miss them –SimPoint approach: Find phases using basic block profile: one simulation point (PinPoint) per phase FPinPoints : < 1% of program execution –Capture whole-program behavior

6 ASPLOS’046PinPoints Motivation: Simulating Large Programs (continued) Problem: Porting programs to simulators is often not practical –license issues –extra resources (disks etc.) Solution: Drive simulation from native environment –Run under Pin FPin runs programs “out-of-the-box” (no porting required)

7 ASPLOS’047PinPoints The PinPoints Methodology isimpoint : Generate Dynamic Basic Block Profile SimPoint Tools: Analyze Basic Block Profile to find phases Scripts: Generate PinPoints files PinPoints file H/W counters-based Validation Sample Counters Match? Whole Program Weighted Sum for PinPoints Phase Detection + PinPoint Selection Trace Generation/Simulation

8 ASPLOS’048PinPoints Phases in gzip’s Execution Performance (IPC) Energy used per interval Instruction cache misses Data cache misses 2 nd level cache misses Branch misprediction Instructions

9 ASPLOS’049PinPoints SimPoint: You are what you execute Goal - track behavior of a program –Behavior caused by the path through code How - Track the code that is executing –Detect changes and similarities in code Basic Block Distribution Analysis –Generate and compare Code Signatures

10 ASPLOS’0410PinPoints Basic-Block Distribution Analysis B C A D E 3 2 3 1 1 A B C D E

11 ASPLOS’0411PinPoints Basic-Block Distribution Analysis B C A D E A B C D E 3 1 3 1 2 2 2 2 2 0 Capture using isimpoint Compare vectors Group similar vectors in clusters Choose one PinPoint per cluster

12 ASPLOS’0412PinPoints Phase Detection + PinPoint Selection PinPoint 1: Weight 30% PinPoint 2: Weight 70% pinpoints.pp 3503518 …… 123504232 …… Profiles(vectors) for Program Slices (100 Million Instructions each) 1210224232… … Profile with isimpoint Analyze with SimPoint

13 ASPLOS’0413PinPoints PinPoints Generated for Some Programs (Commercial and SPEC2000) Program# Retired Instructions (billions) # Slices (250 million insts.) # PinPoints AMBER-rt3994159756 Fluent-m32625104998 LS-DYNA4932197296 SPECINT1425674 SPECFP37314915 PinPoints : < 1% of program execution

14 ASPLOS’0414PinPoints PinPoints: Validation Do PinPoints capture whole-program behavior? Whole-Program CPI: Actual-CPI Predict using CPI for PinPoints: Predicted-CPI Predicted-CPI =  Weight i * CPI i % Delta = (Actual-CPI – Predicted-CPI)*100/ (Actual-CPI) Do they work across micro-architectures? –Predict performance on different configurations with the same binary/PinPoints : Compare with actual performance

15 ASPLOS’0415PinPoints Predicting Whole-program CPI with PinPoints (Itanium 2: 1.3 GHz)

16 ASPLOS’0416PinPoints Predicting Whole-program CPI with PinPoints (Pentium 4: 2.8 GHz)

17 ASPLOS’0417PinPoints Predicting Whole-program L2 Misses with PinPoints (Itanium 2: 900 MHz)

18 ASPLOS’0418PinPoints Speedup Prediction with PinPoints (Itanium 1, 2 varying Frequency) F Same binaries / Same set of PinPoints : Different Microarchitectures

19 ASPLOS’0419PinPoints Relevant Pin Tools isimpoint : generates basic block vectors in a format suitable for SimPoint analysis controller : allows fast-forwarding till a region of interest is reached Specifying a region of interest: –Skip N instructions –Specific code address + Count –PinPoints file + PinPoint number Available as “class CONTROL” in a Pin kit

20 ASPLOS’0420PinPoints Summary Finding simulation points : The Pin Advantage No special compiler/link flags or porting required Allows analysis of programs as they run PinPoints : < 1% of program execution Predict whole-program behavior Work across microarchitectures

21 ASPLOS’0421PinPoints Resources Timothy Sherwood, Erez Perelman, Greg Hamerly and Brad Calder. “Automatically Characterizing Large Scale Program Behavior” ASPLOS’02 SimPoint toolkit http://www-cse.ucsd.edu/~calder/simpoint/ Harish Patil, Robert Cohn, Mark Charney, Rajiv Kapoor, Andrew Sun, and Anand Karunanidhi. “Pinpointing Representative Portions of Large Intel Itanium Programs with Dynamic Instrumentation” MICRO-37(2004). PinPoints toolkit: To be released soon (available upon request)


Download ppt "The PinPoints Toolkit for Finding Representative Regions of Large Programs Harish Patil Platform Technology & Architecture Development Enterprise Platform."

Similar presentations


Ads by Google