Multi-Layer Scheduler for Quasi-Parallel Thread Execution
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If hierarchical priority scheduling is implemented, then real-time requirements are met, but system adaptability to different application scales is reduced
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.
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.
3Adaptability or versatility
If multiple scheduling algorithms are combined, then scheduling flexibility is improved, but the system complexity and difficulty of monitoring increases
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.
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.
Data Source
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.

