Difference between revisions of "Tutorial:HPCA 2013 PinPoints"

From Sniper
Jump to navigation Jump to search
Line 13: Line 13:
 
==Abstract==
 
==Abstract==
  
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 [http://cseweb.ucsd.edu/~calder/simpoint/ SimPoint] tool to determine representative portions of an application to simulate, and a dynamic instrumentation framework called [http://www.pintool.org 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.
+
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 [http://cseweb.ucsd.edu/~calder/simpoint/ SimPoint] tool to determine representative portions of an application to simulate, and a dynamic instrumentation framework called [http://www.pintool.org Pin] to avoid tedious and error-prone application setup altogether. Further, by using the Pin-based program-capture and deterministic replay framework called [http://www.pinplay.org 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 [http://www.snipersim.org Sniper]. The desired pre-requisite knowledge is a familiarity with the Pin dynamic instrumentation system.
 
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 [http://www.snipersim.org Sniper]. The desired pre-requisite knowledge is a familiarity with the Pin dynamic instrumentation system.

Revision as of 00:07, 12 February 2013


Deterministic PinPoints: Representative and Repeatable Simulation Region Selection with PinPlay and Sniper

Location and Date

We will give a tutorial on PinPoints at HPCA 2013 in Shenzhen, China. The tutorial is scheduled for the afternoon of Saturday, February 23.

Organizers and Presenters

Harish Patil, Intel Corporation and Trevor E. Carlson, Ghent University.

Abstract

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.

Related Tutorials