PinPoints: Simulation Region Selection with PinPlay and Sniper

When: Sunday, June 15, 2014 (morning)
Where: At ISCA in Minneapolis, MN, USA.

 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. 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.

This tutorial is targeted at researchers and practitioners interested in simulating performance of large applications. The format will be lecture with some demonstrations. 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 Pin-based 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 (NEW: link added).

·         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 Sniper as an example.

·         Techniques for evaluating and improving the quality of region selection using Sniper’ cache-only mode.

Subpages (2): Downloading Tools Slides