Shared GPU Cache Isolation for Side-Channel Resistance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Microarchitectural side channel attacks exploit unintended side-effects of program execution in shared microarchitectural resources, particularly in multi-tenancy caching environments, which are increasingly relevant in GPU datacenters.

Innovation Solution

Implementing side-channel resistant shared GPU caching by using physical addressing and secure I/O operations through Trusted Execution Environment (TEE)-I/O support, ensuring secure I/O virtualization and data isolation between different compute partitions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multi-tenancy caching is implemented in GPU to improve resource utilization, then productivity is improved, but security against side-channel attacks deteriorates

Engineering Contradiction:
Improveresource utilizationVSAvoidside-channel attack vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The cache is segmented into multiple isolated cache partitions, each dedicated to a specific tenant or compute context. This segmentation prevents side-channel attacks by ensuring that cache accesses from one tenant cannot be observed or exploited by other tenants, while still allowing each partition to be fully utilized for its designated workload.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A cache management intermediary layer is introduced between the compute contexts and the physical cache. This intermediary handles address translation, cache allocation, and access control, mediating all cache operations to ensure security policies are enforced while maintaining efficient cache utilization for multi-tenancy.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If physical addressing is used in shared cache to improve performance, then speed is improved, but security against unauthorized access deteriorates

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

Solution Approach 1:

An address translation intermediary (such as a translation lookaside buffer or address translation unit) is positioned between the physical address generator and the cache array. This intermediary translates physical addresses into cache indices while enforcing access permissions, allowing fast physical addressing without exposing the raw physical address to the cache structure where it could be exploited for unauthorized access.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Different security properties are applied to different parts of the addressing mechanism. The physical address translation and permission checking are performed in a secure intermediary layer, while the actual cache access uses simplified indexing. This local differentiation of security requirements allows high-speed access where security is less critical while maintaining strong security where address translation occurs.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP4617882A1Side-channel resistant shared GPU caching while using physical addressing
Publication Date: 2025.09.17 INTEL CORP
  • EP4617882A1 patent drawingFigure 1
  • EP4617882A1 patent drawingFigure 2A
  • EP4617882A1 patent drawingFigure 2B~2C

AI summary

One embodiment provides a graphics processor comprising a memory interface, a processing resource cluster including a plurality of processing resources, and a cache coupled with the memory interface and the processing resource cluster. The cache includes side-channel resistance circuitry to configure a side-channel resistance setting for the cache. In one embodiment, the side-channel resistance circuitry configures side-channel resistance by configuring cache isolation settings to facilitate side-channel resistance. The cache isolation setting adjusts a balance between side-channel resistance and performance for the cache by configuring how many cache ways and/or sets are isolated vs shared between contexts.