Broadcast Prediction Data Structure for Memory Request Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In shared memory computing systems, cache misses significantly limit performance due to increased latency and bandwidth requirements, and conventional methods to reduce cache misses often incur additional costs and performance penalties, particularly in clustered systems where global bandwidth is a concern.
Innovation Solution
The implementation of a broadcast prediction data structure that determines whether to perform an early global broadcast of a memory request by tracking the ownership history of cache lines, allowing for concurrent or alternative broadcasting based on prediction data, thereby reducing unnecessary global pumps and network traffic.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If global broadcasts are performed for every memory request, then cache coherence is maintained, but bandwidth consumption and latency increase
Solution Approach 1:
The system performs preliminary actions by maintaining a broadcast prediction data structure that records historical broadcast patterns and cache line ownership information before actual broadcasts occur. This allows the system to predict which memory requests will result in actual cache coherence issues and prepare appropriate responses in advance, avoiding unnecessary global broadcasts while maintaining coherence where needed.
Solution Approach 2:
The patent implements feedback mechanisms by continuously monitoring cache line ownership status and broadcast outcomes, then using this information to update the broadcast prediction data structure. This feedback loop enables the system to learn from previous broadcast experiences and adjust future broadcast decisions, reducing unnecessary broadcasts while maintaining coherence reliability.
2Loss of energy
If broadcast prediction data structure is implemented, then unnecessary global broadcasts are reduced, but device complexity increases
Solution Approach 1:
The system creates a simplified copy of cache line ownership information in the broadcast prediction data structure, rather than maintaining full complex ownership tracking mechanisms. This copy contains only the essential information needed for prediction (such as recent ownership history and broadcast patterns), reducing the complexity burden while enabling effective broadcast decisions.
Solution Approach 2:
The patent applies local quality by making the broadcast prediction data structure specific to individual cache lines and processing units, rather than implementing a system-wide complex prediction mechanism. Each cache line maintains its own prediction state based on local access patterns, allowing simple per-line predictions without requiring complex global coordination.
3Reliability
If cache size is increased to reduce cache misses, then cache hit rate improves, but cost and space requirements increase
Solution Approach 1:
The system performs preliminary actions by predicting cache line ownership and broadcast requirements before actual memory requests occur. This prediction capability allows the cache to make more effective use of its limited space by anticipating which cache lines are likely to be accessed and preparing appropriate broadcast responses, thereby improving cache hit effectiveness without requiring larger cache capacity.
Data Source
AI summary
A method, circuit arrangement, and design structure utilize broadcast prediction data to determine whether to globally broadcast a memory request in a computing system of the type that includes a plurality of nodes, each node including a plurality of processing units. The method includes updating broadcast prediction data for a cache line associated with a first memory request within a hardware-based broadcast prediction data structure in turn associated with a first processing unit in response to the first memory request, the broadcast prediction data for the cache line including data associated with a history of ownership of the cache line. The method further comprises accessing the broadcast prediction data structure and determining whether to perform an early broadcast of a second memory request to a second node based on broadcast prediction data within the broadcast prediction data structure in response to that second memory request associated with the cache line.


