Deterministic PinPoints: Representative and Repeatable Simulation Region Selection with PinPlay and Sniper
The PinPoints and Sniper teams were really happy with the turnout for our HPCA tutorial this year. Below, you will find a copy of the tutorial slides. Please feel free to contact us anytime if there are additional questions about the content of the tutorial.
Location and Date
Organizers and Presenters
Harish Patil, Intel Corporation and Trevor E. Carlson, Ghent University.
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 a dynamic instrumentation framework called Pin to avoid tedious and error-prone application setup altogether. 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.
This tutorial is targeted at researchers and practitioners interested in simulating performance of large applications. The objective of this tutorial is to describe, in detail, the entire process of profiling large applications, finding representative regions (PinPoints) for simulation, check-pointing them, and simulating the check-points using various performance models in a popular simulator Sniper. The desired pre-requisite knowledge is a familiarity with the Pin dynamic instrumentation system.
Topics to be Covered
- Techniques for sampling for simulation (including SimPoint)
- Introduction to Pin, PinPlay, and Sniper
- Instructions for downloading Sniper and a Pin kit with PinPlay extension (the first public release of PinPlay).
- Description of the process of finding and check-pointing representative simulation regions (PinPoints).
- Modifications necessary for Pin-based simulators to read check-points for PinPoints, with a detailed walkthrough example in Sniper.
- Techniques for evaluating quality of region selection with results from Sniper-based simulations.
- Pin tutorial at CGO on February 23rd, 2013 in Shenzhen, China
- Sniper tutorial at HPCA on February 23rd, 2013 in Shenzhen, China