Virtual Buckets for Hash Table Entry Distribution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Legacy hash table implementations experience decreased insertion performance as buckets become filled, leading to longer lookup times due to uneven distribution of entries across buckets, with some buckets becoming excessively full while others remain empty.

Innovation Solution

The introduction of virtual buckets allows for rebalancing of hash table entries at insertion time, moving entries from full buckets to less full ones, thereby maintaining performance and reducing the maximum number of entries in any bucket through O(1) operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If entries are inserted into a fixed number of buckets in a legacy hash table, then the hash table structure remains simple, but the performance degrades as buckets become excessively full leading to longer lookup times

Engineering Contradiction:
Improveinsertion performanceVSAvoidlookup time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides the hash table into multiple levels: top-level buckets that contain arrays of sub-buckets. This segmentation allows entries to be distributed across sub-buckets rather than accumulating in single buckets, preventing any one bucket from becoming excessively full and maintaining O(1) lookup performance even as the hash table grows large.

Inventive Principle:
Principle #1Segmentation

2Productivity

If the number of buckets is increased to reduce entries per bucket, then lookup performance improves, but the device complexity and memory overhead increase

Engineering Contradiction:
Improveinsertion performanceVSAvoidhash table structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent combines multiple sub-buckets into arrays associated with each top-level bucket. This merging approach allows the system to manage many buckets indirectly through top-level buckets, reducing the complexity of direct management while still achieving good distribution. The top-level buckets act as intermediaries that simplify the overall structure.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If entries are randomly distributed across buckets, then some buckets remain empty while others become excessively full, but implementing rebalancing mechanisms increases operational complexity

Engineering Contradiction:
Improveinsertion performanceVSAvoidinsertion operation simplicity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent performs preliminary distribution by hashing entries to top-level buckets first, then to sub-buckets within those top-level buckets. This two-stage preliminary action ensures balanced distribution before actual insertion occurs, preventing the need for complex post-insertion rebalancing operations while maintaining uniform entry distribution across all buckets.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10462059B2Hash table entries insertion method and apparatus using virtual buckets
Publication Date: 2019.10.29 INTEL CORP
  • US10462059B2 patent drawing
  • US10462059B2 patent drawing
  • US10462059B2 patent drawing

AI summary

The present disclosure describes a process and apparatus for improving insertions of entries into a hash table. A large number of smaller virtual buckets may be combined together and associated with buckets used for hash table entry lookups and/or entry insertion. On insertion of an entry, hash table entries associated with a hashed-to virtual bucket may be moved between groups of buckets associated with the virtual bucket, to better distribute entries across the available buckets to reduce the number of entries in the largest buckets and the standard deviation of the bucket sizes across the entire hash table.