PNS Lock: A Portable NUMA-Aware Lock with a Standard Interface

Brahmaiah Gandham, Praveen Alapati · 2024

In shared memory programming, there is a need for synchronization primitives that are suitable for modern hardware to achieve high performance and reduce contention. This paper introduces a novel lock with a standard interface, namely, the PNS Lock. It is a lock for Non-Uniform Memory Access (NUMA) architectures and uses one queue for each NUMA node. PNS lock uses atomic operation for lock handovers between NUMA nodes. This design helps to get better performance by minimizing cross-node communication and contention. PNS lock intelligently adapts to the underlying system topology. This paper discusses the design of a PNS lock and compares it's performance by considering the state-of-the-art synchronization objects. PNS lock also provides a standard interface and ensures seamless integration with existing multi-threaded applications. From the experimental evaluation, it is observed that PNS lock helps to enhance the performance and increases the cache hit rate. This synchronization primitive, PNS lock is a great tool for the developers in NUMA environments.

Read the paper · More papers on PaperTik