Concurrent Robin Hood Hashing

09/12/2018
by   Robert Kelly, et al.
0

In this paper we examine the issues involved in adding concurrency to the Robin Hood hash table algorithm. We present a non-blocking obstruction-free K-CAS Robin Hood algorithm which requires only a single word compare-and-swap primitive, thus making it highly portable. The implementation maintains the attractive properties of the original Robin Hood structure, such as a low expected probe length, capability to operate effectively under a high load factor and good cache locality, all of which are essential for high performance on modern computer architectures. We compare our data structures to various other lock-free and concurrent algorithms, as well as a simple hardware transactional variant, and show that our implementation performs better across a number of contexts.

READ FULL TEXT
research
11/08/2019

Lock-Free Hopscotch Hashing

In this paper we present a lock-free version of Hopscotch Hashing. Hopsc...
research
12/27/2017

Analysis of Concurrent Lock-Free Hash Tries with Constant-Time Operations

Ctrie is a scalable concurrent non-blocking dictionary data structure, w...
research
04/20/2022

An Efficient Wait-free Resizable Hash Table

This paper presents an efficient wait-free resizable hash table. To achi...
research
09/02/2019

Efficient Lock-Free Durable Sets

Non-volatile memory is expected to co-exist or replace DRAM in upcoming ...
research
05/20/2021

Fast Nonblocking Persistence for Concurrent Data Structures

We present a fully lock-free variant of the recent Montage system for pe...
research
11/05/2019

A Wait-Free Universal Construct for Large Objects

Concurrency has been a subject of study for more than 50 years. Still, m...
research
12/27/2022

Practically and Theoretically Efficient Garbage Collection for Multiversioning

Multiversioning is widely used in databases, transactional memory, and c...

Please sign up or login with your details

Forgot password? Click here to reset