History-Independent Concurrent Hash Tables

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Attiya, Hagit, Bender, Michael A., Farach-Colton, Martín, Oshman, Rotem, Schiller, Noa
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910895181922304
author Attiya, Hagit
Bender, Michael A.
Farach-Colton, Martín
Oshman, Rotem
Schiller, Noa
author_facet Attiya, Hagit
Bender, Michael A.
Farach-Colton, Martín
Oshman, Rotem
Schiller, Noa
contents A history-independent data structure does not reveal the history of operations applied to it, only its current logical state, even if its internal state is examined. This paper studies history-independent concurrent dictionaries, in particular, hash tables, and establishes inherent bounds on their space requirements. This paper shows that there is a lock-free history-independent concurrent hash table, in which each memory cell stores two elements and two bits, based on Robin Hood hashing. Our implementation is linearizable, and uses the shared memory primitive LL/SC. The expected amortized step complexity of the hash table is $O(c)$, where $c$ is an upper bound on the number of concurrent operations that access the same element, assuming the hash table is not overpopulated. We complement this positive result by showing that even if we have only two concurrent processes, no history-independent concurrent dictionary that supports sets of any size, with wait-free membership queries and obstruction-free insertions and deletions, can store only two elements of the set and a constant number of bits in each memory cell. This holds even if the step complexity of operations on the dictionary is unbounded.
format Preprint
id arxiv_https___arxiv_org_abs_2503_21016
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle History-Independent Concurrent Hash Tables
Attiya, Hagit
Bender, Michael A.
Farach-Colton, Martín
Oshman, Rotem
Schiller, Noa
Distributed, Parallel, and Cluster Computing
Data Structures and Algorithms
A history-independent data structure does not reveal the history of operations applied to it, only its current logical state, even if its internal state is examined. This paper studies history-independent concurrent dictionaries, in particular, hash tables, and establishes inherent bounds on their space requirements. This paper shows that there is a lock-free history-independent concurrent hash table, in which each memory cell stores two elements and two bits, based on Robin Hood hashing. Our implementation is linearizable, and uses the shared memory primitive LL/SC. The expected amortized step complexity of the hash table is $O(c)$, where $c$ is an upper bound on the number of concurrent operations that access the same element, assuming the hash table is not overpopulated. We complement this positive result by showing that even if we have only two concurrent processes, no history-independent concurrent dictionary that supports sets of any size, with wait-free membership queries and obstruction-free insertions and deletions, can store only two elements of the set and a constant number of bits in each memory cell. This holds even if the step complexity of operations on the dictionary is unbounded.
title History-Independent Concurrent Hash Tables
topic Distributed, Parallel, and Cluster Computing
Data Structures and Algorithms
url https://arxiv.org/abs/2503.21016