Adaptive Partition Scheduler for Multiprocessing Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing process scheduling systems in operating systems face challenges in real-time systems, particularly with long latencies for low-priority threads and vulnerability to malicious software, and lack responsiveness in multiprocessing environments.

Innovation Solution

A symmetric multiprocessing system employs an adaptive partition processing scheduler that allocates processing units based on merit function values, considering available CPU budgets and global budgets, to manage and prioritize threads across multiple processing units, ensuring fair share and responsiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If per-thread scheduling systems are used with priority levels, then design flexibility is provided, but very long latencies occur for low-priority threads

Engineering Contradiction:
Improvedesign flexibilityVSAvoidlatency for low-priority threads
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system segments the scheduling mechanism into per-thread priority levels and per-partition budget control. Threads are grouped into partitions that have guaranteed CPU time budgets, while individual threads within partitions maintain priority levels for ordering. This segmentation allows low-priority threads to receive guaranteed execution time through partition budget allocation, preventing indefinite postponement while preserving design flexibility.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If per-thread scheduling systems are used with priority assignment, then design flexibility is provided, but coordination complexity increases between software designers

Engineering Contradiction:
Improvedesign flexibilityVSAvoidcoordination complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The partition acts as an intermediary layer between software designers and the scheduling system. Designers assign threads to partitions with budget parameters rather than directly configuring complex scheduling interactions. The partition scheduler mediates resource allocation based on budget constraints, automatically managing coordination between multiple threads and partitions without requiring designers to manually resolve scheduling conflicts.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If global fair-share scheduling systems are used, then malicious software interference is prevented, but responsiveness is reduced in real-time systems

Engineering Contradiction:
Improveprotection against malicious softwareVSAvoidresponsiveness
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system applies different scheduling qualities to different partitions: real-time partitions with strict budget guarantees provide responsive, deterministic execution for critical threads, while other partitions use fair-share scheduling for non-critical workloads. This local differentiation allows the system to maintain responsiveness for time-sensitive operations while still providing fair resource distribution and protection against malicious software in non-real-time partitions.

Inventive Principle:
Principle #3Local quality

4Device complexity

If CPU time is allocated based on priority levels only, then simple scheduling is maintained, but long latencies occur for low-priority threads

Engineering Contradiction:
Improvescheduling simplicityVSAvoidlatency for low-priority threads
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system dynamically adjusts scheduling behavior based on partition budget status. When a partition has available budget, threads are scheduled according to their priority levels maintaining simple ordering. When budget is exhausted, the scheduler dynamically switches to blocking further allocations to that partition, ensuring other partitions can execute. This dynamic adaptation prevents long latencies for low-priority threads while maintaining scheduling simplicity through priority-based ordering within active partitions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8631409B2Adaptive partitioning scheduler for multiprocessing system
Publication Date: 2014.01.14 MALIKIE INNOVATIONS LTD
  • US8631409B2 patent drawing
  • US8631409B2 patent drawing
  • US8631409B2 patent drawing

AI summary

A symmetric multiprocessing system includes multiple processing units and corresponding instances of an adaptive partition processing scheduler. Each instance of the adaptive partition processing scheduler selectively allocates the respective processing unit to run process threads of one or more adaptive partitions based on a comparison between merit function values of the one or more adaptive partitions. The merit function for a particular partition of the one or more adaptive partitions may be based on whether the adaptive partition has available budget on the respective processing unit. The merit function for a particular partition associated with an instance of the adaptive partition scheduler also, or in the alternative, may be based on whether the adaptive partition has available global budget on the symmetric multiprocessing system.