Title :
Rerun: Exploiting Episodes for Lightweight Memory Race Recording
Author :
Hower, Derek R. ; Hill, Mark D.
Author_Institution :
Comput. Sci. Dept., Univ. of Wisconsin-Madison, Madison, WI
Abstract :
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., to 16 cores). 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.
Keywords :
data recording; deterministic algorithms; multiprocessing systems; storage management; Rerun; lightweight memory race recording; memory accesses; memory race recording; multicore computing; multiprocessor deterministic replay; Application software; Clocks; Computer architecture; Debugging; Fault tolerance; Hardware; Intrusion detection; Multicore processing; Virtual machine monitors; Yarn; Determinism; Multicore; Race Recording;
Conference_Titel :
Computer Architecture, 2008. ISCA '08. 35th International Symposium on
Conference_Location :
Beijing
Print_ISBN :
978-0-7695-3174-8
DOI :
10.1109/ISCA.2008.26