English

Efficient System-Enforced Deterministic Parallelism

Operating Systems 2010-05-20 v1 Distributed, Parallel, and Cluster Computing

Abstract

Deterministic execution offers many benefits for debugging, fault tolerance, and security. Running parallel programs deterministically is usually difficult and costly, however - especially if we desire system-enforced determinism, ensuring precise repeatability of arbitrarily buggy or malicious software. Determinator is a novel operating system that enforces determinism on both multithreaded and multi-process computations. Determinator's kernel provides only single-threaded, "shared-nothing" address spaces interacting via deterministic synchronization. An untrusted user-level runtime uses distributed computing techniques to emulate familiar abstractions such as Unix processes, file systems, and shared memory multithreading. The system runs parallel applications deterministically both on multicore PCs and across nodes in a cluster. Coarse-grained parallel benchmarks perform and scale comparably to - sometimes better than - conventional systems, though determinism is costly for fine-grained parallel applications.

Keywords

Cite

@article{arxiv.1005.3450,
  title  = {Efficient System-Enforced Deterministic Parallelism},
  author = {Amittai Aviram and Shu-Chun Weng and Sen Hu and Bryan Ford},
  journal= {arXiv preprint arXiv:1005.3450},
  year   = {2010}
}

Comments

14 pages, 12 figures, 3 tables

R2 v1 2026-06-21T15:25:02.372Z