dc.contributor.author | Clements, Austin T. | |
dc.contributor.author | Kaashoek, M. Frans | |
dc.contributor.author | Zeldovich, Nickolai | |
dc.contributor.author | Morris, Robert Tappan | |
dc.contributor.author | Kohler, Edward W. | |
dc.date.accessioned | 2014-05-08T19:49:11Z | |
dc.date.available | 2014-05-08T19:49:11Z | |
dc.date.issued | 2013 | |
dc.identifier.isbn | 9781450323888 | |
dc.identifier.uri | http://hdl.handle.net/1721.1/86882 | |
dc.description.abstract | What fundamental opportunities for scalability are latent in interfaces, such as system call APIs? Can scalability opportunities be identified even before any implementation exists, simply by considering interface specifications? To answer these questions this paper introduces the following rule: Whenever interface operations commute, they can be implemented in a way that scales. This rule aids developers in building more scalable software starting from interface design and carrying on through implementation, testing, and evaluation.
To help developers apply the rule, a new tool named Commuter accepts high-level interface models and generates tests of operations that commute and hence could scale. Using these tests, Commuter can evaluate the scalability of an implementation. We apply Commuter to 18 POSIX calls and use the results to guide the implementation of a new research operating system kernel called sv6. Linux scales for 68% of the 13,664 tests generated by Commuter for these calls, and Commuter finds many problems that have been observed to limit application scalability. sv6 scales for 99% of the tests. | en_US |
dc.description.sponsorship | National Science Foundation (U.S.) (NSF award SHF-964106) | en_US |
dc.description.sponsorship | National Science Foundation (U.S.) (NSF award CNS-1301934) | en_US |
dc.description.sponsorship | Alfred P. Sloan Foundation (Fellowship) | en_US |
dc.description.sponsorship | Microsoft Research (New Faculty Fellowship) | en_US |
dc.language.iso | en_US | |
dc.publisher | Association for Computing Machinery | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1145/2517349.2522712 | en_US |
dc.rights | Creative Commons Attribution-Noncommercial-Share Alike | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | en_US |
dc.source | MIT web domain | en_US |
dc.title | The scalable commutativity rule: designing scalable software for multicore processors | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Clements, Austin T., M. Frans Kaashoek, Nickolai Zeldovich, Robert T. Morris, and Eddie Kohler. “The Scalable Commutativity Rule: designing scalable software for multicore processors.” Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles - SOSP ’13 (2013). Nov. 3–6, 2013, Farmington, Pennsylvania, USA. p.2-17. | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
dc.contributor.mitauthor | Clements, Austin T. | en_US |
dc.contributor.mitauthor | Kaashoek, M. Frans | en_US |
dc.contributor.mitauthor | Zeldovich, Nickolai | en_US |
dc.contributor.mitauthor | Morris, Robert Tappan | en_US |
dc.relation.journal | Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles - SOSP '13 | en_US |
dc.eprint.version | Author's final manuscript | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
dspace.orderedauthors | Clements, Austin T.; Kaashoek, M. Frans; Zeldovich, Nickolai; Morris, Robert T.; Kohler, Eddie | en_US |
dc.identifier.orcid | https://orcid.org/0000-0003-0238-2703 | |
dc.identifier.orcid | https://orcid.org/0000-0001-7098-586X | |
dc.identifier.orcid | https://orcid.org/0000-0003-2700-9286 | |
mit.license | OPEN_ACCESS_POLICY | en_US |
mit.metadata.status | Complete | |