VHPT Active Entry Mapping via Link Table
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Reliability
If global walk operations examine all head buckets, then completeness is ensured, but resource consumption increases in nearly empty tables
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.
Data Source
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.


