Black-box Concurrent Data Structures for NUMA Architectures
Black-box Concurrent Data Structures for NUMA Architectures
复制标题
DOI:
10.1145/3037697.3037721
复制
发表时间:
2017-04
期刊:
影响因子:
--
通讯作者:
I. Calciu;S. Sen;M. Balakrishnan;M. Aguilera
中科院分区:
文献类型:
--
作者:
I. Calciu;S. Sen;M. Balakrishnan;M. Aguilera
High-performance servers are Non-Uniform Memory Access (NUMA) machines. To fully leverage these machines, programmers need efficient concurrent data structures that are aware of the NUMA performance artifacts. We propose Node Replication (NR), a black-box approach to obtaining such data structures. NR takes an arbitrary sequential data structure and automatically transforms it into a NUMA-aware concurrent data structure satisfying linearizability. Using NR requires no expertise in concurrent data structure design, and the result is free of concurrency bugs. NR draws ideas from two disciplines: shared-memory algorithms and distributed systems. Briefly, NR implements a NUMA-aware shared log, and then uses the log to replicate data structures consistently across NUMA nodes. NR is best suited for contended data structures, where it can outperform lock-free algorithms by 3.1x, and lock-based solutions by 30x. To show the benefits of NR to a real application, we apply NR to the data structures of Redis, an in-memory storage system. The result outperforms other methods by up to 14x. The cost of NR is additional memory for its log and replicas.