Multi-Level Hashing with CAM Overflow for Low Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing hash table systems face inefficiencies due to hash collisions, which increase latency and require larger memory spaces, making them costly for ultra-low latency data storage and retrieval applications.
Innovation Solution
A system utilizing multiple hash tables with different hashing functions and a content addressable memory (CAM) is employed, where values are hashed multiple times to determine suitable indices for storage and retrieval, minimizing collisions by distributing indices evenly across the hash tables and using CAM as an overflow buffer.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the hash table size is reduced to lower memory cost, then memory usage decreases, but hash collisions increase causing higher latency
Solution Approach 1:
The patent divides a single large hash table into multiple smaller hash tables (e.g., 16 hash tables). Each hash table handles a portion of the data, reducing the probability of collisions within each individual table while maintaining overall low memory usage. This segmentation allows the system to achieve both memory efficiency and low latency by distributing data across multiple smaller structures.
2Loss of time
If the hash table size is increased to reduce hash collisions, then lookup latency decreases, but memory cost increases
Solution Approach 1:
The patent combines multiple small hash tables into a unified multi-level hashing structure that functions as a single logical hash table. This merging approach allows the system to achieve the collision-reduction benefits of a large hash table while using less total memory, as each small table can be more densely packed without suffering from the collisions that would occur in a single large table of the same total size.
3Productivity
If multiple hash tables are used to reduce collisions, then lookup efficiency improves, but device complexity increases
Solution Approach 1:
The patent changes the parameter of hashing by using multiple different hashing functions (e.g., different polynomial rolling hashes with varying coefficients) across the multiple hash tables. This parameter change allows the system to maintain simple hash table structures while achieving high lookup efficiency, as the different hashing parameters distribute data more evenly across the tables and reduce collisions without requiring complex data structures.
Data Source
AI summary
A system for storing and looking up values via hash table is disclosed. The system comprises multiple hash tables, each hash table being associated with a different hashing function and a content addressable memory (CAM). One or more processors receive a request to store a value; generate hashes of the value via each of the hashing functions; determine whether there exists at least one hash table that has a vacancy for the value; and if the determination is positive, insert the value in one of the at least one hash tables having the vacancy, and if the determination is negative, insert the value in the CAM. The processors also receive a request to look up a value; determine whether any of the hash tables or the CAM contain the value; and return the determination of whether the any of the plurality of hash tables or the CAM contain the value.


