![Page 1: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/1.jpg)
Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling
Abhilash Thekkilakattil, Radu Dobrinand Sasikumar Punnekkat
![Page 2: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/2.jpg)
Research Agenda
Quantify the goodness of non-preemptive scheduling
●Preemption behavior vs. processor speed
●Derive processor speed-up bound to enable non-preemptive feasibility
Minimize preemption overheads using processor speed-up
●Preemption analysis for limited preemption schedulers
●Derive minimum processor speed that minimizes scheduler specific overheads
![Page 3: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/3.jpg)
Preemptive vs. Non-preemptive Scheduling
• Preemptive EDF is uniprocessor optimal
• Strict domination of preemptive scheduling paradigm
• Fairly well investigated
• No algorithm is uniprocessor optimal under non-idling paradigm
• No online non-preemptive scheduler with inserted idle times exists
• Less investigated compared to preemptive scheduling
Feasibility: Does a schedule exists that guarantees no deadline misses for a given real-time task set?
Preemptive Scheduling Non-preemptive Scheduling
![Page 4: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/4.jpg)
Set of uniprocessor feasible task sets
Set of non-idling non-preemptive feasible task sets
Set of limited preemptive feasible task sets
Non-preemptive EDF
Preemptive EDF
Limited preemptive EDF
Question: How good is non-preemptive scheduling when compared to uniprocessor optimal (preemptive) scheduling algorithms?
Preemptive vs. Non-preemptive Scheduling
![Page 5: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/5.jpg)
?
State of the Art
The efficiency of a scheduler is commonly measured by resource augmentation how much extra resources (CPU) are required to reach optimality?
Task model Preemptive(EDF vs. FPS)
Non-preemptive(EDF vs. FPS)
Implicit deadline 1.44269
1.76322 - 2Constrained deadline
1.76322
Arbitrary deadline
1.76322 - 2
Davis et al
?
EDF feasibility FPS feasibility
Preemptive EDF feasibility
Non-preemptive EDF feasibility
![Page 6: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/6.jpg)
System Model
● Constrained deadline sporadic task sets (deadline ≤ period)
● Worst Case Execution Time scales linearly with processor speed
● Limited-preemptive scheduler
- Floating non-preemptive region (f-NPR) scheduler
max. length of f-NPR = Li
Task j (high priority)
Task i (low priority)
![Page 7: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/7.jpg)
Limited-Preemption Feasibility Analysis
Task i
Task j
Task k
Li
Feasibility condition:
Dk
Dj
S.Baruah, The limited-preemption uniprocessor scheduling of sporadic task systems, ECRTS’05
Li + DBF(Dk) ≤ Dk
DBF(Dk) Li + DBF(Dj) ≤ Dj
DBF(Dj)
Di
![Page 8: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/8.jpg)
Limited-Preemption Feasibility Analysis
Task i
Task j
Task k
Li
Feasibility condition:
Dk
Dj
S.Baruah, The limited-preemption uniprocessor scheduling of sporadic task systems, ECRTS’05
DBF(Dj) Li + DBF(Dk) ≤ Dk
Di
![Page 9: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/9.jpg)
Task i
Task j
Task k
Li
Feasibility condition:
Dk
Dj
DBF(Dj)
speed-up
Di
Limited-Preemption Feasibility Analysis
![Page 10: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/10.jpg)
Processor Speed-up Bound
Proof in the paper
?
Speed (S)
The maximum S
![Page 11: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/11.jpg)
1
4Cmax/Dmin
4L/Dmin
Preemption Behavior vs. Processor Speed
All feasible task sets are guaranteed a non-preemptive execution for L units
All feasible task sets are guaranteed a fully non-preemptive schedule
Slower
Processor Speed
Faster
Set of uniprocessor feasible task sets
Set of non-idling non-preemptive feasible task sets on a uniprocessor
Set of limited-preemption feasible task sets
Feasibility Bucket
![Page 12: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/12.jpg)
Research Agenda
Quantify the goodness of non-preemptive scheduling
●Preemption behavior vs. processor speed
●Derive processor speed-up bound to enable non-preemptive feasibility
Minimize preemption overheads using processor speed-up
●Preemption analysis for limited preemption schedulers
●Derive minimum processor speed that minimizes scheduler specific overheads
![Page 13: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/13.jpg)
Research Agenda
Quantify the goodness of non-preemptive scheduling
●Preemption behavior vs. processor speed
●Derive processor speed-up bound to enable non-preemptive feasibility
Minimize preemption overheads using processor speed-up
●Preemption analysis for limited preemption schedulers
●Derive minimum processor speed that minimizes scheduler specific overheads
![Page 14: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/14.jpg)
Scheduler Specific Overheads
Non-preemptive Scheduling
Low runtime overhead: zero preemption costs
Mutual exclusion by construction Increased blocking: low utilization
Preemptive Scheduling
Zero blocking: high utilization High runtime overhead: preemption
costs Need for costly synchronization
protocols
high priority
low priority
preemption costhigh priority
low priority
blocking
Limited-Preemption Scheduling
Best of preemptive and non-preemptive: preempt only when necessary
high priority
low priority
Bounded non-preemptive region
preemption cost
![Page 15: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/15.jpg)
Scheduler Specific Overheads
high priority
low priority
Bounded max. length of f-NPRLimited-preemptionscheduler
Vary the bound onthe max length of f-NPR
No control on the bound on number of preemptions
Control the bound on the number of preemptions
Limited control on the preemption points
Full control on the preemption points: possibility to minimize preemption overheads
Bounded max. length of f-NPR
high priority
low priority
Our method:
![Page 16: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/16.jpg)
Minimizing Preemption Related Overheads
Task attributes
Largest non-preemptive regions
Sensitivity analysis
Minimum processor speed that guarantees feasibility
Max. no. of preemptionsPreferred preemption
points
Derivation of non-preemptive
regionsStep 1
Step 2
![Page 17: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/17.jpg)
Step 1: Deriving f-NPRs
Preferred preemption points ( )Req. 1: Bound the number of preemptions
Req. 2: Enable preemptions at optimal points
Default max. length of f-NPR
Max. length of the desirable f-NPR
We use processor speed-up
Task level requirements:
Task i
![Page 18: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/18.jpg)
Step 2: Sensitivity Analysis
min = 1 optimal
speed speed speed speed speed speed
max =
1
4Cmax/Dmin
4L/Dmin
Slower
Processor Speed
Faster
Default max. length of f-NPR
Max. length of the desirable f-NPR
![Page 19: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/19.jpg)
Tightening the Augmentation BoundSpeed
(S)Less pessimistic
unified result:
![Page 20: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/20.jpg)
Conclusions
● Quantification of the sub-optimality of non-preemptive scheduling- Non-preemptive scheduling is not uniprocessor optimal under the work conserving
paradigm
- Optimal online non-preemptive scheduler with inserted idle times cannot exist
- Our contribution allows to use processor speed-up to enable non-preemptive feasibility for arbitrary task sets
● Analysis of preemption behavior vs. processor speed: the feasibility bucket
● Method to minimize preemption overheads
- Derivation of non-preemption requirements
- Sensitivity analysis to calculate the optimal speed-up
● Future work: extension to multiprocessor scheduling
![Page 21: Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat](https://reader030.vdocuments.us/reader030/viewer/2022032607/56649ebb5503460f94bc2fd2/html5/thumbnails/21.jpg)
Thank you !
Questions ?