Project Details
Projekt Print View

Analysing Random Walk Insertions in Cuckoo Hash Tables and Practical Filter Data Structures

Applicant Dr. Stefan Walzer
Subject Area Theoretical Computer Science
Term from 2021 to 2023
Project identifier Deutsche Forschungsgemeinschaft (DFG) - Project number 465963632
 
Final Report Year 2024

Final Report Abstract

This project had two parts: a theoretical part on hash tables and a practical part on filters. A hash table is a fundamental data structure used to store a set of key-value pairs, called elements. The challenge is to compactly place all elements in memory so that each element can be quickly retrieved using its key. The cuckoo hashing strategy assigns each key multiple positions in memory through hash functions, where an associated element may be placed and where it is searched when the key is requested. This way, whenever two keys compete for the same position, one can move to one of its alternative positions. The natural random-walk algorithm dictates that, in the event of a collision, a key chooses one of its alternative positions randomly and moves there, which can trigger a cascade of further movements. This project deepened the understanding of this random process, particularly regarding the expected number of necessary moves when inserting an element. This number remains constant under certain assumptions, i.e. it not grow with the size of the hash table. A filter represents a set of objects and is meant to decide whether a given object is in the set, answering “YES” or “NO”. The filter is allowed a small error probability: it may occasionally answer “YES” when the correct answer is “NO”, but never “NO” when the correct answer is “YES”. This relaxation allows filters to be significantly smaller and faster than exact set data structures. If the filter gives a “NO” response, it is reliable, and access to an exact data structure is unnecessary. Filters play a crucial role in efficient database systems. The project developed and fine-tuned a promising approach to designing filter data structures. The resulting ribbon filters have good theoretical properties and are considerably faster and more compact in practice than their predecessors.

Publications

 
 

Additional Information

Textvergrößerung und Kontrastanpassung