Hash Table Compaction via Bitmap Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hash tables face performance issues due to hash collisions, which are unavoidable when hashing a random subset of keys, leading to increased collision rates and inefficient data retrieval as the table fills beyond a certain capacity, necessitating trade-offs between fill factor and collision rate.

Innovation Solution

The method involves creating a sparsely populated hash table with a low fill factor, compacting it by removing empty buckets, and using a bitmap array to mark occupied buckets, allowing for efficient data access by linear probing in a compacted hash table that fits within a Level 1 cache, thereby reducing collisions and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the hash table is sparsely populated with a low fill factor, then hash collisions are reduced, but memory usage increases

Engineering Contradiction:
Improvecollision rateVSAvoidmemory usage
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent extracts and removes empty buckets from the hash table, creating a compacted structure that eliminates wasted space. This allows the hash table to maintain a high fill factor without increasing collision rates, as the compaction reindexes remaining elements to consecutive positions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the fill factor parameter from a low value to a high value through compaction. By reorganizing the hash table to eliminate gaps, the system can operate at near 100% fill factor while maintaining low collision rates through the use of virtual bucket indices.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If the hash table is compacted to remove empty buckets, then memory usage decreases, but access complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidaccess complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a virtual bucket index as an intermediary layer between the hash function and the physical compacted array. This virtual index translates hash values to correct positions in the compacted structure, maintaining O(1) access complexity while enabling compaction.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If the hash table operates at higher fill factors, then memory efficiency improves, but collision rates increase

Engineering Contradiction:
Improvememory efficiencyVSAvoidcollision rate
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the hash table into virtual buckets that are then compacted into a dense physical structure. This segmentation approach allows the system to maintain logical bucket boundaries for hashing while physically compacting the storage to eliminate empty space, achieving both high fill factor and low collision rates.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9317548B2Reducing collisions within a hash table
Publication Date: 2016.04.19 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9317548B2 patent drawing
  • US9317548B2 patent drawing
  • US9317548B2 patent drawing

AI summary

Collisions in hash tables are reduced by removing each empty bucket from a hash table and compacting the non-empty buckets, generating a map of the hash table indicating a status of the buckets of the hash table, and accessing data in the hash table by applying a hash key to the generated map to determine a corresponding bucket containing the data.