Shared Cache Cacheline Transfer Cost Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional processing systems do not consider the varying topology when transferring cachelines between private caches, leading to inefficient cacheline transfers due to arbitrary selection of caches, resulting in increased time spent on routing probes and data transfers.
Innovation Solution
The system uses a shared cache with access to shadow tag memory and topology information to determine the transfer cost for each private cache containing a valid cacheline, selecting the cache with the lowest transfer cost to minimize time and optimize cacheline transfers based on interconnect topology.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional systems use arbitrary selection of private caches for cacheline transfers, then the system is simple to implement, but the transfer time increases and efficiency decreases
Solution Approach 1:
The system pre-computes and stores transfer cost metrics for all private cache pairs before actual cacheline transfers occur. These metrics, which represent the time required to transfer cachelines between caches, are calculated in advance based on interconnect topology and transfer characteristics, allowing the shared cache to quickly identify the optimal source cache without performing complex real-time analysis during transfer operations.
Solution Approach 2:
The system dynamically selects the source private cache based on transfer cost metrics rather than using a fixed or arbitrary selection method. The shared cache evaluates the pre-computed transfer costs and adaptively chooses the cache that minimizes transfer time, allowing the system to optimize cacheline transfers according to current conditions and topology variations.
2Loss of time
If the system considers topology information for cacheline transfers, then transfer time is reduced, but the complexity of the cache management system increases
Solution Approach 1:
Transfer cost metrics that incorporate topology information are pre-computed and stored before actual cacheline transfers. The system analyzes the interconnect topology in advance and calculates the transfer time for cachelines between all pairs of private caches, storing these metrics for quick reference during transfer operations, thus avoiding real-time topology analysis complexity.
Solution Approach 2:
The shared cache acts as an intermediary that uses pre-computed transfer cost metrics to make intelligent routing decisions. Rather than requiring each component to understand or process topology information directly, the shared cache mediates the transfer process by selecting optimal source caches based on pre-analyzed topology data, simplifying the overall system architecture.
3Ease of manufacture
If arbitrary cache selection is used, then the system is easier to implement, but system interconnect traffic increases
Solution Approach 1:
The system pre-calculates transfer cost metrics that reflect the actual interconnect path characteristics and transfer times between private caches. This preliminary analysis identifies the most efficient transfer paths, allowing the shared cache to route cachelines through optimal paths that minimize interconnect traffic and energy consumption.
Solution Approach 2:
The system changes the selection criterion from arbitrary cache selection to selection based on transfer cost metrics. By using these metrics as the selection parameter, the system identifies and utilizes the most efficient transfer paths, reducing unnecessary interconnect traffic and energy consumption while maintaining implementation feasibility.
Data Source
AI summary
A processing system includes a plurality of compute units, with each compute unit having an associated first cache of a plurality of first caches, and a second cache shared by the plurality of compute units. The second cache operates to manage transfers of caches between the first caches of the plurality of first caches such that when multiple candidate first caches contain a valid copy of a requested cacheline, the second cache selects the candidate first cache having the shortest total path from the second cache to the candidate first cache and from the candidate first cache to the compute unit issuing a request for the requested cacheline.


