HCA Queue Descriptor Cache Management via Threshold-Based Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Infiniband network nodes face inefficiencies in managing queue descriptors, leading to increased requests for new descriptors and potential delays due to outdated cache information, especially when queue utilization exceeds a certain threshold.

Innovation Solution

A method and system for managing a cached queue descriptor on the host channel adapter (HCA) that includes a descriptor fetch module with a cache control module, which obtains, stores, and updates queue descriptors from memory, calculates utilization values, and fetches new descriptors when the utilization exceeds a predefined threshold, ensuring continuous access and minimizing requests for new descriptors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the HCA uses a cached queue descriptor, then access speed is improved, but the cache may become outdated when queue utilization exceeds the threshold

Engineering Contradiction:
Improvequeue descriptor access speedVSAvoidcache information accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary action by pre-fetching new queue descriptors from memory before the cached copy becomes completely outdated. The cache control module monitors queue utilization and proactively fetches updated descriptors when the number of accessed entries exceeds a threshold, ensuring the cache remains relatively current without requiring constant updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by continuously monitoring queue utilization through the hardware pointer and software pointer to track the number of accessed entries. This feedback mechanism allows the cache control module to dynamically determine when a queue descriptor needs to be refreshed, balancing cache validity with access performance.

Inventive Principle:
Principle #23Feedback

2Reliability

If the HCA frequently fetches new queue descriptors from memory, then cache accuracy is maintained, but requests for new descriptors increase and delays occur

Engineering Contradiction:
Improvequeue descriptor currencyVSAvoidtime spent waiting for new descriptors
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary action by pre-fetching new queue descriptors from memory before the cached copy becomes completely outdated. The cache control module monitors queue utilization and proactively fetches updated descriptors when the number of accessed entries exceeds a threshold, ensuring the cache remains relatively current without requiring constant updates.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the HCA waits for queue entries to be depleted before fetching new descriptors, then cache validity is maintained, but processing delays increase

Engineering Contradiction:
Improvecache validityVSAvoidqueue processing throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary action by pre-fetching new queue descriptors from memory before the cached copy becomes completely outdated. The cache control module monitors queue utilization and proactively fetches updated descriptors when the number of accessed entries exceeds a threshold, ensuring the cache remains relatively current without requiring constant updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuity of useful action by overlapping the queue descriptor fetch operation with ongoing queue processing. The HCA can continue processing entries using the cached descriptor while the background thread or processor core simultaneously fetches the updated descriptor from memory, ensuring continuous productive operation without idle waiting time.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9256555B2Method and system for queue descriptor cache management for a host channel adapter
Publication Date: 2016.02.09 ORACLE INT CORP
  • US9256555B2 patent drawing
  • US9256555B2 patent drawing
  • US9256555B2 patent drawing

AI summary

A method for managing a queue descriptor cache of a host channel adaptor (HCA) includes obtaining a queue descriptor from memory. The queue descriptor includes data describing a queue and the memory is located in a host system. The method further includes storing a copy of the queue descriptor in the queue descriptor cache of the HCA. The HCA accesses the copy of the queue descriptor to obtain the plurality of data, accesses the queue using the data, and updates the data to reflect the access to the queue. The method further includes calculating, using the data, a value corresponding to utilization of the queue, comparing the value against a threshold, fetching, if the value exceeds the threshold, a new copy of the queue descriptor from memory, and replacing the copy of the queue descriptor in the queue descriptor cache with the new copy obtained from the memory.