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...
| Publicado en: | Communications of the ACM Vol. 60; no. 8; pp. 83 - 91 |
|---|---|
| Autores principales: | , , , , |
| 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 |
|---|