Ownership-Based Cache Coherence for Multi-Core Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multi-core systems face significant challenges in maintaining cache coherency across multiple cores and cache layers, leading to increased overhead, power consumption, and performance bottlenecks due to complex cache coherence management systems.
Innovation Solution
The proposed solution combines shared and private L1 cache banks using simple ownership tables and dedicated remote interfaces, eliminating the need for complex cache coherence management by tracking ownership of cache lines through ownership tables maintained at higher layers of the cache hierarchy, thereby reducing latency and power consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If snoop-based cache coherence protocol is used, then cache coherency is maintained, but system performance decreases and power consumption increases
Solution Approach 1:
The patent segments the cache coherence management by dividing caches into private L1 caches per core and shared L2 caches. Each L1 cache is privately managed by its core, while L2 caches share data among cores. This segmentation eliminates the need for snoop-based protocols across all caches, as L1 caches operate independently and only L2 caches require coherence management, significantly reducing overhead and improving performance.
Solution Approach 2:
The patent introduces an intermediary mechanism where the L2 cache acts as a buffer between L1 caches and main memory. The L2 cache handles coherence management for shared data, while L1 caches focus on fast private access. This intermediary structure reduces the coherence overhead on the critical L1 cache access path, improving overall system performance while maintaining coherency.
2Reliability
If snoop-based cache coherence protocol is used, then cache coherency is maintained, but power consumption increases
Solution Approach 1:
By segmenting the cache hierarchy into private L1 and shared L2 caches, the patent reduces the scope of coherence management to only L2 caches. L1 caches operate independently without snoop operations, significantly reducing power consumption on the frequently accessed L1 cache path while maintaining coherency where needed at L2.
3Adaptability or versatility
If directory-based cache coherence is used, then scalability is improved, but system complexity increases
Solution Approach 1:
The patent segments coherence management responsibilities: L1 caches have simple private ownership, while L2 caches handle shared data coherence. This segmentation avoids the need for complex distributed directory protocols across all caches, reducing system complexity while maintaining scalability through the hierarchical structure.
4Speed
If private caches are used, then memory access speed is improved, but cache coherence overhead increases
Solution Approach 1:
The patent segments memory access into fast private L1 cache access and shared L2 cache access. L1 caches provide fast access without coherence overhead, while L2 caches handle shared data with simplified coherence management. This segmentation maintains high-speed private access while reducing overall coherence overhead compared to fully private cache systems.
Data Source
AI summary
A computer system includes a first core including a first local cache and a second core including a second local cache. The first core and the second core are coupled through a remote link. A shared cache coupled to the first core and to the second core. The shared cache includes an ownership table that includes a plurality of entries indicating if a cache line is stored solely in the first local cache or solely in the second local cache. The remote link includes a first link between the first core and the shared cache and a second link between the second core and the shared cache.


