Warp Scheduling Adjusts Window Size for GPU Memory Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High thread level parallelism in GPUs leads to memory contention issues due to insufficient memory resources and long off-chip memory access stalls, which can overload the memory system and reduce performance.
Innovation Solution
A warp scheduling method that adjusts the size of the schedulable warp indication window based on load/store unit stall cycle proportions, shrinking or enlarging it depending on memory contention severity to balance memory workload and resources, thereby optimizing the number of warps that can be scheduled for execution.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If high thread level parallelism is provided to improve latency hiding ability, then the GPU can better overlap waiting time, but the memory system becomes overloaded due to too many data requests
Solution Approach 1:
The patent implements dynamic adjustment of the schedulable warp indication window size based on real-time memory contention conditions. The window size is adjusted according to the proportion of load/store unit stall cycles, allowing the system to adaptively control the number of schedulable warps. This dynamic mechanism enables the GPU to maintain high thread level parallelism when memory contention is low while reducing parallelism when memory contention is high, thus resolving the contradiction between latency hiding ability and memory system overload.
2Productivity
If a large number of parallel threads are scheduled to improve latency hiding, then waiting time can be overlapped, but memory resources become insufficient to support the parallel threads
Solution Approach 1:
The patent changes the parameter of schedulable warp indication window size based on memory resource availability and contention conditions. By adjusting this parameter dynamically, the system can control the number of parallel threads that access memory resources. When memory resources are sufficient and contention is low, the window size is increased to improve parallel processing capability. When memory resources are insufficient and contention is high, the window size is reduced to prevent resource exhaustion, thus resolving the contradiction between parallel processing capability and memory resource availability.
Data Source
AI summary
A warp scheduling method includes: storing multiple first warps issued to a streaming multiprocessor in an instruction buffer module; marking multiple second warps which are able to be scheduled in the first warps by a schedulable warp indication window, wherein the number of the marked second warps is the size of the schedulable warp indication window; sampling a load/store unit stall cycle in each time interval to obtain a load/store unit stall cycle proportion; comparing the load/store unit stall cycle proportion with a stall cycle threshold value, and adjusting the size of the schedulable warp indication window and determining the second warps according to the comparison result; and issuing the second warps from the instruction buffer module to a processing module for execution.


