Upload
arline-agnes-webb
View
217
Download
1
Embed Size (px)
Citation preview
Quantifying the Sub-optimality of Non-preemptive Real-time Scheduling
Abhilash Thekkilakattil, Radu Dobrinand Sasikumar Punnekkat
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
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
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
?
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
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)
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
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
Task i
Task j
Task k
Li
Feasibility condition:
Dk
Dj
DBF(Dj)
speed-up
Di
Limited-Preemption Feasibility Analysis
Processor Speed-up Bound
Proof in the paper
?
Speed (S)
The maximum S
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
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
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
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
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:
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
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
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
Tightening the Augmentation BoundSpeed
(S)Less pessimistic
unified result:
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
Thank you !
Questions ?