NLock: A Scalable Lock for NUMA Architectures
摘要
The widespread adoption of multi-core processors necessitates advanced concurrent programming techniques to fully harness hardware concurrency. In modern multi-socket server systems, memory access latency depends on the physical proximity between processing cores and memory locations. Non-Uniform Memory Access (NUMA) architectures exhibit such behavior, where accessing local memory is faster than accessing remote memory. This architectural characteristic introduces synchronization challenges in multi-threaded applications, due to remote memory access overhead. This paper introduces a novel mutual exclusion mechanism designed specifically for NUMA architectures, named NLock. NLock features unique queues for threads operating on individual NUMA nodes, enhancing local data access and reducing latency. We detail the algorithms that govern the