Thumbnail
Access Restriction
Subscribed

Author Kohler, Eddie ♦ Morris, Robert T. ♦ Zeldovich, Nickolai ♦ Kaashoek, M. Frans ♦ Clements, Austin T.
Source ACM Digital Library
Content type Text
Publisher Association for Computing Machinery (ACM)
File Format PDF
Language English
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.
Description Affiliation: MIT CSAIL, Cambridge, MA (Clements, Austin T.; Kaashoek, M. Frans; Morris, Robert T.; Zeldovich, Nickolai) || Harvard University School of Engineering and Applied Sciences, Computer Science Area, Cambridge, MA (Kohler, Eddie)
Age Range 18 to 22 years ♦ above 22 year
Educational Use Research
Education Level UG and PG
Learning Resource Type Article
Publisher Date 2005-08-01
Publisher Place New York
Journal Communications of the ACM (CACM)
Volume Number 60
Issue Number 8
Page Count 8
Starting Page 83
Ending Page 90


Source: ACM Digital Library