Title
Scalable Numa-Aware Blocking Synchronization Primitives
Abstract
Application scalability is a critical aspect to efficiently use NUMA machines with many cores. To achieve that, various techniques ranging from task placement to data sharding are used in practice. However, from the perspective of an operating system, these techniques often do not work as expected because various subsystems in the OS interact and share data structures among themselves, resulting in scalability bottlenecks. Although current OSes attempt to tackle this problem by introducing a wide range of synchronization primitives such as spinlock and mutex, the widely used synchronization mechanisms are not designed to handle both under- and over-subscribed scenarios in a scalable fashion. In particular, the current blocking synchronization primitives that are designed to address both scenarios are NUMA oblivious, meaning that they suffer from cache-line contention in an under subscribed situation, and even worse, inherently spur long scheduler intervention, which leads to sub-optimal performance in an over-subscribed situation.In this work, we present several design choices to implement scalable blocking synchronization primitives that can address both under- and over-subscribed scenarios. Such design decisions include memory-efficient NUMA-aware locks (favorable for deployment) and scheduling aware, scalable parking and wake-up strategies. To validate our design choices, we implement two new blocking synchronization primitives, which are variants of mutex and read-write semaphore in the Linux kernel. Our evaluation shows that these locks can scale real-world applications by 1.2-1.6x and some of the file system operations up to 4.7x in both under- and over-subscribed scenarios. Moreover, they use 1.5-10x less memory than the state-of-the-art NUMA-aware locks on a 120-core machine.
Year
Venue
Field
2017
2017 USENIX ANNUAL TECHNICAL CONFERENCE (USENIX ATC '17)
Synchronization,Computer science,Parallel computing,Scalability
DocType
Citations 
PageRank 
Conference
2
0.40
References 
Authors
13
3
Name
Order
Citations
PageRank
Sanidhya Kashyap112410.92
Changwoo Min229429.89
Taesoo Kim380951.85