Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
462735 | Microprocessors and Microsystems | 2012 | 10 Pages |
Memory race recording is a key technology to replay multithreaded programming deterministically. Modern computers supply efficient communication mechanism and memory races occur frequently. So it is significant to develop an efficient memory race recording algorithm with low log growth rate and rapid replay speed. This paper proposes a new efficient point-to-point memory race recording algorithm, called CCTR, which writes a small race log with small hardware state, operates well as the number of cores per system scales, and can replay multithreaded programs at production run speed. CCTR uses a new relative indirect dependency to present each memory race instead of its precise dependency. In this dependency, CCTR need not store any timestamp for each memory block and detects memory races in chunks. Through simulation on 4-core chip multiprocessor (CMP), a good result is achieved which includes smallest log growth rate (∼5 bytes per thousand memory instructions), small hardware state (∼504 bytes per core), low runtime overhead (less than 2%), low bandwidth overhead (∼7%) and good scalability.