GPU Memory Buffer Pre-fetch Signaling to Reduce Page Fault Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern graphics processing units (GPUs) face inefficiencies and latency issues due to page faults in virtual memory systems, particularly when handling large memory demands, as they lack effective techniques for anticipating and preventing page faults, leading to unsatisfactory user experiences and performance costs.

Innovation Solution

Implementing pre-fetch and pre-back signaling techniques from the GPU to anticipate and prevent page faults by tracking usage thresholds and proactively signaling the CPU to back or fetch necessary pages into physical memory, thereby reducing latency and avoiding page faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If demand paging is implemented in GPU virtual memory system, then memory management flexibility is improved, but page fault latency increases processing time

Engineering Contradiction:
Improvememory management flexibilityVSAvoidpage fault latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the GPU track watermark values in buffers and proactively signal the CPU to back pages into physical memory before actual page faults occur. This anticipatory approach allows the system to prepare memory resources in advance, converting reactive page fault handling into proactive memory management, thereby reducing latency while maintaining demand paging flexibility

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms where the GPU continuously monitors buffer usage and compares current read/write positions against watermark thresholds. When watermarks are crossed, the GPU sends feedback signals to the CPU to trigger page backing operations. This closed-loop feedback system enables dynamic adaptation of memory management based on actual GPU usage patterns, balancing flexibility and latency

Inventive Principle:
Principle #23Feedback

2Speed

If complex memory controllers and CPU oversight are used to improve memory access efficiency, then memory access speed is improved, but system complexity increases

Engineering Contradiction:
Improvememory access speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling the GPU to autonomously track its own memory usage patterns, calculate watermark positions, and generate pre-back signals without requiring complex CPU oversight. The GPU independently manages its virtual memory access optimization, reducing the burden on CPU-based memory controllers while maintaining high memory access speed through self-directed pre-fetching operations

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent reduces system complexity by replacing complex real-time memory controllers with simpler pre-back signaling mechanisms. Instead of requiring sophisticated hardware to predict and handle page faults in real-time, the system uses straightforward watermark tracking and advance signaling to CPU, allowing standard memory controllers to suffice while achieving similar or better performance

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If all pages are backed into physical memory in advance, then page fault latency is reduced, but memory usage efficiency decreases

Engineering Contradiction:
Improvepage fault latencyVSAvoidmemory usage efficiency
Core Design Contradiction:
Loss of timeVSLoss of energy

Solution Approach 1:

The patent applies partial action by backing only the necessary portion of pages into physical memory based on GPU usage patterns. Instead of pre-backing all possible pages, the system selectively backs pages when their corresponding buffer watermarks are crossed, ensuring that memory resources are allocated proportionally to actual demand. This partial pre-backing approach reduces unnecessary memory usage while still preventing page faults for actively used pages

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent dynamically adjusts memory management parameters including watermark positions and page backing decisions based on GPU buffer usage patterns. By changing these parameters adaptively rather than using fixed thresholds, the system optimizes the balance between keeping pages in physical memory (reducing latency) and freeing memory resources (improving efficiency), preventing both over-backing and under-backing scenarios

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9134954B2GPU memory buffer pre-fetch and pre-back signaling to avoid page-fault
Publication Date: 2015.09.15 QUALCOMM INC
  • US9134954B2 patent drawing
  • US9134954B2 patent drawing
  • US9134954B2 patent drawing

AI summary

This disclosure proposes techniques for demand paging for an IO device (e.g., a GPU) that utilize pre-fetch and pre-back notification event signaling to reduce latency associated with demand paging. Page faults are limited by performing the demand paging operations prior to the IO device actually requesting unbacked memory.