PASID-Granular IOMMU Resource Control for Shared QoS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional IOMMU technologies lack the capability to enforce Quality of Service (QoS) policies at a granular level, leading to resource contention and performance degradation among virtual machines or tenants, particularly in shared IOMMU resources such as the IOTLB and Page Request Interface.
Innovation Solution
Implementing QoS policies within the IOMMU at a per Process Address Space Identifier (PASID) or per domain granularity, controlling resource utilization through mechanisms like IOTLB entry management and inflight page request limits, ensuring equitable resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If conventional IOMMU technologies are used without QoS control, then device complexity is reduced and ease of operation is improved, but resource contention increases and performance degradation occurs among virtual machines
Solution Approach 1:
The patent segments IOMMU resources (IOTLB entries, page request interface capacity) into controllable units and assigns them to different PASIDs or domains. By dividing the shared resource pool into allocatable segments with defined quotas, the system enables QoS control while maintaining operational simplicity through automated enforcement.
Solution Approach 2:
The patent implements feedback mechanisms where the IOMMU monitors resource usage by PASID/domain and automatically enforces QoS policies. The system tracks IOTLB hit rates, page request counts, and other metrics to provide feedback for dynamic resource allocation and throttling, ensuring performance degradation is prevented through continuous monitoring and adjustment.
2Device complexity
If shared IOMMU resources are used without granular control, then device complexity is reduced, but resource contention increases leading to performance degradation
Solution Approach 1:
The patent applies local quality by assigning different resource control characteristics to different PASIDs or domains based on their specific QoS requirements. Each PASID can have customized IOTLB entry allocations, page request rate limits, and priority levels, allowing fine-grained differentiation of service quality without requiring complete system redesign.
Solution Approach 2:
The patent introduces dynamic resource control where IOMMU parameters such as IOTLB entry allocation and page request interface capacity can be adjusted in real-time based on current workload conditions and QoS policies. This dynamic adaptation allows the system to maintain high productivity while managing complexity through automated policy enforcement rather than static configuration.
3Productivity
If per PASID QoS control is implemented, then resource distribution fairness is improved, but device complexity increases due to additional control mechanisms
Solution Approach 1:
The patent implements self-service by enabling the IOMMU to automatically enforce QoS policies for each PASID without requiring external intervention. The system autonomously monitors resource usage, detects policy violations, and applies throttling or eviction actions based on pre-configured policies, achieving fair resource distribution while minimizing the operational burden on administrators.
Solution Approach 2:
The patent changes key IOMMU parameters such as IOTLB entry allocation limits, page request rate thresholds, and translation cache sizes on a per-PASID basis. By modifying these parameters dynamically according to QoS policies, the system achieves fair resource distribution without requiring fundamental architectural changes, thus managing complexity through parameterization rather than structural redesign.
Data Source
AI summary
An embodiment of an integrated circuit may comprise memory to store respective resource control descriptors in correspondence with respective identifiers, and an input/output (IO) memory management unit (IOMMU) communicatively coupled to the memory, the IOMMU including circuitry to determine resource control information for an IO transaction based on a resource control descriptor stored in the memory that corresponds to an identifier associated with the IO transaction, and control utilization of one or more resources of the IOMMU based on the determined resource control information. Other embodiments are disclosed and claimed.


