Cache-Coherent PPU Partitions With CPU Ownership Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multiprocessor systems face challenges in maintaining memory coherency across multiple partitions, particularly in multitenant configurations, where the burden of avoiding conflicting memory accesses falls on software engineers, leading to increased complexity and potential operational errors.

Innovation Solution

Implementing techniques that allow CPU hardware to track and manage memory ownership and coherency by associating unique identifiers with each partition, enabling the CPU to grant and reclaim ownership of memory addresses, thus reducing the need for software applications to handle conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If GPU partitions access CPU memory address space without hardware tracking, then device complexity is reduced, but memory coherency reliability deteriorates due to conflicting memory accesses

Engineering Contradiction:
Improvememory access management complexityVSAvoidmemory coherency
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a hardware tracking mechanism that acts as an intermediary between GPU partitions and CPU memory. This mechanism monitors and manages memory access requests from multiple GPU partitions, ensuring that only the owning partition can access a given CPU memory address at any time. The hardware tracker resolves conflicts before they reach the memory system, maintaining coherency without requiring complex software management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements feedback through hardware tracking of memory ownership and access patterns. When a GPU partition attempts to access CPU memory, the hardware tracker provides feedback about current ownership status. If the accessing partition is not the owner, the hardware generates a conflict signal that prevents the access or triggers an ownership transfer protocol, ensuring coherency through continuous monitoring and response.

Inventive Principle:
Principle #23Feedback

2Device complexity

If software applications are responsible for avoiding conflicting memory accesses, then hardware complexity is reduced, but ease of operation deteriorates due to increased software design burden

Engineering Contradiction:
Improvehardware complexityVSAvoidsoftware application design ease
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The hardware tracking mechanism provides self-service by automatically managing memory ownership and detecting conflicts without software intervention. The system autonomously tracks which GPU partition owns each CPU memory address and prevents conflicting accesses at the hardware level. This eliminates the need for software engineers to implement complex conflict avoidance logic, allowing applications to access memory using simple, standard operations.

Inventive Principle:
Principle #25Self-service

3Manufacturing precision

If GPU partitions have separate GPU memory address spaces, then manufacturing precision is improved through dedicated address mapping, but adaptability deteriorates as CPU cannot dynamically allocate memory across partitions

Engineering Contradiction:
Improveaddress space allocation precisionVSAvoiddynamic memory allocation flexibility
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The hardware tracking mechanism provides multi-functionality by serving both the precision requirements of separate address spaces and the flexibility needs of dynamic allocation. It maintains distinct GPU memory address spaces for each partition while simultaneously enabling the CPU to dynamically allocate and manage CPU memory addresses across multiple partitions. The tracker adapts to different allocation scenarios without requiring changes to the fundamental address space structure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250284631A1Fully cache coherent virtual partitions in multitenant configurations in a multiprocessor system
Publication Date: 2025.09.11 NVIDIA CORP
  • US20250284631A1 patent drawing
  • US20250284631A1 patent drawing
  • US20250284631A1 patent drawing

AI summary

Various embodiments include techniques for processing memory operations in a computing system. The computing system includes a central processing unit (CPU) and an auxiliary processor, such as a parallel processing unit (PPU). The PPU can be divided into multiple partitions. Although the partitions are included in a single PPU, the CPU can track the partitions as if the partitions are independent devices rather than different portions of a single device. When two different partitions generate memory operations that access the same memory address in CPU memory address space, the two partitions employ two different data paths. The CPU can use path information for the two different paths to identify which partition generated each memory operation. As a result, the CPU can maintain data consistency and memory coherency in a system where a PPU is divided into multiple partitions.