IOMMU Page Table Scheduler for GPU Memory Strain

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The timely completion of SIMD instructions is challenging due to the high number of concurrent memory requests from GPU threads accessing different memory pages, leading to strain on the memory system, especially when page table walks are required and not all requests can be resolved within the GPU's translation lookaside buffers.

Innovation Solution

A page table scheduler is introduced to reorder and prioritize page table walk requests based on the number of memory accesses needed, selectively scheduling batches with fewer memory requests first to reduce the load on the memory system and optimize the processing of SIMD instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the IOMMU processes all concurrent memory requests from SIMD instructions, then complete address translation is achieved, but memory system strain increases and processing time extends

Engineering Contradiction:
Improveaddress translation completenessVSAvoidSIMD instruction completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments concurrent memory requests into batches and processes them in organized groups rather than individually. The IOMMU divides the workload into manageable units that can be handled efficiently, reducing the time each request waits in the queue while ensuring all translations are eventually completed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary actions by checking the GPU translation lookaside buffer (TLB) before requests reach the IOMMU. Frequently accessed translations are cached in the GPU TLB, allowing many requests to be resolved quickly without involving the IOMMU, thus reducing overall processing time while maintaining translation accuracy.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the IOMMU services all address translation requests from GPU threads, then virtual memory sharing is maintained, but the number of page table walks increases memory system load

Engineering Contradiction:
Improvevirtual memory sharing capabilityVSAvoidmemory system load
Core Design Contradiction:
Adaptability or versatilityVSStress or pressure

Solution Approach 1:

The patent merges multiple address translation requests that target the same memory pages into a single page table walk operation. By consolidating redundant requests, the system maintains accurate virtual memory sharing between CPU and GPU while significantly reducing the total number of page table walks required, thus lowering memory system load.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent performs preliminary filtering of address translation requests at the GPU TLB stage, catching and resolving translations before they reach the IOMMU. This preliminary action reduces the volume of requests that would otherwise require page table walks, maintaining virtual memory sharing functionality while decreasing memory system stress.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If page table walks are performed for all missed translations, then accurate address translation is ensured, but SIMD instruction timing is compromised

Engineering Contradiction:
Improveaddress translation accuracyVSAvoidSIMD instruction execution speed
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The patent implements preliminary action by pre-loading and caching address translations in the GPU translation lookaside buffer before they are needed by the IOMMU. This allows the system to maintain high translation accuracy while significantly reducing the number of slow page table walks, thereby preserving SIMD instruction execution speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the address translation process into two paths: a fast path using the GPU TLB for frequently accessed translations, and a slower path through the IOMMU for unique translations. This segmentation ensures accurate translation for all requests while maintaining high speed for the majority of common cases, resolving the contradiction between accuracy and speed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10437736B2Single instruction multiple data page table walk scheduling at input output memory management unit
Publication Date: 2019.10.08 ADVANCED MICRO DEVICES INC
  • US10437736B2 patent drawing
  • US10437736B2 patent drawing
  • US10437736B2 patent drawing

AI summary

A data processing system includes a memory and an input output memory management unit that is connected to the memory. The input output memory management unit is adapted to receive batches of address translation requests. The input output memory management unit has instructions that identify, from among the batches of address translation requests, a later batch having a lower number of memory access requests than an earlier batch, and selectively schedules access to a page table walker for each address translation request of a batch.