missed deadline notification in best-effort schedulers balaji raman
TRANSCRIPT
Motivation – What are Best Effort Schedulers?
• Best effort scheduling• Does not provide facilities to specify or
meet performance guarantees.• Advantages
– Simple– Applications do not require system interfaces
• Suitability– Soft real time systems
• Disadvantages– Not suitable for hard real time systems– Under Utilization
Methodology-MDN
• Indicate deadline misses to scheduler.
• Problems in all existing general purpose system schedulers- Linux, BEST..
• Advantages of MDN• Minimal interface
Implementation Details
• Implemented in three schedulers
• Linux Scheduler• BEST Scheduler• Be-Rate Scheduler
• We will look MDN implementation in Linux Scheduler in detail.
Linux Time-Share Scheduler
• Scheduling based on Quantum Counter Variable
• A process can block its task if it is periodic.
SchedulerQ=1C=5
Tid=A
Q=2C=1
Tid=B
Q=3C=1
Tid=C
Q=4C=1
Tid=D
SchedulerQ=1C=1
Tid=B
Q=2C=1
Tid=C
Q=3C=1
Tid=D
Q=4Q=4C=4C=4
Tid=ATid=A
Linux Time-Share Scheduler
• When all counters in queue are zero
• Counter=Counter/2+nice
• Problem:Problem: Deadlines could be missed for tasks with counter=0.
SchedulerQ=1C=0
Tid=B
Q=2C=0
Tid=C
Q=3C=0
Tid=D
Q=4Q=4C=1C=1
Tid=ATid=A
MDN + Linux
• Counter=counter/2+(nice+mdn_nice)– Initially mdn_nice=0.– If MDN received mdn_nice++– Priority boosted for not missing
future deadlines.
• Anti-Cheat Policy
Best Scheduler
• Detect Periodic tasks– Improves performance of soft real-
time tasks
Tasks entering Run QueueRun Q
Period of the task ~ Y-X
SchedulerScheduler(Task D
Entering Times:Rec_Time=X
Prev_Time=Y)
Q=1Tid=A
Q=2Tid=B
Tid=DCurr_Time=XCurr_Time=X
Best Scheduler Scheduling Policy
• Earliest Deadline First.
• Problems
BEST Detects Period
BEST Detects Period
BEST Detects Period
BEST Detects Period
BEST Detects Period
DeadlineDeadline
BEST + MDN
BEST Detects Period
BEST Detects Period
DeadlineDeadline
MDN: Deadline Missed
BEST Detects Period
• MDN Detects Misses in deadline.
• Anti-cheat Policy• Based on block ratio
Experimental Evaluation
• Measure performance by observing the number of deadlines missed with & without MDN.
• Benchmark: 2 synthetic workload application
• CPU bound, Soft real-time process.
• Experiments done on Intel Pentium P3 and P4 processors.
Results (Linux)
Time (seconds)
Progress (CPU seconds)
xxxxxxx xx xx xxx xx x
xxxxxxx xxxx xxxx xxxxxx
CPU-boundSRT-50%xx: Deadline Missed
Results (Linux + MDN)
Time (seconds)
Progress (CPU seconds)
xx x
CPU-boundSRT-50%xx: Deadline Missed
Results (Linux)
Time (seconds)
Progress (CPU seconds)
xxxxxxx xx xx xxx xx x
xxxxxxx xxxx xxxx xxxxxx
CPU-boundSRT(25)-33%xx: Deadline MissedSRT(33)-33%xx: Deadline Missed
xxxxxxx xx xx xxx xx x
xxxxxxx xxxx xxxx xxxxxx
Results (Linux + MDN)
Time (seconds)
Progress (CPU seconds)
CPU-boundSRT(25)-33%xx: Deadline MissedSRT(33)-33%xx: Deadline Missed x
x x
xx x
Conclusion
• Best-effort schedulers an attractive advantage.
• MDN makes Best-effort schedulers more efficient.
• Future work• Tuned to workloads.• Rate controlled MDN.
Back Up Slides
• BeRate– Rate based algorithm– Two Parameters
• Task should complete e units of computation over p interval of time.
– Schedules so that they can continue processing in the same rate as in the past.
– Uses EDF scheduler.
Back Up slides
• Berate Scheduler– Given a fair share of processing
Berate estimates period of the task so that task would meet its deadline using EDF scheduler
– MDN is added.• If estmated deadline is earlier then
the task will be serviced quicker.