Cache Coherence Manager for Heterogeneous Processor Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In heterogeneous processor systems, maintaining cache coherence between different processor types such as CPUs and GPUs is challenging due to the need for efficient data movement and synchronization, especially when data is requested by one processor type after being stored in another type's cache.

Innovation Solution

A processing device with a communication detector that monitors memory traffic and determines a time interval for moving data from one cache to another based on when the data was received and requested, allowing for improved data synchronization and movement between CPU and GPU caches.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is moved between caches in heterogeneous processor systems, then data availability for processing is improved, but maintaining cache coherence and synchronization becomes more complex

Engineering Contradiction:
Improvedata availabilityVSAvoidcache coherence maintenance
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a cache coherence manager as an intermediary component that mediates data movement between CPU cache and GPU cache. This manager tracks data locations, manages coherence protocols, and coordinates transfers, thereby improving data availability while containing the complexity of coherence maintenance within a dedicated management layer rather than distributed across all processors.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by pre-copying data from CPU cache to GPU cache before the GPU actually needs it for processing. The coherence manager monitors data access patterns and initiates data transfers in advance, ensuring data is available when needed while reducing the urgency and complexity of real-time coherence management.

Inventive Principle:
Principle #10Preliminary action

2Speed

If data is copied into caches of multiple processor types, then access speed is improved, but data consistency between caches and main memory becomes challenging

Engineering Contradiction:
Improvedata access speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The cache coherence manager implements feedback mechanisms by monitoring data access patterns, tracking which data resides in which caches, and receiving notifications when processors access or modify data. This feedback enables the system to maintain consistency by responding to actual data usage events, ensuring that copies in CPU cache and GPU cache remain synchronized with main memory without continuously checking all data.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The coherence manager acts as an intermediary between the caches and main memory, intercepting and coordinating data access operations. It manages the complexity of maintaining consistency across multiple caches by centralizing coherence control, thereby enabling fast cache access while preserving data reliability through coordinated updates.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data is moved from first cache to second cache, then data can be processed by second processor type, but data movement time and synchronization overhead increase

Engineering Contradiction:
Improveprocessor type flexibilityVSAvoiddata movement time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs data movement in advance by monitoring when data is loaded into CPU cache and proactively copying it to GPU cache before the GPU needs it. This preliminary action eliminates or reduces the actual data movement time when the GPU starts processing, as the data is already in place. The coherence manager tracks data lifecycles and initiates transfers during idle periods or before scheduled GPU operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data movement system is made dynamic by adapting transfer timing and triggers based on actual processor behavior and data access patterns. Rather than using fixed scheduling, the coherence manager responds to dynamic events such as data insertion into CPU cache, processor idle states, and predicted GPU needs, optimizing data movement timing to minimize overhead while maintaining processor flexibility.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3178006B1Moving data between caches in a heterogeneous processor system
Publication Date: 2021.05.19 ADVANCED MICRO DEVICES INC
  • EP3178006B1 patent drawingFigure 1
  • EP3178006B1 patent drawingFigure 2
  • EP3178006B1 patent drawingFigure 3A~3B

AI summary

Apparatus, computer readable medium, integrated circuit, and method of moving a plurality of data items to a first cache or a second cache are presented. The method includes receiving an indication that the first cache requested the plurality of data items. The method includes storing information indicating that the first cache requested the plurality of data items. The information may include an address for each of the plurality of data items. The method includes determining based at least on the stored information to move the plurality of data items to the second cache. The method includes moving the plurality of data items to the second cache. The method may include determining a time interval between receiving the indication that the first cache requested the plurality of data items and moving the plurality of data items to the second cache. A scratch pad memory is disclosed.