Concurrent Robin Hood Hashing
Abstract
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.
Keywords
Cite
@article{arxiv.1809.04339,
title = {Concurrent Robin Hood Hashing},
author = {Robert Kelly and Barak A. Pearlmutter and Phil Maguire},
journal= {arXiv preprint arXiv:1809.04339},
year = {2018}
}
Comments
16 pages, 12 figures