Analyse von Random-Walk Einfügungen in Cuckoo-Hashtabellen und praxisnahe Filter-Datenstrukturen
Zusammenfassung der Projektergebnisse
Dieses Projekt hatte zwei Teile. Einen theoretischen Teil zu Hashtabellen und einen praktischen Teil zu Filtern. Eine Hashtabelle ist eine grundlegende Datenstruktur zur Speicherung einer Menge von Schlüssel-Wert Paaren, die wir Elemente nennen. Die Herausforderung ist es, alle Elemente kompakt im Speicher zu platzieren, sodass jedes Element anhand seines Schlüssels schnell wiedergefunden werden kann. Die Cuckoohashing Strategie weist jedem Schlüssel über Hashfunktionen mehrere Positionen im Speicher zu, an der ein zugehöriges Element platziert werden darf und wo bei Anfrage des Schlüssels gesucht wird. Wenn zwei Schlüsseln um die gleiche Position konkurrieren, kann so einer von beiden auf eine seiner Alternativpositionen ausweichen. Der naheliegende Random-Walk Algorithmus sieht vor, dass ein Schlüssel im Kollisionsfall eine seiner Alternativpositionen zufällig wählt und dorthin ausweicht, was eine Kaskade weiterer Ausweichbewegungen nach sich ziehen kann. Dieses Projekt hat das Verständnis dieses Zufallsprozesses vertieft, insbesondere was die erwartete Anzahl nötiger Ausweichbewegungen beim Einfügen eines Elements angeht. Diese Anzahl ist unter gewissen Annahmen konstant, wächst also nicht mit der Größe der Hashtabelle. Ein Filter repräsentiert eine Menge von Objekten und hat zur Aufgabe, bei Anfrage eines Objektes zu entscheiden, ob es in der Menge enthalten ist, er antwortet also „JA“ oder „NEIN“. Dem Filter wird hierbei eine kleine Irrtumswahrscheinlichkeit zugestanden: Er darf gelegentlich „JA“ antworten, wenn die korrekte Antwort „NEIN“ ist, aber niemals „NEIN“, wenn die korrekte Antwort „JA“ ist. Durch diese Relaxierung können Filter erheblich kleiner und schneller sein als exakte Mengendatenstrukturen. Liefert der Filter eine „NEIN“-Antwort, so ist diese zuverlässig und ein Zugriff auf eine exakte Datenstruktur ist nicht nötig. Filter haben eine zentrale Rolle in effizienten Datenbanksystemen. Im Projekt wurde ein vielversprechender Ansatz zum Design von Filterdatenstrukturen ausgestaltet und feinoptimiert. Die resultierenden Ribbonfilter haben gute theoretische Eigenschaft und sind in der Praxis erheblich schneller und kompakter als seine Vorläufer.
Projektbezogene Publikationen (Auswahl)
-
“Ribbon filter: practically smaller than Bloom and Xor”. In: CoRR abs/2103.02515 (2021).
Peter C. Dillinger & Stefan Walzer
-
“Fast Succinct Retrieval and Approximate Membership Using Ribbon”. In: 20th SEA. 2022.
Peter C. Dillinger, Lorenz Hübschle-Schneider, Peter Sanders & Stefan Walzer
-
“Insertion Time of Random Walk Cuckoo Hashing below the Peeling Threshold”. In: 30th ESA. 2022.
Stefan Walzer
-
Lightweight Acquisition and Ranging of Flows in the Data Plane. Proceedings of the ACM on Measurement and Analysis of Computing Systems, 7(3), 1-24.
Monterubbiano, Andrea; Langlet, Jonatan; Walzer, Stefan; Antichi, Gianni; Reviriego, Pedro & Pontarelli, Salvatore
-
On the Privacy of Counting Bloom Filters Under a Black-Box Attacker. IEEE Transactions on Dependable and Secure Computing, 20(5), 4434-4440.
Galán, Sergio; Reviriego, Pedro; Walzer, Stefan; Sánchez-Macian, Alfonso; Liu, Shanshan & Lombardi, Fabrizio
-
On the Privacy of Counting Bloom Filters. IEEE Transactions on Dependable and Secure Computing, 20(2), 1488-1499.
Reviriego, Pedro; Sánchez-Macian, Alfonso; Walzer, Stefan; Merino-Gómez, Elena; Liu, Shanshan & Lombardi, Fabrizio
-
SicHash - Small Irregular Cuckoo Tables for Perfect Hashing. 2023 Proceedings of the Symposium on Algorithm Engineering and Experiments (ALENEX), 176-189. Society for Industrial and Applied Mathematics.
Lehmann, Hans-Peter; Sanders, Peter & Walzer, Stefan
-
Simple Set Sketching. Symposium on Simplicity in Algorithms (SOSA), 228-241. Society for Industrial and Applied Mathematics.
Bæk, Tejs Houen Jakob; Pagh, Rasmus & Walzer, Stefan
-
“What if we tried Less Power? Lessons from studying the power of choices in hashing-based data structures”. In: Bull. EATCS 140 (2023).
Stefan Walzer
-
ShockHash: Towards Optimal-Space Minimal Perfect Hashing Beyond Brute-Force. 2024 Proceedings of the Symposium on Algorithm Engineering and Experiments (ALENEX), 194-206. Society for Industrial and Applied Mathematics.
Lehmann, Hans-Peter; Sanders, Peter & Walzer, Stefan
