Affiliation:
1. Yale University, New Haven, CT
Abstract
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 interprocess communication primitives to make execution of all unprivileged code---well-behaved or not---precisely repeatable. Atop this microkernel, Determinator's user-level runtime 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 non-deterministic systems, both on multicore PCs and across nodes in a distributed cluster.
Funder
Office of Naval Research
Division of Computer and Network Systems
Publisher
Association for Computing Machinery (ACM)
Cited by
20 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Indigo3: A Parallel Graph Analytics Benchmark Suite for Exploring Implementation Styles and Common Bugs;ACM Transactions on Parallel Computing;2024-08-27
2. How Well Industry-Level Cause Bisection Works in Real-World: A Study on Linux Kernel;Companion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering;2024-07-10
3. Choosing the Best Parallelization and Implementation Styles for Graph Analytics Codes: Lessons Learned from 1106 Programs;Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis;2023-11-11
4. 基于重放分析的网络协议软件状态变量自动化发现技术;Frontiers of Information Technology & Electronic Engineering;2023-03
5. DIAC;ACM Transactions on Embedded Computing Systems;2020-12