Abhilash Thekkilakattil, Radu Dobrin, Sasikumar Punnekkat Mälardalen Real-time Research Center, Mälardalen University Västerås, Sweden Preemption Control using CPU Frequency Scaling in Real-time Systems
Real-time scheduling paradigms Non-preemptivePreemptive Low runtime overhead Increased blocking times Ability to achieve high utilization Preemption costs How to take advantage of both paradigms? Dynamic Voltage (and Frequency) Scaling Speed up or slow down task executions Supported by most modern processors Traditionally used to slow down task executions : energy conservation Applying frequency scaling for preemption control Our work:
Preemption related costs Scheduler related cost – Overhead involved in saving and retrieving the context of the preempted task Cache related preemption delays – Overhead involved in reloading cache lines – Vary with the point of preemption – Increased bus contention Pipeline related cost – Clear the pipeline upon preemption – Refill the pipeline upon resumption Energy consumption – E.g., off-chip accesses due to cache pollution: times increase in energy
Limitations of the existing works: 1. May require change of task attributes 2. May require significant changes in the scheduler 3. Incur potentially infeasible costs Related work Need for preemption elimination recognized Ramamritham-94, Burns-95, Ramaprasad-06 RM- more preemptions than EDF Buttazzo-05 Delay preemption, force simultaneous release of tasks Dobrin-04 Preemption aware scheduling algorithms Yang-09, Woonseok -04 Preemption threshold Scheduling Saksena-00, Wang-99 Context switches and cache related preemption delays Lee-98, Schneider-00, Katcher-93 DVS: energy conservation- increase in preemptions Pillai-01,Aydin-04, Bini-09, Marinoni-07
Our approach We use CPU frequency scaling to control preemption behavior in fixed priority schedulers for sporadic task systems
Sporadic task system Minimum inter-arrival time (T) T TaskMin. inter-arrival time (T) No. of clock cycles (C) Priority (P) A52High B103Low Proposed by Al Mok in his PhD thesis Formalized by Mok and Baruah
Preemptions in a sporadic task system 0 0 Scenario 1 Task A T=5 C=2 Freq=1 High priority Task B T=10 C=3 Freq=1 Low priority T=5 T=10 T=5 0 0 Scenario 2 T=5 T=10 T=5 Task A Task B
Offline preemption control using frequency scaling TaskTCPFrequency A52H ? B103L ? 0 0 Task A T=5 C=2 Freq=X High priority Task B T=10 C=3 Freq=Y Low priority T=5 T=10 T=5 TaskTCPFrequency A52H X B103L Y
Online preemption control using frequency scaling 0 0 Task A T=5 C=2 Freq=X High priority Task B T=10 C=3 Freq=Y Low priority T=5 T=10 T=5 Min. time remaining for the release of the higher priority task Min. time remaining for the release of the higher priority task
Example C B =2 Max. time available= 4 - 1= 3 C B = 2 Max. time available= 10 – 8 = Task A B C D Rate monotonic schedule ModesM1M2M3M4M5M6 Speed S = 2/3 = 1 S = 2/2 =1 Exec. TimePeriod Processor modes C = 2 Max. time available= 10 – 17 = -7 S = 6 C C = 6 Max. time available=24 – 21 = 3 S = 6/3 = 2 C B = 2 Max. time available= 25 – 24 = -1 S = 6 C B = 2 Max. time available= 40 – 38 = 2 S = 1 C C =6 Max. time available= 4 - 3= 1 S = 6/1 = 6 C D =4 Max. time available= 4 - 4= 0 S = 6
Evaluations Task Set –UUniFast 1 algorithm –20% to 90% utilization –1400 task sets –3 – 15 tasks –LCM of task periods <= 2000 Processor –Continuous frequency modes –Five range of frequency and power consumption: can be easily generalized –Initially runs at the minimum frequency 1 Bini and Buttazzo, Measuring the Performance of Schedulability Tests, Real-Time Systems, 2005
Preemptions eliminated
Power consumption
Conclusions and future work Method to control preemption behavior in real time systems using CPU frequency scaling –Online : linear complexity –Provides for trade-off between preemptions and energy consumption –Required no modifications to task attributes –Main element of cost: energy On going effort: –Optimal algorithms –Competitive analysis –Comparison with other approaches
Questions or Suggestions ? Thank You