z-logo
open-access-imgOpen Access
Using Pin as a Memory Reference Generator for Multiprocessor Simulation
Author(s) -
C McCurdy
Publication year - 2005
Language(s) - English
Resource type - Reports
DOI - 10.2172/886014
Subject(s) - uniprocessor system , computer science , semaphore , multiprocessing , parallel computing , cache coherence , synchronization (alternating current) , multithreading , cache , embedded system , thread (computing) , cpu cache , operating system , cache algorithms , computer network , channel (broadcasting)
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 on every memory reference. 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 cycle-accurate multithreaded simulation is possible using our approach, the use of semaphores has a negative impact on the performance of the simulator

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here