Show simple item record

dc.contributor.authorClements, Austin T.
dc.contributor.authorKaashoek, M. Frans
dc.contributor.authorZeldovich, Nickolai
dc.date.accessioned2012-09-17T17:23:07Z
dc.date.available2012-09-17T17:23:07Z
dc.date.issued2012-03
dc.identifier.isbn978-1-4503-0759-8
dc.identifier.urihttp://hdl.handle.net/1721.1/73006
dc.description.abstractSoftware developers commonly exploit multicore processors by building multithreaded software in which all threads of an application share a single address space. This shared address space has a cost: kernel virtual memory operations such as handling soft page faults, growing the address space, mapping files, etc. can limit the scalability of these applications. In widely-used operating systems, all of these operations are synchronized by a single per-process lock. This paper contributes a new design for increasing the concurrency of kernel operations on a shared address space by exploiting read-copy-update (RCU) so that soft page faults can both run in parallel with operations that mutate the same address space and avoid contending with other page faults on shared cache lines. To enable such parallelism, this paper also introduces an RCU-based binary balanced tree for storing memory mappings. An experimental evaluation using three multithreaded applications shows performance improvements on 80 cores ranging from 1.7x to 3.4x for an implementation of this design in the Linux 2.6.37 kernel. The RCU-based binary tree enables soft page faults to run at a constant cost with an increasing number of cores,suggesting that the design will scale well beyond 80 cores.en_US
dc.description.sponsorshipQuanta Computer (Firm)en_US
dc.description.sponsorshipNational Science Foundation (U.S.). (Award 0834415)en_US
dc.description.sponsorshipNational Science Foundation (U.S.). (Award 0915164)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2189750.2150998en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alike 3.0en_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/3.0/en_US
dc.sourceMIT web domainen_US
dc.titleScalable Address Spaces Using Rcu Balanced Treesen_US
dc.typeArticleen_US
dc.identifier.citationAustin T. Clements, M. Frans Kaashoek, and Nickolai Zeldovich. 2012. Scalable address spaces using RCU balanced trees. In Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '12). ACM, New York, NY, USA, 199-210.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.approverKaashoek, M. Frans
dc.contributor.mitauthorClements, Austin T.
dc.contributor.mitauthorKaashoek, M. Frans
dc.contributor.mitauthorZeldovich, Nickolai
dc.relation.journalProceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '12)en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
dspace.orderedauthorsClements, Austin T.; Kaashoek, M. Frans; Zeldovich, Nickolaien
dc.identifier.orcidhttps://orcid.org/0000-0003-0238-2703
dc.identifier.orcidhttps://orcid.org/0000-0001-7098-586X
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