Abstract
Concurrent data structures synchronized with locks do not scale well with the number of threads. As more scalable alternatives, concurrent data structures and algorithms based on widely available, however advanced, atomic operations have been proposed. These data structures allow for correct and concurrent operations without any locks. In this paper, we present a new fully lock-free open addressed hash table with a simpler design than prior published work. We split hash table insertions into two atomic phases: first inserting a value ignoring other concurrent operations, then in the second phase resolve any duplicate or conflicting values.
Our hash table has a constant and low memory usage that is less than existing lock-free hash tables at a fill level of 33% and above. The hash table exhibits good cache locality. Compared to prior art, our hash table results in 16% and 15% fewer L1 and L2 cache misses respectively, leading to 21% fewer memory stall cycles. Our experiments show that our hash table scales close to linearly with the number of threads and outperforms, in throughput, other lock-free hash tables by 19%
Our hash table has a constant and low memory usage that is less than existing lock-free hash tables at a fill level of 33% and above. The hash table exhibits good cache locality. Compared to prior art, our hash table results in 16% and 15% fewer L1 and L2 cache misses respectively, leading to 21% fewer memory stall cycles. Our experiments show that our hash table scales close to linearly with the number of threads and outperforms, in throughput, other lock-free hash tables by 19%
Original language | English |
---|---|
Title of host publication | Proceedings of the 21st ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming |
Number of pages | 2 |
Publisher | Association for Computing Machinery |
Publication date | 2016 |
Pages | 1-2 |
Article number | 33 |
ISBN (Print) | 978-1-4503-4092-2 |
DOIs | |
Publication status | Published - 2016 |
Event | ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming - Barcelona, Spain Duration: 12 Mar 2016 → 16 Mar 2016 |
Conference
Conference | ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming |
---|---|
Country/Territory | Spain |
City | Barcelona |
Period | 12/03/2016 → 16/03/2016 |
Series | ACM SIGPLAN Notices |
---|---|
ISSN | 0362-1340 |