IOMMU Rate Limiting for Device Utilization Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data centers, processes that exceed their Service Level Agreement (SLA) parameters for device bandwidth usage can hinder other processes, leading to inefficient resource allocation and potential device stalling.

Innovation Solution

Implementing Input-Output Memory Management Unit (IOMMU) processor rate limiting for Address Translation Services (ATS) to enforce SLA compliance, thereby limiting excessive device utilization across various devices such as network interface controllers, accelerators, and GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a process requests device utilization in excess of its SLA, then the process can perform operations faster, but it prevents usage of the device by other processes

Engineering Contradiction:
Improvedevice operation speedVSAvoidSLA compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an IOMMU (Input-Output Memory Management Unit) as an intermediary between the process and the device. The IOMMU intercepts address translation requests from the device, checks whether the process has sufficient tokens to cover the requested operations, and either permits or blocks the translation based on token availability. This mediator enforces SLA compliance by limiting device access to processes that have not exceeded their allocated bandwidth, while still allowing compliant processes to utilize the device at full speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If device bandwidth is unlimited for one process, then that process achieves maximum performance, but other processes experience device stalling

Engineering Contradiction:
Improveprocess performanceVSAvoiddevice stalling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements a feedback mechanism where the IOMMU continuously monitors token consumption by processes and dynamically adjusts device access permissions accordingly. When a process consumes tokens through device operations, the IOMMU tracks this consumption and prevents further access once the token balance would go negative. This feedback loop ensures that no single process can monopolize the device, preventing stalling for other processes while maintaining maximum performance for compliant processes.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If SLA enforcement is implemented at process level, then resource allocation becomes fair, but system complexity increases

Engineering Contradiction:
Improveresource allocation fairnessVSAvoidSLA enforcement mechanism
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent leverages the existing IOMMU architecture, which is already present in modern systems for address translation purposes. Rather than building a completely new enforcement mechanism, the invention copies and extends the existing IOMMU functionality to include token-based access control. The IOMMU's existing translation request handling infrastructure is reused, and token checking is integrated into this existing flow, thereby achieving fair resource allocation without proportionally increasing system complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250181518A1Management of device utilization
Publication Date: 2025.06.05 INTEL CORP
  • US20250181518A1 patent drawing
  • US20250181518A1 patent drawing
  • US20250181518A1 patent drawing

AI summary

Examples described herein relate to a device that includes a host interface; circuitry coupled to the host interface; and second circuitry. The second circuitry is to limit usage of the circuitry, by a first process, by limiting performance of requests for translation of virtual memory addresses to physical memory addresses, from the first process. The circuitry includes one or more of: a network interface device, an accelerator, memory, or storage.