Efficient System-Enforced Deterministic Parallelism.
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-depe...
| Publicado en: | Communications of the ACM Vol. 55; no. 5; pp. 111 - 120 |
|---|---|
| Formato: | Artículo |
| Publicado: |
Association for Computing Machinery
May2012
|
| Materias: | |
| Acceso en línea: | Ver este registro en EBSCOhost |
| fields | @attributes: recordID: 1 pdfLink: plink: https://search.ebscohost.com/login.aspx?direct=true&db=hlh&AN=74715575&site=ehost-live header: @attributes: shortDbName: hlh uiTerm: 74715575 longDbName: Humanities International Complete uiTag: AN controlInfo: bkinfo: jinfo: jid: 00010782 ACM jtl: Communications of the ACM issn: 00010782 maglogo: N pubinfo: dt: May2012 vid: 55 iid: 5 pid: 68 pub: Association for Computing Machinery artinfo: ui: 74715575 10.1145/2160718.2160742 ppf: 111 ppct: 9 formats: tig: atl: Efficient System-Enforced Deterministic Parallelism. aug: su: Deterministic algorithms Parallel algorithms Debugging Fault-tolerant computing Computer software Computer operating systems Application program interfaces sug: subj: Deterministic algorithms Parallel algorithms Debugging Fault-tolerant computing Computer software Computer operating systems Application program interfaces ab: 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 nondeterministic systems, both on multicore PCs and across nodes in a distributed cluster. pubtype: Periodical doctype: Article src: R language: English refInfo: copyright: @attributes: flag: Y dt: @attributes: year: 2012 holdings: @attributes: islocal: N |
|---|