Event-Driven Task Scheduler for Multiprocessor Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current multiprocessor systems face challenges in efficiently managing real-time multitasking processing due to high scheduling overhead and inflexibility in configuring scheduling mechanisms and priority disciplines, which affects processor load balance and predictability.
Innovation Solution
A multiprocessor system with a task scheduler that evaluates task priorities based on events, assigns tasks to lists, and allows processors to serve these lists, enabling flexible load balancing and partial configuration of scheduling mechanisms, reducing overhead through a timer-tickless and event-driven approach.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a traditional timer-tick scheduler is used, then the system provides regular time slicing for task execution, but the scheduling overhead increases significantly due to frequent timer interrupts
Solution Approach 1:
The patent implements a timer-tickless scheduler that eliminates periodic timer interrupts by using event-driven scheduling. Tasks are scheduled based on their execution requirements and events rather than fixed time periods, removing the continuous overhead of periodic timer ticks while still providing structured task management.
Solution Approach 2:
The scheduler allows tasks to self-manage their execution timing through event triggers. Instead of the system forcing periodic scheduling through timer interrupts, tasks are executed when specific events occur, allowing the system to operate without continuous external timing intervention and reducing scheduling overhead.
2Measurement precision
If the scheduler is implemented as a timer interrupt routine executing every timer tick, then the system provides regular task switching, but the time precision is limited by the timer tick period
Solution Approach 1:
The system uses event-driven scheduling where tasks are triggered by specific events rather than periodic timer interrupts. This allows the scheduler to operate without continuous timing intervention, achieving high time precision based on actual event occurrence rather than being constrained by fixed timer tick periods, while simultaneously reducing scheduling overhead.
3Adaptability or versatility
If a fixed priority discipline is used, then the scheduling mechanism is simple and predictable, but the system lacks flexibility in adapting to dynamic runtime conditions
Solution Approach 1:
The patent implements a dynamic priority discipline where task priorities can change during runtime based on system conditions and events. The scheduler evaluates task priorities dynamically rather than using fixed assignments, allowing the system to adapt to changing runtime conditions while maintaining a relatively simple event-driven scheduling framework.
Solution Approach 2:
The system changes the priority parameter of tasks dynamically during execution based on events and system state. This allows the scheduling mechanism to adapt its behavior without fundamentally changing its structure, maintaining simplicity while achieving flexibility through parameter adjustment rather than structural complexity.
4Productivity
If global scheduling is used where all processors serve a single ready queue, then load balance is improved, but predictability decreases due to increased interactions among tasks
Solution Approach 1:
The patent segments the task queue into multiple priority-based lists rather than using a single global ready queue. Each processor can serve tasks from appropriate priority lists, maintaining load balance through distributed access while reducing unpredictable interactions by organizing tasks into structured priority segments that limit cross-processor contention.
Data Source
AI summary
Disclosed herein is a multiprocessor system for facilitating real-time multitasking processing. The multiprocessor system may include a task scheduler and a plurality of processors. Further, the task scheduler may be configured for receiving an event associated with the multiprocessor system, evaluating a plurality of task priorities associated with a plurality of tasks based on the event, determining a plurality of new task priorities for the plurality of tasks and assigning the plurality of tasks to a plurality of lists based on the determining. Further, the plurality of processors may be communicatively coupled with the task scheduler. Further, the plurality of processors serves the plurality of lists. Further, a processor of the plurality of processors may be configured for processing the plurality of tasks assigned to a list of the plurality of lists based on the plurality of new task priorities.


