Multi-processor Job Scheduling via Global Local Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multi-processor scheduling algorithms face challenges with high job migration rates and low real-time utilization, leading to unstable system performance and increased load, particularly in systems with delays and limited memory performance.
Innovation Solution
A method involving a global job scheduling function that communicates with local scheduling functions to maintain status information and laxity values, allowing jobs to be dispatched and recalled based on processor idle times, reducing job migrations, and enabling efficient load sharing across processors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If global scheduling algorithms like EDF, LLF, or PFair are used in multi-processor systems, then real-time utilization can be improved, but job migration rates increase significantly leading to unstable system performance
Solution Approach 1:
The scheduling function is segmented into global and local components. The global scheduler maintains an overview and makes high-level decisions, while local schedulers on each processor handle job execution and make local optimization decisions. This segmentation reduces the frequency and impact of job migrations across processors while maintaining high real-time utilization through coordinated local scheduling.
2Productivity
If global scheduling with full migration is used, then processor utilization can be increased, but the number of scheduler invocations overwhelms the system
Solution Approach 1:
The scheduling decision-making process is extracted from a purely global centralized model. Local schedulers are empowered to make autonomous scheduling decisions based on local processor states, reducing the number of global scheduler invocations. The global scheduler only intervenes when necessary for system-wide optimization, significantly reducing overhead while maintaining high processor utilization.
3Productivity
If job migrations are increased to improve load balancing, then processor utilization improves, but system performance becomes unstable due to accelerating load increase
Solution Approach 1:
The scheduling system performs preliminary actions by maintaining updated status information about processor idle times and job laxity values in advance. This allows the scheduler to proactively allocate jobs to processors that will be idle soon, preventing the need for reactive job migrations. By anticipating processor availability and job urgency, the system achieves load balancing without the instability caused by frequent reactive migrations.
Data Source
Figure 1~3
Figure 4A
Figure 4B
AI summary
Scheduling of processing jobs in a multi-processor computing apparatus is described. A global job scheduling function (102) communicates with a plurality of local job scheduling functions (112), each local job scheduling function being associated with a respective processor (108). The global job scheduling function maintains updated status information regarding any idle processor, points in time when any processor is expected to be idle, and laxity values associated with any processor. The global job scheduling function schedules jobs by dispatching jobs to the local job scheduling functions and the dispatching is conditioned on the status information. Jobs are recalled from the local job scheduling functions at any non-idle processor and any recalled job is dispatched to a local job scheduling function at an idle processor. Interrupted jobs are received from the local job scheduling functions, and any received interrupted job is dispatched to a local job scheduling function, the dispatching being conditioned on the status information.