Pin - A Binary Instrumentation Tool - PinPoints

Published: 06/13/2012, Last Updated: 06/13/2012

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 BehaviorTimothy 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 ]

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804