IOMMU Resource Manager for Predictive Memory Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face challenges in efficiently managing shared resources such as memory bandwidth, power consumption, and thermal budgets among multiple processors, particularly when executing bandwidth-intensive instructions, leading to inefficiencies and potential performance bottlenecks.

Innovation Solution

Implementing an Input Output Memory Management Unit (IOMMU) with a resource manager that predicts memory access patterns using autocorrelation functions or artificial neural networks to dynamically move data between different types of memory based on expected bandwidth requirements, and adjusts operating parameters like voltage and clock frequency to manage resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is stored in high bandwidth memory (HBM) to improve memory bandwidth for GPU computations, then bandwidth is improved, but memory capacity is reduced

Engineering Contradiction:
Improvememory bandwidthVSAvoidmemory capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The memory system is segmented into multiple memory types (HBM and DRAM) with different characteristics. The resource manager divides the address space into regions and selectively places data in appropriate memory segments based on bandwidth requirements, allowing the system to enjoy high bandwidth where needed while maintaining overall large capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages data placement between HBM and DRAM based on real-time bandwidth requirements. The resource manager monitors memory access patterns and relocates data between memory types as needed, transitioning from static memory allocation to dynamic adaptive memory management.

Inventive Principle:
Principle #15Dynamics

2Productivity

If CPU accesses graphics memory to utilize higher bandwidth, then computation efficiency is improved, but bandwidth loss occurs due to memory bus speed limitations

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidbandwidth loss
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The resource manager acts as an intermediary between the CPU and graphics memory, intercepting memory access requests and intelligently routing them. It predicts bandwidth requirements and pre-positions data in appropriate memory regions, mediating between CPU computation needs and memory bandwidth availability to minimize bandwidth loss.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by predicting future memory access patterns using autocorrelation functions and neural networks. Data is pre-positioned in optimal memory locations before actual access occurs, allowing the CPU to efficiently access high-bandwidth memory without experiencing bandwidth loss during actual computation.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple processors share memory and resources, then resource utilization is improved, but resource contention and performance bottlenecks occur

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

Different memory regions are assigned different qualities or characteristics based on processor needs. The resource manager creates specialized memory regions with appropriate bandwidth and capacity characteristics for different processor types, allowing each processor to access optimally-suited memory regions while sharing the overall memory system.

Inventive Principle:
Principle #3Local quality

4Speed

If resource manager predicts memory access patterns and moves data between memory types, then memory bandwidth utilization is improved, but system complexity increases

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidresource management system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The resource manager implements self-service mechanisms by using autocorrelation functions and neural networks to automatically predict memory access patterns without extensive external intervention. The system learns from historical access patterns and autonomously makes data placement decisions, reducing the need for complex manual management while improving bandwidth utilization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12572363B2IOMMU collocated resource manager
Publication Date: 2026.03.10 ADVANCED MICRO DEVICES INC
  • US12572363B2 patent drawing
  • US12572363B2 patent drawing
  • US12572363B2 patent drawing

AI summary

Devices, methods and systems for managing resources in a computing device. Information regarding resource usage is captured. A prediction is generated, based on the information, that resource usage by a processor will exceed a threshold during an upcoming time. An operating parameter of the processor is adjusted, based on the prediction. In some implementations, information regarding memory bandwidth is captured. A prediction is generated, based on the information, that a memory region stored in a first memory device will be addressed by a memory intensive instruction during an upcoming time period. Data stored in the memory region is moved to a second memory device, based on the prediction.