arrow
Return

Efficient System-Enforced Deterministic Parallelism

delete2012-05-01
delete24
delete
OA
AI
A
Amittai Aviram *
S
Shu-Chun Weng
S
Sen Hu
B
Bryan Ford
DOI:10.1145/2160718.2160742delete
deleteOriginal
deleteShare
deleteSave
View PDF
Abstract

Abstract

En 中文
Deterministic execution offers many benefits for debugging, fault tolerance, and security. Current methods of executing parallel programs deterministically, however, often incur high costs, allow misbehaved software to defeat repeatability, and transform time-dependent races into input- or path-dependent races without eliminating them. We introduce a new parallel programming model addressing these issues, and use Determinator, a proof-of-concept OS, to demonstrate the model's practicality. Determinator's microkernel application programming interface (API) provides only shared-nothing address spaces and deterministic inter-process communication primitives to make execution of all unprivileged code-well-behaved or not-precisely repeatable. Atop this microkernel, Determinator's user-level run-time offers a private workspace model for both thread-level and process-level parallel programming. This model avoids the introduction of read/write data races, and converts write/write races into reliably detected conflicts. Coarse-grained parallel benchmarks perform and scale comparably to nondeterministic systems, both on multicore PCs and across nodes in a distributed cluster.
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

Communications of the ACM cover
Communications of the ACM
IF:
12.2
Papers:
1.2W
Citations:
3.7W

Organization

Y
Yale University
Scholars:
6.5W
Papers: 6.0W
Citations: 10.0W