The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors.

Developing software that scales on multicore processors is an inexact science dominated by guesswork, measurement, and expensive cycles of redesign and reimplementation. Current approaches are workload-driven and, hence, can reveal scalability bottlenecks only for known workloads and available softw...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 60; no. 8; pp. 83 - 91
Autores principales: Clements, Austin T., Kaashoek, M. Frans, Kohler, Eddie, Morris, Robert T., Zeldovich, Nickolai
Formato: Artículo
Publicado: Association for Computing Machinery Aug2017
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=124418747&site=ehost-live
header:
  @attributes:
    shortDbName: hlh
    uiTerm: 124418747
    longDbName: Humanities International Complete
    uiTag: AN
  controlInfo:
    bkinfo:
    jinfo:
      jid:
        00010782
        ACM
      jtl: Communications of the ACM
      issn: 00010782
      maglogo: N
    pubinfo:
      dt: Aug2017
      vid: 60
      iid: 8
      pid: 68
      pub: Association for Computing Machinery
    artinfo:
      ui:
        124418747
        10.1145/3068914
      ppf: 83
      ppct: 8
      formats:
      tig:
        atl: The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors.
      aug:
        au:
          Clements, Austin T.
          Kaashoek, M. Frans
          Kohler, Eddie
          Morris, Robert T.
          Zeldovich, Nickolai
        affil:
          MIT CSAIL, Cambridge, MA.
          Harvard University School of Engineering and Applied Sciences, Computer Science Area, Cambridge, MA.
      su:
        Scalability
        Computer software development
        Multicore processors
        Computer interfaces software
        Computer interface standards
      sug:
        subj:
          Scalability
          Computer software development
          Multicore processors
          Computer interfaces software
          Computer interface standards
      ab: Developing software that scales on multicore processors is an inexact science dominated by guesswork, measurement, and expensive cycles of redesign and reimplementation. Current approaches are workload-driven and, hence, can reveal scalability bottlenecks only for known workloads and available software and hardware. This paper introduces an interface-driven approach to building scalable software. This approach is based on the scalable commutativity rule, which, informally stated, says that whenever interface operations commute, they can be implemented in a way that scales. We formalize this rule and prove it correct for any machine on which conflict-free operations scale, such as current cache-coherent multicore machines. The rule also enables a better design process for scalable software: programmers can now reason about scalability from the earliest stages of interface definition through software design, implementation, and evaluation.
      pubtype: Periodical
      doctype: Article
      src: R
    language: English
    refInfo:
    copyright:
      @attributes:
        flag: Y
      dt:
        @attributes:
          year: 2017
    holdings:
      @attributes:
        islocal: N