DMP: Deterministic Shared-Memory Multiprocessing
Joseph Devietti, Brandon Lucia, Luís Ceze, Mark Oskin · IEEE Micro · 2010
Shared-memory multicore and multiprocessor systems are nondeterministic, which frustrates debugging and complicates testing of multithreaded code, impeding parallel programming's widespread adoption. The authors propose fully deterministic shared-memory multiprocessing that not only enhances debugging by offering repeatability by default, but also improves the quality of testing and the deployment of production code. They show that determinism can be provided with little performance cost on future hardware.