@inproceedings{26bef3d9e98e44edbbb7c459f4ed02dc,
title = "RwHash: Rewritable Hash Table for Fast Network Processing with Dynamic Membership Updates",
abstract = "Hash table is one of the most fundamental and critical data structures for membership query and maintenance. However, the performance of a standard hash table degrades greatly when the hash collision is large due to high load factor or unpredictable dynamic membership updates, especially per-packet updates in network processing. In this paper, we shape a hash table from the conventional slim-and-tall style to a wide-and-short style by facilitating an extension of logical cache block. Then, a cache aware hash table (CaHash) is given and explored in detail. Based on an observation that the operation sequences may be in a potential and probabilistic successive order, especially for network applications, a rewritable hash table (RwHash) is finally proposed, which provides two rewritable policies to dynamically move elements within a bucket when updating. Theoretical analysis shows that, no matter what load factor and collision are, RwHash can achieve near-optimal performance the same as the performance when a standard hash table in the case of no collision. Real experiments show that RwHash can achieve 4.10 times speedup in some parameter and even more with different configurations than a standard hash table in the case of heavy collisions. Our approaches are elegantly practical in implementation for both software and hardware.",
keywords = "Hash Table, Membership Query, Network Algorithm",
author = "Tian Song and Yating Yang and Patrick Crowley",
note = "Publisher Copyright: {\textcopyright} 2017 IEEE.; 13th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS 2017 ; Conference date: 18-05-2017 Through 19-05-2017",
year = "2017",
month = jun,
day = "30",
doi = "10.1109/ANCS.2017.28",
language = "English",
series = "Proceedings - 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS 2017",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
pages = "142--152",
booktitle = "Proceedings - 2017 ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS 2017",
address = "United States",
}