Authors
Joseph Devietti, Brandon Lucia, Luis Ceze, Mark Oskin
Publication date
2009/3/7
Book
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Pages
85-96
Description
Current shared memory multicore and multiprocessor systems are nondeterministic. Each time these systems execute a multithreaded application, even if supplied with the same input, they can produce a different output. This frustrates debugging and limits the ability to properly test multithreaded code, becoming a major stumbling block to the much-needed widespread adoption of parallel programming.
In this paper we make the case for fully deterministic shared memory multiprocessing (DMP). The behavior of an arbitrary multithreaded program on a DMP system is only a function of its inputs. The core idea is to make inter-thread communication fully deterministic. Previous approaches to coping with nondeterminism in multithreaded programs have focused on replay, a technique useful only for debugging. In contrast, while DMP systems are directly useful for debugging by offering repeatability by default, we argue …
Total citations
Scholar articles
J Devietti, B Lucia, L Ceze, M Oskin - Proceedings of the 14th international conference on …, 2009