Selective Coherency Domain Broadcast for Cache Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cache coherent data processing systems face scalability issues due to the requirement of global broadcast of coherency messages, which consumes increasing bandwidth as systems scale, leading to higher access latencies and reduced efficiency.
Innovation Solution
The implementation of coherency domains allows for selective scope determination of broadcast operations, enabling local broadcasts within a coherency domain and optional expansion to include additional domains based on the type of operation, reducing unnecessary broadcasts and conserving bandwidth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If global broadcast of coherency messages is used to maintain cache coherency, then cache coherency is ensured across all processing units, but bandwidth consumption increases and access latency increases as systems scale
Solution Approach 1:
The system divides the coherency domain into multiple sub-domains or groups, allowing coherency messages to be broadcast selectively within subsets of cache hierarchies rather than requiring global broadcast to all processing units. This segmentation reduces the number of recipients for each coherency message while maintaining coherency within each segment.
Solution Approach 2:
The patent implements different broadcast scopes for different coherency messages based on their specific requirements. Some messages are broadcast globally while others are broadcast only to local or regional cache hierarchies. This allows the system to use the minimum necessary broadcast scope for each message type, reducing overall bandwidth consumption while maintaining coherency where required.
2Reliability
If global broadcast of coherency messages is used to maintain cache coherency, then cache coherency is ensured across all processing units, but access latency increases as systems scale
Solution Approach 1:
By segmenting the coherency domain into smaller sub-domains, the broadcast propagation distance is reduced. Coherency messages only need to reach cache hierarchies within the relevant sub-domain rather than traversing the entire system interconnect, thereby reducing access latency while maintaining coherency within each segment.
Solution Approach 2:
The system pre-establishes coherency groups or domains before operation, allowing coherency messages to be routed efficiently to predetermined subsets of cache hierarchies. This preliminary organization enables faster message delivery compared to dynamic global broadcasting, as the target recipients are already identified and grouped.
3Reliability
If global broadcast of coherency messages is used, then cache coherency is maintained, but system scalability is impeded due to increasing bandwidth consumption
Solution Approach 1:
The coherency system is divided into independent or semi-independent domains that can be scaled individually. Each domain can be expanded or contracted without requiring global reconfiguration, allowing the system to scale adaptively. This segmentation enables the addition of new processing units in a modular fashion while maintaining coherency within each domain.
Solution Approach 2:
The broadcast scope is made dynamic rather than static, allowing the system to adjust the scope of coherency broadcasts based on current system state, message type, and domain configuration. This dynamic approach enables the system to scale flexibly, as the coherency protocol can adapt to different system sizes and configurations without requiring complete reimplementation.
Data Source
AI summary
A cache coherent data processing system includes a memory and at least first and second coherency domains that each include a respective one of first and second cache memories. A master in the first coherency domain selects a scope of an initial broadcast of an operation targeting a request address allocated to the memory from among a first scope including only the first coherency domain and a second scope including both the first and second coherency domains. The master selects the scope based, at least in part, upon whether the memory belongs to the first coherency domain and performs an initial broadcast of the operation within the cache coherent data processing system utilizing the selected scope.


