The scalable commutativity rule : designing scalable software for multicore processors
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014.
Main Author: | |
---|---|
Other Authors: | |
Format: | Thesis |
Language: | eng |
Published: |
Massachusetts Institute of Technology
2014
|
Subjects: | |
Online Access: | http://hdl.handle.net/1721.1/91041 |
_version_ | 1826196097543962624 |
---|---|
author | Clements, Austin T |
author2 | M. Frans Kaashoek and Nickolai Zeldovich. |
author_facet | M. Frans Kaashoek and Nickolai Zeldovich. Clements, Austin T |
author_sort | Clements, Austin T |
collection | MIT |
description | Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014. |
first_indexed | 2024-09-23T10:21:08Z |
format | Thesis |
id | mit-1721.1/91041 |
institution | Massachusetts Institute of Technology |
language | eng |
last_indexed | 2024-09-23T10:21:08Z |
publishDate | 2014 |
publisher | Massachusetts Institute of Technology |
record_format | dspace |
spelling | mit-1721.1/910412019-04-10T22:21:29Z The scalable commutativity rule : designing scalable software for multicore processors Clements, Austin T M. Frans Kaashoek and Nickolai Zeldovich. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science. Electrical Engineering and Computer Science. Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2014. This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections. 68 Cataloged from student-submitted PDF version of thesis. Includes bibliographical references (pages 91-95). What fundamental opportunities for multicore scalability are latent in software 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 dissertation introduces the scalable commutativity rule: Whenever interface operations commute, they can be implemented in a way that scales.This rule aids developers in building scalable multicore software starting with interface design and carrying on through implementation, testing, and evaluation. This dissertation formalizes the scalable commutativity rule and defines a novel form of commutativity named SIM commutativity that makes it possible to fruitfully apply the rule to complex and highly stateful software interfaces. To help developers apply the rule, this dissertation introduces an automated method embodied in a new tool named Commuter, which accepts high-level interface models, generates tests of operations that commute and hence could scale, and uses these tests to systematically evaluate the scalability of implementations.We apply Commuter to a model of 18 POSIX file and virtual memory system operations. Using the resulting 26,238 scalability tests, Commuter systematically pinpoints many problems in the Linux kernel that past work has observed to limit application scalability and identifies previously unknown bottlenecks that may be triggered by future hardware or workloads. Finally, this dissertation applies the scalable commutativity rule and Commuter to the design and implementation of a new POSIX-like operating system named sv6. sv6's novel file and virtual memory system designs enable it to scale for 99% of the tests generated by Commuter.These results translate to linear scalability on an 80-core x86 machine for applications built on sv6's commutative operations. by Austin T. Clements. Ph. D. 2014-10-21T16:20:50Z 2014-10-21T16:20:50Z 2014 2014 Thesis http://hdl.handle.net/1721.1/91041 893125222 eng M.I.T. theses are protected by copyright. They may be viewed from this source for any purpose, but reproduction or distribution in any format is prohibited without written permission. See provided URL for inquiries about permission. http://dspace.mit.edu/handle/1721.1/7582 95 pages application/pdf Massachusetts Institute of Technology |
spellingShingle | Electrical Engineering and Computer Science. Clements, Austin T The scalable commutativity rule : designing scalable software for multicore processors |
title | The scalable commutativity rule : designing scalable software for multicore processors |
title_full | The scalable commutativity rule : designing scalable software for multicore processors |
title_fullStr | The scalable commutativity rule : designing scalable software for multicore processors |
title_full_unstemmed | The scalable commutativity rule : designing scalable software for multicore processors |
title_short | The scalable commutativity rule : designing scalable software for multicore processors |
title_sort | scalable commutativity rule designing scalable software for multicore processors |
topic | Electrical Engineering and Computer Science. |
url | http://hdl.handle.net/1721.1/91041 |
work_keys_str_mv | AT clementsaustint thescalablecommutativityruledesigningscalablesoftwareformulticoreprocessors AT clementsaustint scalablecommutativityruledesigningscalablesoftwareformulticoreprocessors |