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...

Descripción completa

Detalles Bibliográficos
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