Direct Cache Transfer Mechanism for Producer-Consumer Data Coherency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In heterogeneous processing environments, existing CPU-Accelerator systems face inefficiencies in data transfer between caches due to reliance on software coherency or hardware coherency mechanisms, leading to delayed data transfer opportunities and cache capacity conflicts, especially in CC-NUMA systems with asymmetric cache sizes and operating frequencies.

Innovation Solution

Implementing Direct Cache Transfer (DCT) mechanisms that initiate data transfer from the producer cache to the consumer cache at the time of data eviction, using new Cache Maintenance Operations (CMOs) like flush-stash and CopyBack-stash, allowing the producer to proactively transfer data without relying on consumer-initiated pull models, thereby avoiding main memory access and optimizing data flow.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software coherency or hardware coherency mechanisms are used for data transfer between caches, then data coherency is maintained, but data transfer latency increases and transfer opportunities are delayed

Engineering Contradiction:
Improvedata coherencyVSAvoiddata transfer latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements proactive data transfer by monitoring cache capacity utilization in advance. When the producer cache approaches capacity thresholds or experiences victim cache lines, the system initiates data transfer to the consumer cache before the producer needs the cache space. This preliminary action eliminates waiting time for consumer-initiated requests while maintaining coherency through controlled cache maintenance operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If data is transferred only when consumer requests it, then cache capacity conflicts are avoided, but data transfer opportunities are delayed and bandwidth utilization is reduced

Engineering Contradiction:
Improvecache capacity managementVSAvoiddata transfer efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system proactively transfers data to the consumer cache before the consumer needs it, based on monitoring producer cache capacity utilization. This preliminary action fills the consumer cache in advance, transforming idle bandwidth into productive data transfer and eliminating subsequent wait times, thereby improving overall data transfer efficiency without causing cache conflicts.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a feedback mechanism where the consumer cache controller monitors its own cache capacity and the producer cache status. This feedback loop enables the consumer to understand when data is available or being transferred, allowing it to adjust its request timing and avoid capacity conflicts while maximizing bandwidth utilization through coordinated transfers.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If the consumer initiates data transfer requests, then data is transferred only when needed, but transfer latency increases and bandwidth bottlenecks occur

Engineering Contradiction:
Improveon-demand data retrievalVSAvoiddata access latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system proactively transfers data to the consumer cache before the consumer issues requests, based on monitoring producer cache capacity utilization. This preliminary action ensures data is already in the consumer cache when needed, eliminating access latency while maintaining the benefit of on-demand retrieval through the consumer's ability to request data when its cache is ready.

Inventive Principle:
Principle #10Preliminary action

4Quantity of substance

If the producer cache size is increased to store more processed data, then more data can be transferred directly, but cache capacity conflicts increase and system complexity grows

Engineering Contradiction:
Improvecached data volumeVSAvoidcache capacity conflict management
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent implements asymmetric cache capacity thresholds tailored to each producer-consumer pair's specific workload characteristics and data access patterns. Instead of using a uniform cache size or threshold for all pairs, the system configures local thresholds that optimize data transfer timing for each specific relationship, reducing capacity conflicts and improving transfer efficiency without increasing overall system complexity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP4026005B1Producer-to-consumer active direct cache transfers
Publication Date: 2024.05.01 XILINX INC
  • EP4026005B1 patent drawingFigure 1
  • EP4026005B1 patent drawingFigure 2
  • EP4026005B1 patent drawingFigure 3

AI summary

The embodiments herein creates DCT mechanisms that initiate a DCT at the time the updated data is being evicted from the producer cache (125). These DCT mechanisms are applied when the producer is replacing the updated contents in its cache because the producer has either moved on to working on a different data set (e.g., a different task) or moved on to working on a different function, or when the producer-consumer task manager (e.g., a management unit) enforces software coherency by sending Cache Maintenance Operations (CMO). One advantage of the DCT mechanism is that because the direct cache transfer takes place at the time the updated data is being evicted, by the time the consumer begins its task, the updated contents have already been placed in its own cache or another cache within the cache hierarchy.