Loop Detection in Cuckoo Hash Tables via Graph Depth Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cuckoo hashing systems face performance issues due to the potential creation of infinite loops when inserting entries, leading to increased memory read and write costs, which can affect communication system performance.

Innovation Solution

A method and system to detect the presence of a loop before inserting an entry into a Cuckoo hash table by generating a graph representing hash locations and calculating depths, allowing for the determination of whether an entry would create a loop, and storing potentially conflicting entries in a stash to optimize performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If entries are inserted into a Cuckoo hash table using standard cuckoo hashing, then the hash table can store and retrieve data efficiently, but infinite loops may be created during insertion leading to increased memory read and write costs

Engineering Contradiction:
Improveinsertion efficiencyVSAvoidloop-free operation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing loop detection before completing the insertion operation. The system calculates the depth value for the new entry and compares it with the minimum depth of existing entries to predict whether a loop will be created. If a loop is predicted, the insertion is prevented in advance, avoiding the infinite loop problem while maintaining insertion efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces depth calculation as an intermediary mechanism to detect potential loops. By calculating and comparing depth values of entries, the system can identify configurations that would create loops without actually executing the insertion. This intermediary depth comparison acts as a predictor to prevent harmful loop creation while allowing efficient insertions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If loop detection mechanisms are added to prevent infinite loops, then reliability is improved, but device complexity increases due to additional graph generation and depth calculation operations

Engineering Contradiction:
Improveloop preventionVSAvoidloop detection mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter approach by using depth values as a predictive metric for loop detection. Instead of complex graph traversal or simulation, the system calculates a simple depth parameter for each entry and compares it with existing minimum depths. This parameter-based approach significantly reduces the complexity of the loop detection mechanism while maintaining high reliability in loop prevention.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If depth calculation and loop prediction are performed for each insertion, then loop creation is prevented, but memory access costs increase due to additional calculations and comparisons

Engineering Contradiction:
Improveloop avoidanceVSAvoidmemory access cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by performing only the necessary depth calculation and comparison operations needed for loop detection, rather than executing full graph traversal or simulation. The system calculates depth values and compares them with existing minimum depths, performing just enough work to predict loop creation without excessive computation. This partial approach reduces memory access costs while maintaining effective loop prevention.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10467217B2Loop detection in cuckoo hashtables
Publication Date: 2019.11.05 TEXAS INSTRUMENTS INC
  • US10467217B2 patent drawing
  • US10467217B2 patent drawing
  • US10467217B2 patent drawing

AI summary

A system includes a first storage, a second storage, and a processor. The first storage is configured to store a Cuckoo hash table which includes a plurality of locations. The second storage is configured to store a graph including a plurality of nodes. The processor coupled to the first storage and the second storage is configured to map each of the locations in the Cuckoo hash table to each of the nodes in the graph, and to determine whether a first entry to be added to a first location in the Cuckoo hash table creates a loop in the graph by executing a filter module. More particularly, the processor is to execute the filter module by detecting a presence of the loop before the first entry to occupy the first location in the Cuckoo hash table, the first location associated with a node, in the graph, occupied by a second entry.