Sciweavers

ASPLOS
2012
ACM

Scalable address spaces using RCU balanced trees

12 years 8 months ago
Scalable address spaces using RCU balanced trees
Software 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
Austin T. Clements, M. Frans Kaashoek, Nickolai Ze
Added 20 Apr 2012
Updated 20 Apr 2012
Type Journal
Year 2012
Where ASPLOS
Authors Austin T. Clements, M. Frans Kaashoek, Nickolai Zeldovich
Comments (0)