作者: Austin T. Clements , M. Frans Kaashoek , Nickolai Zeldovich
关键词:
摘要: Software developers commonly exploit multicore processors by building multithreaded software in which all threads of an application share a single address space. This shared space has cost: kernel virtual memory operations such as handling soft page faults, growing the space, mapping files, etc. can limit scalability these applications. In widely-used operating systems, are synchronized per-process lock. paper contributes new design for increasing concurrency on exploiting read-copy-update (RCU) so that faults both run parallel with mutate same and avoid contending other cache lines. To enable parallelism, this also introduces RCU-based binary balanced tree storing mappings. An experimental evaluation using three applications shows performance improvements 80 cores ranging from 1.7x to 3.4x implementation Linux 2.6.37 kernel. The enables at constant cost number cores,suggesting will scale well beyond cores.