Virtual Network Descriptor Access via Dependency Mixing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face high communication overhead across security boundaries in virtual network devices, particularly due to processor reordering of reads that can result in invalid or inaccurate data access, leading to the need for computationally expensive memory barriers.

Innovation Solution

Implementing a dependency mixing function that artificially makes the descriptor address dependent on a validity value, allowing safe access to descriptors without memory barriers by ensuring the descriptor address is read before the data, thus preventing speculative or out-of-order reads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory barriers are used to prevent processor reordering of reads, then data validity and accuracy are ensured, but computational overhead and processing latency increase

Engineering Contradiction:
Improvedata validityVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts the memory barrier operation from the descriptor access path by using a validity pointer that inherently encodes the ordering constraint. Instead of inserting a memory barrier instruction to prevent reordering, the solution extracts the ordering logic into the pointer structure itself, allowing the processor to naturally follow the dependency without requiring explicit barrier instructions.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The validity pointer acts as an intermediary between the validity value and the descriptor address. This intermediary structure combines both the validity indication and the address information, allowing the processor to detect validity and access the descriptor in a single operation that inherently respects the ordering constraint without needing a memory barrier.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If memory barriers are implemented to ensure proper memory ordering, then speculative or out-of-order reads are prevented, but computational cost and overhead increase

Engineering Contradiction:
Improvememory orderingVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent removes the memory barrier instruction from the execution path by extracting the ordering constraint into the validity pointer structure. The pointer's design inherently prevents out-of-order execution of the address read relative to the validity check, eliminating the need for expensive barrier instructions while maintaining proper memory ordering.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The solution replaces the expensive memory barrier operation with a simple pointer dereference operation. The validity pointer is a lightweight structure that can be read and evaluated cheaply, providing the same ordering guarantee that would otherwise require a costly barrier instruction.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Speed

If traditional pointer access methods are used, then access speed is fast, but processor reordering can result in invalid data access

Engineering Contradiction:
Improveaccess speedVSAvoiddata validity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent merges the validity check and address access into a single operation through the validity pointer. By combining the validity indication and the descriptor address into one pointer structure, the processor can atomically both verify validity and retrieve the address without separate operations that could be reordered, maintaining both speed and reliability.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The validity pointer serves as an intermediary that bridges the gap between fast direct address access and reliable validity verification. This single pointer structure allows the processor to quickly access descriptors while inherently preventing invalid access, as the address is only valid when the pointer indicates validity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11403098B2Fast descriptor access for virtual network devices
Publication Date: 2022.08.02 RED HAT INC
  • US11403098B2 patent drawing
  • US11403098B2 patent drawing
  • US11403098B2 patent drawing

AI summary

A system includes a memory and a processor in communication with the memory. The processor is configured to execute a dependency mixing function that includes a first descriptor address of a descriptor and an artificial dependency. The dependency mixing function sets a second descriptor address as a dependency of a validity value. The processor is also configured to output a result from the dependency mixing function. When a respective validity value is valid, the second descriptor address is set to the first descriptor address. Responsive to the validity value being valid, the processor is configured to access the descriptor through the second descriptor address.