Using Pin as a memory reference generator for multiprocessor simulation

  • Authors:
  • Collin McCurdy;Charles Fischer

  • Affiliations:
  • University of Wisconsin--Madison;University of Wisconsin--Madison

  • Venue:
  • ACM SIGARCH Computer Architecture News - Special issue on the 2005 workshop on binary instrumentation and application
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we describe how we have used Pin to generate a multithreaded reference stream for simulation of a multiprocessor on a uniprocessor. We have taken special care to model as accurately as possible the effects of cache coherence protocol state, and lock and barrier synchronization on the performance of multithreaded applications running on multiprocessor hardware.We first describe a simplified version of the algorithm, which uses semaphores to synchronize instrumented application threads and the simulator. We then describe modifications to that algorithm to model the microarchitectural features of the Itanium2 that affect the timing of memory reference issue. An experimental evaluation determines that, while our methods enable accurate simulation, the use of semaphores has negative impact on the performance of the simulator.