DLHT: A Non-blocking Resizable Hashtable with Fast Deletes and Memory-awareness
Antonios Katsarakis, Vasilis Gavrielatos, Nikos Ntarmos

TL;DR
DLHT introduces a lock-free, memory-aware closed-addressing hashtable that achieves high throughput and fast deletes by minimizing memory accesses and enabling non-blocking resizing, outperforming existing designs.
Contribution
It proposes a novel non-blocking, memory-aware closed-addressing design with fast deletes and parallel resizing, surpassing state-of-the-art hashtables in performance.
Findings
Over 1.6 billion requests per second on a commodity server.
DLHT achieves 3.5x throughput over state-of-the-art closed-addressing hashtables.
Provides 12x throughput improvement over open-addressing designs.
Abstract
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,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsMultimedia Communication and Technology · Personal Information Management and User Behavior · Caching and Content Delivery
