A Parallel Hash Table for Streaming Applications
Hash Tables are important data structures for a wide range of data intensive applications in various domains. They offer compact storage for sparse data, but their performance has difficulties to scale with the rapidly increasing volumes of data as they typically offer a single access port. Building a hash table with multiple parallel ports either has an excessive cost in memory resources, i.e., requiring redundant copies of its contents, and/or exhibits a worst case performance of just a single port memory due to bank conflicts. This work introduces a new multi-port hash table design, called Multi Hash Table, which does not require content replication to offer conflict free parallelism. Multi Hash Table avoids conflicts among its parallel banks by (i) supporting different dynamic mappings of its hash table address to index to the banks, and by (ii) caching (and aggregating) accesses to frequently used entries. The Multi Hash Table is used for reconfigurable single sliding window stream aggregation, increasing processing throughput by 7.5 ×.
Authors
- Ioannis Sourdis (ORCID: https://orcid.org/0000-0002-0452-3664)
- Magnus Östgren (ORCID: https://orcid.org/0009-0004-0794-6779)
Institutions
- Chalmers University of Technology (SE)
Publication Details
- Published
- 2024-10-11
- DOI
- https://doi.org/10.1145/3656019.3676951
- Primary Topic
- Caching and Content Delivery
- Type
- article
- Field-Weighted Citation Impact
- 0.00