OS Scheduler Parallelism Thresholding for Single-Threaded Workloads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing process schedulers struggle to efficiently manage resource utilization and throughput by failing to account for instruction level parallelism (ILP) and memory level parallelism (MLP) of pending processes, leading to under-utilization or over-utilization of system resources.
Innovation Solution
A processor determines parallelism values for each pending process based on ILP or MLP, sorts processes accordingly, and schedules them based on a parallelism threshold and process threshold to optimize resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If existing process schedulers manage execution without considering ILP and MLP, then the scheduling algorithm remains simple, but system resource utilization is poor and throughput is reduced
Solution Approach 1:
The patent changes the scheduling parameters from simple process state management to incorporating ILP and MLP metrics. The scheduler now uses parallelism values as key parameters to determine process selection, transforming the scheduling decision criteria to achieve better resource utilization and throughput while managing the increased complexity through structured parameter integration.
2Reliability
If the scheduler prioritizes processes with high parallelism values, then resource utilization improves, but processes with lower parallelism may be starved
Solution Approach 1:
The patent implements a feedback mechanism where the scheduler continuously monitors parallelism values of pending processes and adjusts scheduling decisions accordingly. By using feedback from ILP and MLP metrics, the system can dynamically balance resource allocation between high-parallelism and low-parallelism processes, preventing starvation while maintaining efficient resource utilization through adaptive scheduling decisions.
3Measurement precision
If the scheduler considers multiple parallelism metrics for each process, then scheduling accuracy improves, but the computational overhead increases
Solution Approach 1:
The patent applies preliminary action by pre-calculating and maintaining parallelism values for processes before they enter the scheduling queue. The system establishes ILP and MLP metrics in advance through process characterization, so that during actual scheduling decisions, the scheduler can quickly reference these pre-computed values rather than performing complex real-time analysis, thereby reducing scheduling computation time while maintaining measurement accuracy.
Data Source
AI summary
A method includes determining a parallelism value for each pending process of a set of pending processes based on instruction level parallelism or memory level parallelism for the pending processes, where each pending process is a single-threaded process. The method also includes sorting each pending process based on the process' parallelism value. The method further includes determining, from the set of pending processes, a set of scheduled processes for a processor based on a parallelism threshold associated with the processor, a process threshold associated with the processor, and the sorting. The set of scheduled processes is determined by adding pending processes to the set of scheduled processes unless a quantity of scheduled processes equals the process threshold. The set of scheduled processes is also determined by removing pending processes from the set of pending processes once the respective pending process is added to the set of scheduled processes.


