Address Translation Cache Reservation for Offload Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face challenges in reducing memory translation latency and optimizing performance for offload devices, particularly in scenarios requiring low latency and high throughput, as they rely on extensive address translations that can introduce delays in memory operations.

Innovation Solution

Implementing a method where a compute device instructs offload devices to reserve address translation cache (ATC) for specific virtual machines or applications, allowing for direct memory access with minimized latency by caching address translations, thereby reducing reliance on the translation agent.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If address translations are performed through the translation agent in IOMMU, then address translation accuracy is ensured, but memory operation latency increases

Engineering Contradiction:
Improvememory operation latencyVSAvoidtranslation overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements address translation cache reservation where cache entries are pre-allocated and reserved for specific virtual machines or applications before they are needed. This preliminary action allows the offload device to perform direct address translation using cached entries without waiting for the translation agent, significantly reducing memory operation latency while maintaining translation accuracy through pre-established translation mappings

Inventive Principle:
Principle #10Preliminary action

2Speed

If address translation cache is used in offload devices, then memory operation speed increases, but cache management complexity increases

Engineering Contradiction:
Improvememory operation speedVSAvoidcache management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the address translation cache into reserved portions for specific virtual machines or applications. By dividing the cache into dedicated segments, each segment can be independently managed with simple replacement policies, avoiding the complexity of managing a unified cache while maintaining high memory operation speed through localized cache hits

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces reservation parameters such as virtual machine identifiers, cache line counts, and replacement policies that control cache behavior. By changing these parameters dynamically based on workload requirements, the system optimizes memory operation speed without requiring complex adaptive cache management algorithms

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If cache entries are reserved for specific virtual machines, then translation latency for those VMs is reduced, but cache utilization efficiency decreases

Engineering Contradiction:
Improvetranslation latencyVSAvoidcache utilization efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements dynamic cache reservation where the amount of cache allocated to each virtual machine can be adjusted based on actual workload demands. The system monitors cache hit rates and translation patterns, dynamically reallocating cache lines between reserved and non-reserved portions to maintain low translation latency for priority VMs while maximizing overall cache utilization efficiency

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20230021888A1Technologies for address translation cache reservation in offload devices
Publication Date: 2023.01.26 INTEL CORP
  • US20230021888A1 patent drawing
  • US20230021888A1 patent drawing
  • US20230021888A1 patent drawing

AI summary

Techniques for address translation cache (ATC) reservation in offload devices are disclosed. In the illustrative embodiment, a processor of a compute device sends a start ATC reservation descriptor to an offload device. The start ATC reservation descriptor includes an identifier associated with a virtual machine for which at least part of an address translation cache of the offload device should be reserved. The offload device establishes a zone in the ATC of the offload device that is reserved for address translations associated with the identifier. Such cache reservation may be used when, e.g., a priority of a task is high or there is a need for critical or important workload to have lower latency and higher throughput.