VHPT Active Entry Mapping via Link Table

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current hash table technologies, particularly in the Itanium processor's virtually hashed page table (VHPT), face inefficiencies during global walks due to the inability to reduce the number of head buckets without degrading performance and the constraint of not being able to use certain hashing techniques, leading to high operation costs and resource usage even in nearly empty tables.

Innovation Solution

A method for mapping active collision chains within a VHPT by maintaining a link table that continues until a threshold is exceeded or a collision occurs, allowing for efficient access of active entries by linking active head buckets at a specified offset, thereby reducing the number of steps required for global walks to the number of occupied head buckets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the number of head buckets is increased to reduce collision chances, then collision resistance is improved, but the time required to walk all head buckets increases

Engineering Contradiction:
Improvecollision resistanceVSAvoidglobal walk time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the head buckets into two types: active head buckets (containing data entries) and inactive head buckets (empty). By maintaining a separate linked list of only the active head buckets, the system separates the functionality of collision resistance (provided by the full hash table) from the functionality of efficient iteration (provided by the filtered list of active buckets only). This allows global operations to walk only through active buckets, reducing iteration time while preserving the full hash table's collision resistance.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If a linked list of active head buckets is maintained to reduce global walk time, then iteration efficiency is improved, but additional fields and complexity are required in head buckets

Engineering Contradiction:
Improveglobal walk timeVSAvoidhead bucket structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent makes the head bucket structure multi-functional by using the existing head bucket array to serve dual purposes: (1) as the primary hash table for data storage and collision handling, and (2) as the container for the linked list of active head buckets. The linked list is implemented by storing indices of active head buckets in a separate data structure, rather than adding link fields to each head bucket. This approach achieves efficient iteration without modifying the fundamental head bucket structure, avoiding the complexity penalty.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If global walk operations examine all head buckets, then completeness is ensured, but resource consumption increases in nearly empty tables

Engineering Contradiction:
Improveoperation completenessVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent performs preliminary action by maintaining a pre-computed linked list of active head bucket indices that is updated whenever entries are inserted or deleted. This pre-maintained list acts as a filter that identifies only the relevant head buckets containing data before the global walk operation begins. As a result, operations like deletion or statistics gathering can immediately focus only on active buckets, ensuring completeness (all active buckets are examined) while avoiding the resource waste of examining empty buckets in nearly empty tables.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7765238B2Mapping an active entry within a hashed page table
Publication Date: 2010.07.27 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7765238B2 patent drawing
  • US7765238B2 patent drawing
  • US7765238B2 patent drawing

AI summary

A method for mapping an active entry within a virtually hashed page table is disclosed. An active entry within a virtually hashed page table is populated. A link table for locating a link at an offset from an active entry is maintained. This link table continues to be maintained as a valid link table until an occupied head bucket threshold is exceeded or a collision has occurred.