Shared GPU Cache Isolation for Side-Channel Resistance
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Speed
If physical addressing is used in shared cache to improve performance, then speed is improved, but security against unauthorized access deteriorates
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.
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.
Data Source
Figure 1
Figure 2A
Figure 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.