Cooperative Scheduling Component for Multi-Processor Thread Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-processor computer systems, the lack of coordination among scheduler components like thread launcher, thread balancer, and thread stealer leads to chaotic and unpredictable thread scheduling, resulting in unnecessary thread shifting, delayed execution, and increased overhead due to conflicting data and algorithms used by each component at different times.
Innovation Solution
A cooperative scheduling component (CSC) is introduced to collect and calculate unified scheduling-related parameters (USRPs) for all components, ensuring they use the same data and algorithms to perform their tasks, thereby coordinating thread scheduling across processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If each scheduler component (thread launcher, thread balancer, thread stealer) independently calculates scheduling parameters using their own algorithms at different times, then each component can operate autonomously, but the system experiences chaotic and unpredictable thread scheduling with conflicting data
Solution Approach 1:
The patent merges the independent scheduling parameter calculation functions of thread launcher, thread balancer, and thread stealer into a unified cooperative scheduling component. This single component collects system data and calculates all scheduling parameters (least-loaded CPU, most-loaded CPU, thread priorities) using consistent algorithms at the same time, eliminating conflicts while maintaining autonomous operation capabilities through standardized interfaces.
Solution Approach 2:
The cooperative scheduling component is designed as a universal multi-functional unit that performs all scheduling parameter calculations previously done by separate components. It provides unified scheduling parameters to thread launcher, thread balancer, and thread stealer, enabling them to operate with consistent data while retaining their specific scheduling functions.
2Adaptability or versatility
If scheduler components use different algorithms and data gathered at different times, then implementation flexibility is maintained, but unnecessary thread shifting and delayed execution occur
Solution Approach 1:
The cooperative scheduling component performs preliminary action by collecting system data and calculating all scheduling parameters before thread scheduling decisions are made. This upfront calculation ensures that thread launcher, thread balancer, and thread stealer all use the same current system state information, preventing unnecessary thread shifting and delays while maintaining algorithm flexibility.
3Device complexity
If independent components execute scheduling algorithms at different times, then system modularity is preserved, but overhead increases due to coordinated recalculations
Solution Approach 1:
By merging the scheduling parameter calculation functions into a single cooperative component, the patent eliminates redundant recalculations that would occur if independent components executed algorithms at different times. The unified component calculates all parameters once and provides them to all scheduler components, reducing overhead while preserving modularity through standardized communication interfaces.
Data Source
AI summary
A method in a computer system for coordinating scheduling of threads among a plurality of processors. The method includes collecting, using a cooperative scheduling component (CSC), system data pertaining to the plurality of processors. The method further includes calculating, using the CSC, unified scheduling-related parameters (USRPs) from the system data. The method additionally includes furnishing the USRPs from the CSC to at least two of a thread launcher, a thread balancer, and a thread stealer, whereby at least two of the thread launcher, the thread balancer, and the thread stealer employ the USRPs to perform their respective scheduling-related tasks.


