Saved in:
Bibliographic Details
Main Authors: Katsarakis, Antonios, Gavrielatos, Vasilis, Ntarmos, Nikos
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2406.09986
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913391267807232
author Katsarakis, Antonios
Gavrielatos, Vasilis
Ntarmos, Nikos
author_facet Katsarakis, Antonios
Gavrielatos, Vasilis
Ntarmos, Nikos
contents This paper presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
format Preprint
id arxiv_https___arxiv_org_abs_2406_09986
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle DLHT: A Non-blocking Resizable Hashtable with Fast Deletes and Memory-awareness
Katsarakis, Antonios
Gavrielatos, Vasilis
Ntarmos, Nikos
Databases
This paper presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
title DLHT: A Non-blocking Resizable Hashtable with Fast Deletes and Memory-awareness
topic Databases
url https://arxiv.org/abs/2406.09986