OS Scheduler Parallelism Thresholding for Single-Threaded Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesystem throughputVSAvoidscheduling algorithm complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the scheduler prioritizes processes with high parallelism values, then resource utilization improves, but processes with lower parallelism may be starved

Engineering Contradiction:
Improveresource utilizationVSAvoidprocess completion fairness
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If the scheduler considers multiple parallelism metrics for each process, then scheduling accuracy improves, but the computational overhead increases

Engineering Contradiction:
Improveparallelism measurement accuracyVSAvoidscheduling computation time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250370753A1Operating system scheduler enhancements for improving performance of multiple single threaded workloads
Publication Date: 2025.12.04 QUALCOMM INC
  • US20250370753A1 patent drawing
  • US20250370753A1 patent drawing
  • US20250370753A1 patent drawing

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.