Word-Level Cache Coherence to Reduce False Sharing Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cache coherence schemes in computing systems incur inefficiencies and latency due to false sharing and ping-pong cache line ownership when multiple cores attempt to write different words within a cache line, as they require full ownership transfer and invalidation of read-only copies.
Innovation Solution
Implementing a cache management system that tracks writability and readability at a word granularity using a modified MESI cache coherence scheme with a 'P' state, allowing multiple cores to access individual words with different permission states, and using a lower-level cache to manage permissions and maintain lists of writers and readers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If full cache line ownership transfer is used to ensure cache coherence, then data consistency is maintained, but false sharing and ping-pong ownership transfers occur causing increased latency and reduced performance
Solution Approach 1:
The patent segments the cache line into individual word-granularity units, allowing different permission states (readable, writable, invalid) to be tracked for each word independently. This segmentation enables partial ownership transfer where only specific words are invalidated or updated, rather than requiring full cache line ownership transfer, thereby reducing false sharing and ping-pong effects while maintaining data consistency.
2Productivity
If traditional MESI cache coherence scheme is used, then implementation is simple, but it cannot efficiently handle multiple cores writing to different words within the same cache line
Solution Approach 1:
The patent applies local quality by assigning different permission states (readable, writable, invalid) to different words within the same cache line based on local access patterns. Each word can have its own state independently, allowing core A to have writable access to word0 while core B has writable access to word1, thereby enabling efficient multi-core writes without requiring complex global ownership transfer protocols.
3Reliability
If read-only copies are invalidated on any write operation, then cache coherence is maintained, but unnecessary ownership transfers occur reducing performance
Solution Approach 1:
The patent implements partial action by invalidating or updating only the specific word that is being written, rather than invalidating the entire cache line or all read-only copies. When core A writes to word0, only the metadata for word0 is updated and other words retain their permission states, allowing read-only copies to be preserved where applicable and reducing unnecessary ownership transfers and performance degradation.
Data Source
Figure 1A
Figure 1B
Figure 1C
AI summary
A system and method for cache management. In some embodiments, a system includes: a lower-level cache; a first upper-level cache; and a second upper-level cache, the lower-level cache, the first upper-level cache, and the second upper-level cache being configured: to store first metadata of a cache line, in the first upper-level cache, the first metadata indicating that the cache line is in a partial state, the partial state indicating that at least two words in the cache line are in different permission states.