PPU Trusted Execution Environment for Confidential Computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional confidential computing systems are unable to protect data in use by parallel processing units (PPUs), such as graphics processing units (GPUs), which limits the performance advantages offered by hardware accelerators due to security requirements, particularly in multi-tenant environments handling sensitive data.

Innovation Solution

The implementation of a trusted execution environment (TEE) for PPUs, including separate and isolated memory paths, hardware firewalls for access control, and cryptographic key management to encrypt and decrypt data, allowing secure execution of user code and operations within a virtualized environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional confidential computing is used with CPU-based TEE, then data confidentiality is protected, but performance advantages of hardware accelerators are lost

Engineering Contradiction:
Improvedata confidentialityVSAvoidcomputing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system segments the confidential computing environment by creating separate TEE instances for CPU and PPU, with isolated memory regions and access paths. Each PPU instance has its own protected memory region that is isolated from other instances and the host system, allowing parallel processing while maintaining confidentiality boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a PPU driver and hypervisor as intermediary layers that manage access to PPU resources. These intermediaries handle encryption/decryption operations and enforce access control policies, allowing secure data transfer between the confidential VM and PPU without requiring the entire system to operate at reduced performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple tenants share the same physical computing resources, then resource utilization is improved, but security threats to confidential data increase

Engineering Contradiction:
Improveresource utilizationVSAvoidsecurity threats
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system creates multiple isolated PPU instances, where each instance has separate memory regions and access paths. This segmentation ensures that even though multiple tenants share the same physical PPU hardware, their data and computation contexts are completely isolated, preventing cross-tenant security threats while maintaining high resource utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Each PPU instance is configured with local security properties including instance-specific encryption keys, isolated memory regions, and dedicated access paths. This local quality approach allows each tenant to have customized security parameters while sharing the underlying hardware infrastructure.

Inventive Principle:
Principle #3Local quality

3Speed

If PPU memory is made accessible for computation, then processing speed is improved, but unauthorized access to data increases

Engineering Contradiction:
Improveprocessing speedVSAvoidunauthorized access
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The patent implements hardware firewalls and encrypted memory regions as intermediary protective layers between the PPU compute engines and the memory system. These intermediaries allow fast data access for authorized computation while blocking unauthorized access attempts, maintaining processing speed without compromising security.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses encrypted memory regions with flexible access control that appear transparent to authorized compute operations but provide strong security barriers against unauthorized access. The encryption layer acts as a thin protective film that allows legitimate high-speed computation while preventing data theft.

Inventive Principle:
Principle #30Flexible shells and thin films

Data Source

PatentUS20230297406A1Confidential computing using multi-instancing of parallel processors
Publication Date: 2023.09.21 NVIDIA CORP
  • US20230297406A1 patent drawing
  • US20230297406A1 patent drawing
  • US20230297406A1 patent drawing

AI summary

In examples, trusted execution environments (TEE) are provided for an instance of a parallel processing unit (PPU) as PPU TEEs. Different instances of a PPU correspond to different PPU TEEs, and provide accelerated confidential computing to a corresponding TEE. The processors of each PPU instance have separate and isolated paths through the memory system of the PPU which are assigned uniquely to an individual PPU instance. Data in device memory of the PPU may be isolated and access controlled amongst the PPU instances using one or more hardware firewalls. A GPU hypervisor assigns hardware resources to runtimes and performs access control and context switching for the runtimes. A PPU instance uses a cryptographic key to protect data for secure communication. Compute engines of the PPU instance are prevented from writing outside of a protected memory region. Access to a write protected region in PPU memory is blocked from other computing devices and/or device instances.