Show simple item record

dc.contributor.authorClements, Austin T.
dc.contributor.authorKaashoek, M. Frans
dc.contributor.authorZeldovich, Nickolai
dc.contributor.authorMorris, Robert Tappan
dc.contributor.authorKohler, Edward W.
dc.date.accessioned2014-05-08T19:49:11Z
dc.date.available2014-05-08T19:49:11Z
dc.date.issued2013
dc.identifier.isbn9781450323888
dc.identifier.urihttp://hdl.handle.net/1721.1/86882
dc.description.abstractWhat 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.sponsorshipNational Science Foundation (U.S.) (NSF award SHF-964106)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF award CNS-1301934)en_US
dc.description.sponsorshipAlfred P. Sloan Foundation (Fellowship)en_US
dc.description.sponsorshipMicrosoft Research (New Faculty Fellowship)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machineryen_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2517349.2522712en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT web domainen_US
dc.titleThe scalable commutativity rule: designing scalable software for multicore processorsen_US
dc.typeArticleen_US
dc.identifier.citationClements, 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.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratoryen_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorClements, Austin T.en_US
dc.contributor.mitauthorKaashoek, M. Fransen_US
dc.contributor.mitauthorZeldovich, Nickolaien_US
dc.contributor.mitauthorMorris, Robert Tappanen_US
dc.relation.journalProceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles - SOSP '13en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsClements, Austin T.; Kaashoek, M. Frans; Zeldovich, Nickolai; Morris, Robert T.; Kohler, Eddieen_US
dc.identifier.orcidhttps://orcid.org/0000-0003-0238-2703
dc.identifier.orcidhttps://orcid.org/0000-0001-7098-586X
dc.identifier.orcidhttps://orcid.org/0000-0003-2700-9286
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record