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

Saved in:
Bibliographic Details
Title: The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors.
Authors: Clements, Austin T.1 (AUTHOR) aclements@csail.mit.edu, Kaashoek, M. Frans1 (AUTHOR) kaashoek@csail.mit.edu, Kohler, Eddie2 (AUTHOR) kohler@seas.harvard.edu, Morris, Robert T.1 (AUTHOR) rtm@csail.mit.edu, Zeldovich, Nickolai1 (AUTHOR) zeldovich@csail.mit.edu
Source: Communications of the ACM. Aug2017, Vol. 60 Issue 8, p83-90. 8p. 1 Diagram, 2 Graphs.
Subjects: Scalability, Computer software development, Multicore processors, Computer interfaces software, Computer interface standards
Abstract: 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. [ABSTRACT FROM AUTHOR]
Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 124418747
AccessLevel: 6
PubType: Periodical
PubTypeId: serialPeriodical
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Clements%2C+Austin+T%2E%22">Clements, Austin T.</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> aclements@csail.mit.edu</i><br /><searchLink fieldCode="AR" term="%22Kaashoek%2C+M%2E+Frans%22">Kaashoek, M. Frans</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> kaashoek@csail.mit.edu</i><br /><searchLink fieldCode="AR" term="%22Kohler%2C+Eddie%22">Kohler, Eddie</searchLink><relatesTo>2</relatesTo> (AUTHOR)<i> kohler@seas.harvard.edu</i><br /><searchLink fieldCode="AR" term="%22Morris%2C+Robert+T%2E%22">Morris, Robert T.</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> rtm@csail.mit.edu</i><br /><searchLink fieldCode="AR" term="%22Zeldovich%2C+Nickolai%22">Zeldovich, Nickolai</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> zeldovich@csail.mit.edu</i>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22Communications+of+the+ACM%22">Communications of the ACM</searchLink>. Aug2017, Vol. 60 Issue 8, p83-90. 8p. 1 Diagram, 2 Graphs.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Scalability%22">Scalability</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software+development%22">Computer software development</searchLink><br /><searchLink fieldCode="DE" term="%22Multicore+processors%22">Multicore processors</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+interfaces+software%22">Computer interfaces software</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+interface+standards%22">Computer interface standards</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of Communications of the ACM is the property of Association for Computing Machinery and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=124418747
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1145/3068914
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 8
        StartPage: 83
    Subjects:
      – SubjectFull: Scalability
        Type: general
      – SubjectFull: Computer software development
        Type: general
      – SubjectFull: Multicore processors
        Type: general
      – SubjectFull: Computer interfaces software
        Type: general
      – SubjectFull: Computer interface standards
        Type: general
    Titles:
      – TitleFull: The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Clements, Austin T.
      – PersonEntity:
          Name:
            NameFull: Kaashoek, M. Frans
      – PersonEntity:
          Name:
            NameFull: Kohler, Eddie
      – PersonEntity:
          Name:
            NameFull: Morris, Robert T.
      – PersonEntity:
          Name:
            NameFull: Zeldovich, Nickolai
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 08
              Text: Aug2017
              Type: published
              Y: 2017
          Identifiers:
            – Type: issn-print
              Value: 00010782
          Numbering:
            – Type: volume
              Value: 60
            – Type: issue
              Value: 8
          Titles:
            – TitleFull: Communications of the ACM
              Type: main
ResultId 1