Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The scalable commutativity rule: designing scalable software for multicore processors
Clements A., Kaashoek M., Zeldovich N., Morris R., Kohler E.  SOSP 2013 (Proceedings of the 24th ACM Symposium on Operating Systems Principles, Farminton, PA, Nov 3-6, 2013)1-17.2013.Type:Proceedings
Date Reviewed: Apr 28 2014

Connections between commutativity and concurrency are well known and well established in the computing literature. Often, commutativity is used to demonstrate the feasibility of executing instructions concurrently. Clements et al. introduce the idea of using commutativity as an interface design requirement to improve scalability. In their words, “whenever interface operations commute, they can be implemented in a way that scales.”

Concurrent operations commute if the aftermath is independent of their execution order. This means that it is not possible to tell a posteriori in which order they were executed. This is achieved by conflict-free implementation, the “holy grail” of scalability. This paper demonstrates that there are some opportunities out there for more scalable interfaces.

After presenting some definitions and proofs, the authors describe a tool for automatically developing test cases and testing if a particular implementation commutes. As an example, this tool is applied to a model of various POSIX file system and memory system calls to determine their commutativity. Those are compared and benchmarked against equivalent routines from an experimental operating system implemented according to the COMMUTE rules defined in the paper.

Though performance tradeoffs are only briefly discussed, these preliminary results look promising.

Reviewer:  Veronica Lagrange Review #: CR142222 (1407-0562)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Concurrency (D.4.1 ... )
 
 
Parallel Architectures (C.1.4 )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrency": Date
Integrated concurrency control in shared B-trees
Lausen G. Information Sciences 52(2): 2000. Type: Article
May 1 1985
Software concurrency in real-time control systems: a software nucleus
Sears K., Middleditch A. Software--Practice & Experience 15(9): 739-759, 1985. Type: Article
Jun 1 1986
Understanding concurrency in Ada
Shumate K. (ed), Intertext Pubs./McGraw-Hill Book Co., New York, NY, 1988. Type: Book (9789780070572997)
May 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy