Pin - A Binary Instrumentation Tool - PinPoints

Summary

Detailed modeling of the performance of large applications is difficult. Applications can take a very long time to run on real hardware and it is impractical to simulate them to completion on modern, detailed performance models. Furthermore, some applications have complex execution environments that cannot easily be reproduced on a simulator, so properly setting up the applications to run on a variety of simulators can be difficult. The PinPoints methodology addresses these problems using the well-known SimPoint tool to determine representative portions of an application to simulate, and Pin to avoid tedious and error-prone application setup altogether. The resulting representative simulation regions, called PinPoints, can then be used for simulation and performance projection instead of simulating the entire application. This results in a drastic reduction in simulation time. Further, by using the Pin-based program-capture and deterministic replay framework called PinPlay we guarantee repeatability of PinPoints for single and multi-threaded programs.

Download

PinPoints tools/scripts are distributed with the PinPlay kit (Linux only). See one of the tutorials below for more details.

PinPoints tutorials

  1. ISCA2014
  2. HPCA2013

Related publications

  1. SimPoint : Automatically Characterizing Large Scale Program Behavior; Timothy Sherwood, Erez Perelman, Greg Hamerly and Brad Calder. In proceedings of the 10th International Conference on Architectural Support for Programming Languages and Operating Systems, October 2002.

  2. PinPoints: Pinpointing Representative Portions of Large Intel® Itanium® Programs with Dynamic Instrumentation; Patil, H., Cohn, R., Charney, M., Kapoor, R., Sun, A., and Karunanidhi, A. In Proceedings of the 37th Annual IEEE/ACM international Symposium on Microarchitecture (Portland, Oregon, December 04 - 08, 2004). [Nominated for best paper award ]

  3. PinPlay: A Framework for Deterministic Replay and Reproducible Analysis of Parallel Programs; Harish Patil, Cristiano Pereira, Mack Stallcup, Gregory Lueck, James Cownie. CGO 2010. [ CGO 2010 Best Paper Award Winner ]

     

 

For more complete information about compiler optimizations, see our Optimization Notice.