EDF Bandwidth Reservation for Non-Preemptive RT Scheduling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-preemptive systems, such as General Purpose Operating Systems (GPOS), fail to support Real-Time (RT) task scheduling due to lack of preemption, leading to missed deadlines and low utilization of computing units like Network Processing Units (NPUs) when handling mixed task sets with dynamic arrival times.
Innovation Solution
Implementing a Reservation Bandwidth Server (RBS) that creates non-executable bandwidth reservation tasks with deadlines based on yield times, allowing Early Deadline First (EDF) scheduling to prioritize and ensure timely execution of RT tasks without preemption, using a hierarchical scheduler for efficient task management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If non-preemptive scheduling is used in GPOS, then device complexity is reduced and ease of operation is improved, but real-time task deadline reliability deteriorates and productivity decreases
Solution Approach 1:
The task set is segmented into two distinct categories: hard real-time tasks and soft real-time tasks. This segmentation allows the system to apply different scheduling strategies to each category, ensuring that hard RT tasks receive guaranteed execution resources while soft RT tasks can utilize available resources, thereby maintaining deadline reliability without compromising operational simplicity
Solution Approach 2:
The scheduler performs preliminary actions by pre-calculating and reserving execution time slots for hard real-time tasks before actual task execution begins. This advance planning ensures that critical tasks have guaranteed time resources allocated, preventing deadline misses while maintaining the simplicity of non-preemptive scheduling operations
2Device complexity
If non-preemptive scheduling is used, then device complexity is reduced, but real-time task throughput and resource utilization deteriorate
Solution Approach 1:
The scheduling system incorporates dynamic elements by adjusting the allocation of execution time based on the arrival patterns and requirements of hard real-time tasks. The scheduler dynamically reserves bandwidth and adjusts time slot allocations while maintaining the overall simplicity of the non-preemptive framework, thereby improving throughput without significantly increasing complexity
Solution Approach 2:
The scheduler acts as an intermediary that manages the transition between hard real-time tasks and soft real-time tasks. It intermediates resource allocation by first guaranteeing resources for hard RT tasks and then making remaining resources available to soft RT tasks, thereby improving overall system throughput while keeping the scheduling mechanism relatively simple
3Reliability
If hard real-time tasks are prioritized with bandwidth reservation, then real-time task deadline reliability is improved, but soft real-time task resource availability worsens
Solution Approach 1:
The system changes the parameter of resource allocation by implementing time-based bandwidth reservation for hard real-time tasks. This parameter change ensures that critical tasks receive guaranteed resources during their designated time slots, while soft real-time tasks can utilize resources during remaining time periods, thus maintaining overall resource availability without compromising hard RT reliability
Data Source
AI summary
A method of scheduling a Real Time (RT) task, includes: receiving a task; obtaining a yield time of the RT task based on one of an execution deadline of the RT task, an execution deadline of next RT task subsequent to the RT task, and a maximum execution time associated with an execution of the next RT task subsequent to the RT task; creating a bandwidth reservation task having a deadline; inserting the RT task along with the bandwidth reservation task into a RT wait queue based on the deadline of each of the RT task and the bandwidth reservation task in accordance with an Early Deadline First (EDF) criteria; and scheduling an unscheduled task based on an available-time of the RT wait queue in accordance with the EDF based scheduling.


