The scalable commutativity rule

  • Clements A
  • Kaashoek M
  • Kohler E
  • et al.
N/ACitations
Citations of this article
45Readers
Mendeley users who have this article in their library.

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.

Cite

CITATION STYLE

APA

Clements, A. T., Kaashoek, M. F., Kohler, E., Morris, R. T., & Zeldovich, N. (2017). The scalable commutativity rule. Communications of the ACM, 60(8), 83–90. https://doi.org/10.1145/3068914

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free