Banked Cache Store Queue Selection for Bandwidth Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Banked cache architectures fail to realize increased memory access bandwidth when memory access requests are concentrated in a subset of banks, leading to underutilization of available memory access bandwidth.
Innovation Solution
A data processing system with multiple processor cores and a banked lower level cache, where store requests are buffered in multiple store queues, and requests targeting a common bank are temporarily favored for issuance over those targeting other banks to improve bandwidth utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If store requests are distributed evenly across multiple store queues, then the system maintains simplicity in request management, but store bandwidth utilization decreases when requests concentrate on specific banks
Solution Approach 1:
The patent implements dynamic selection of favored store queues based on real-time bank utilization patterns. The system monitors which banks receive concentrated store requests and dynamically adjusts which store queues are favored for issuance, transforming a static round-robin or priority scheme into an adaptive mechanism that responds to workload distribution patterns.
Solution Approach 2:
The system incorporates feedback loops that monitor bank utilization and adjust store queue selection accordingly. When requests concentrate on specific banks, the feedback mechanism identifies this pattern and modifies the issuance strategy to favor store queues that can better distribute requests across underutilized banks, thereby optimizing overall store bandwidth utilization.
2Productivity
If the system favors store requests from one queue over another, then store bandwidth utilization improves for concentrated workloads, but request issuance fairness deteriorates
Solution Approach 1:
The favored queue designation is not static but dynamically changes based on workload patterns. When one queue is favored due to concentrated requests targeting specific banks, the system monitors for pattern changes and switches the favored queue when appropriate, ensuring that no single queue is permanently disadvantaged and maintaining long-term fairness.
Solution Approach 2:
The system changes the selection parameter from fixed queue priorities to dynamic bank-utilization-based preferences. By adjusting which queue is favored based on real-time analysis of request patterns and bank utilization, the system adapts to varying workload conditions while maintaining fairness across different scenarios.
3Productivity
If all store requests are processed through a single unified queue, then queue management remains simple, but the cache cannot achieve increased memory access bandwidth through banked architecture
Solution Approach 1:
The patent divides the single unified store queue into multiple separate store queues, each potentially specialized for different request patterns or sources. This segmentation enables the system to better manage and distribute requests across multiple cache banks, thereby achieving the increased memory access bandwidth that banked architecture requires while maintaining organized queue management.
Solution Approach 2:
Multiple store queues serve multiple functions: they act as buffers for incoming requests, as distribution mechanisms for load balancing across banks, and as selection candidates for optimization based on workload patterns. This multi-functionality justifies the added complexity of managing multiple queues by delivering significant performance benefits.
Data Source
AI summary
A data processing system includes a plurality of processor cores each having a respective store-through upper level cache and a store-in banked lower level cache. Store requests of the plurality of processor cores destined for the banked lower level cache are buffered in multiple store queues including a first store queue and a second store queue. In response to determining that the multiple store queues contain store requests targeting a common bank of the banked lower level cache, store requests from the first store queue are temporarily favored for selection for issuance to the banked lower level cache over those in the second store queue.


