Multi-Layer Scheduler for Quasi-Parallel Thread Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing POSIX-compliant operating systems lack standardized arbitration logic for quasi-parallel execution of threads, which is crucial for real-time and embedded applications, and existing schedulers fail to effectively manage threads with varying time requirements and properties.

Innovation Solution

A multi-layer scheduler architecture is implemented, comprising a time-slicing process, an adaptive partition scheduler, and a privileged management process, allowing for hierarchical priority assignment and configurable runtime allocation to threads, ensuring flexible scheduling and monitoring across different application scales.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single scheduling algorithm is used, then the system is simple to implement, but it cannot effectively manage threads with varying time requirements and properties

Engineering Contradiction:
Improveability to manage threads with varying time requirementsVSAvoidscheduler architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The scheduler is divided into multiple independent scheduling algorithms operating at different levels. Each scheduling algorithm handles specific scheduling needs (e.g., rate-monotonic scheduling for real-time threads, time-slicing for user threads), allowing the system to manage diverse thread requirements without requiring a single complex algorithm to handle all cases.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the scheduling architecture, with scheduling algorithms organized in levels (e.g., lower-level rate-monotonic scheduler for real-time constraints, upper-level time-slicing scheduler for general time management). This dimensional organization allows each level to address specific scheduling concerns independently, improving adaptability while maintaining manageable complexity through clear separation of concerns.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If hierarchical priority scheduling is implemented, then real-time requirements are met, but system adaptability to different application scales is reduced

Engineering Contradiction:
Improvereal-time requirement fulfillmentVSAvoidadaptability to different application scales
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The hierarchical scheduler is designed to be dynamically configurable, allowing the activation or deactivation of specific scheduling levels based on application requirements. For example, the rate-monotonic scheduling level can be activated for systems requiring hard real-time guarantees, while being deactivated or simplified in systems with softer real-time requirements, thus adapting the system's real-time capability to match the application scale and needs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The scheduler allows dynamic adjustment of scheduling parameters such as time-quantum values, priority assignments, and budget allocations at different hierarchical levels. This enables the system to adapt its scheduling behavior to different application scales by modifying these parameters without changing the fundamental hierarchical structure, maintaining real-time reliability while providing flexibility for various deployment scenarios.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If multiple scheduling algorithms are combined, then scheduling flexibility is improved, but the system complexity and difficulty of monitoring increases

Engineering Contradiction:
Improvescheduling flexibilityVSAvoidmonitoring and control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a management process as an intermediary component that sits between the multiple scheduling algorithms and the threads being scheduled. This management process provides a unified interface for monitoring and controlling all scheduling activities, abstracting away the complexity of multiple algorithms from the user perspective while maintaining the flexibility benefits of combining different scheduling approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The management process is designed as a universal monitoring and control component that can observe and regulate multiple different scheduling algorithms through a single unified interface. This multi-functional component handles scheduling decisions, monitoring, and control across all scheduling levels, reducing the overall system complexity by providing a consistent management layer despite the diversity of underlying scheduling algorithms.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10146578B2Method and device for the quasi-parallel execution of threads
Publication Date: 2018.12.04 ROBERT BOSCH GMBH
  • US10146578B2 patent drawing
  • US10146578B2 patent drawing

AI summary

A method for the quasi-parallel execution of threads, including: within a time slice, time-limited resources, particularly a computing time, are allotted to the threads by a preemptive first scheduler on the basis of a priority of the threads, and the first scheduler is combined with further schedulers.