This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
2008 International Symposium on Computer Architecture
Rerun: Exploiting Episodes for Lightweight Memory Race Recording
June 21-June 25
ISBN: 978-0-7695-3174-8
Multiprocessor deterministic replay has many potential uses in the era of multicore computing, including enhanced debugging, fault tolerance, and intrusion detection. While sources of nondeterminism in a uniprocessor can be recorded efficiently in software, it seems likely that hardware support will be needed in a multiprocessor environment where the outcome of memory races must also be recorded.We develop a memory race recording mechanism, called Rerun, that uses small hardware state (~166 bytes/core), writes a small race log (~4 bytes/kilo- instruction), and operates well as the number of cores per system scales (e.g., to16cores). Rerun exploits the dual of conventional wisdom in race recording: Rather than record information about individual memory accesses that conflict, we record how long a thread executes without conflicting with other threads. In particular, Rerun passively creates atomic episodes.??Each episode is a dynamic instruction sequence that a thread happens to execute without interacting with other threads. Rerun uses Lamport Clocks to order episodes and enable replay of an equivalent execution.
Index Terms:
Multicore, Determinism, Race Recording
Citation:
Derek R. Hower, Mark D. Hill, "Rerun: Exploiting Episodes for Lightweight Memory Race Recording," isca, pp.265-276, 2008 International Symposium on Computer Architecture, 2008
Usage of this product signifies your acceptance of the Terms of Use.