Presentation is loading. Please wait.

Presentation is loading. Please wait.

Feedback EDF Scheduling Exploiting Dynamic Voltage Scaling Yifan Zhu and Frank Mueller Department of Computer Science Center for Embedded Systems Research.

Similar presentations


Presentation on theme: "Feedback EDF Scheduling Exploiting Dynamic Voltage Scaling Yifan Zhu and Frank Mueller Department of Computer Science Center for Embedded Systems Research."— Presentation transcript:

1 Feedback EDF Scheduling Exploiting Dynamic Voltage Scaling Yifan Zhu and Frank Mueller Department of Computer Science Center for Embedded Systems Research North Carolina State University

2 Overview Motivation Background Feedback-DVS Example Experiments Summary

3 Motivation Embedded systems w/ limited power supply DVS for real-time system trade-off: energy saving vs. timing requirements lower CPU voltage/frequency deadline may miss Task workloads change dynamically WCET overestimates actual execution time wide variation of execution times Longest vs. shortest times

4 Motivation Prior DVS algorithms: lack adaptability to dynamic workloads. Real-world examples: graphics: 78% of WCET [Wegener,Mueller]; defense: 87%; automotive: 74%; benchmarks: 30-89%; image recognition: 85% [Wolf] Look-ahead DVS [Pillai/ Shin]

5 Background DVS: E ~ f V² Hard real-time systems periodic, preemptive, independent tasks [Liu, Layland] jobs: periodically released instances of a task WCET: measured at full freq., w/o DVS most practical system: U << 1 Earliest-deadline-first (EDF) scheduling, C i =WCET, P i =period, = (0< 1) scaled by frequency

6 Feedback-DVS Framework V/F selector: error c – Ca Ca = func(error) Fig. Feedback-DVS Framework Maximum EDF schedule determine slack in EDF schedule assumes: c = WCET

7 Voltage-Frequency Selector : Greedy scheme: assign all idle time/slack to running task Assuming all other tasks at the maximal freq. (speed) Capitalize on early completion of current task early completion more slack for other tasks repeat scaling on next task

8 Task Splitting T Ta + Tb Ta at freq. ( 0 100%); Tb at freq. 100% More aggressive: < uniform frequency w/o splitting Objective: T should finish before Tb lower energy consumption Solve for Ck = Ca+Cb (w/o slack) Ck+slack = Ca/ +Cb = Ca/(Ca+slack) Tb 100% f t Ta Ca/ Cb

9 Slack Collection Static and dynamic slack U<100% static slack Idle task: fills gap between actual U and 100% U Early completion dynamic slack Slack passing Preemption handling Reserve future execution time for preempted task Avoid over-utilizing slack by high priority tasks Backward sweep reservation

10 I Example (w/o Feedback) T1T2T % 75% 50% 25% % 75% 50% 25% T1={C=3,P=8,c=2}T2={C=3,P=10,c=2} T3={C=1,P=14,c=1}IdleT={C=1,P=4,c=0}Ca=50%WCET IIT1IT2 2 Maximal Schedule (EDF with idle task) Actual Schedule (w/o Feedback) f f t t We can do better!

11 Feedback Control Scaling factor: = Ca/(Ca+slack) Feedback control: to adjust Ca 0

12 PID Feedback Controlled variable: Ca Set point: c System error: = c – Ca When Ca c: T = Ta, no Tb, entire task at low freq./speed PID: Proportional + Integral + Derivative Proportional control: Integral control: Derivative control: PID c Ca + - Ca

13 Feedback Example T1={C=3,P=8,c=2}T2={C=3,P=10,c=2} T3={C=1,P=14,c=1}IdleT={C=1,P=4,c=0} IT1T2T3 100% 75% 50% 25% IIT1IT2 Maximal Schedule (EDF + idle task) 100% 75% 50% 25% Actual Schedule without feedback 100% 75% 50% 25% Actual Schedule with feedback (from the 1 st hyperperiod) Ca=2,s=2 f f f t t t Ca=1,s=2Ca=2,s=2

14 Algorithm Complexity Task admission (offline): generate maximal schedule: O(N) N = # jobs in hyperperiod Scheduling point (online): O(n), n = # tasks Task splitting overhead: only paid when task does not complete within Ta hardly even happens

15 Experiements Frequency/Voltage levels [Puwelse et al.]: Parameters: 3 tasks, 10 tasks, Vary U: utilization=0.1~ 1.0 Feedback controller DW=1, IW=10 Kp=0.9, I=0.08, D=0.1 Compare: Our feedback-DVS vs. Look-ahead DVS [Pillai/Shin] Freq.Voltage 25%2V 50%3V 75%4V 100%5V

16 Result (1) Task exec. time pattern 1: event-triggered activities, often observed in interrupt- driven systems c job

17 Result (2) Task exec. time pattern 2: simulating computational demands with slowly decaying tendency c job

18 Result (3) Task exec. time pattern 3: periodic fluctuating activities with peak computational demands c job

19 Varying Task Sets Property 10 tasks vs. 3 tasks Varying exec. time (baseline: pattern 1)

20 Related Work Feedback control real-time scheduling [C. Lu et. al.] DVS with feedback for multimedia systems [Z. Lu et. al.] Look-ahead DVS [Pillai/Shin] Exploit early completion of tasks [Aydin et. al.] Dual-frequency DVS, stochastic approach [Gruian] Non-preempt. Blocking, dual-speed DVS [Zhang et. al.]

21 Conclusion Feedback-DVS for hard real-time systems more aggressive by task splitting more adaptive with feedback control Not sensitive to particular workload characteristics O(n) online complexity Up to 29% more energy savings over prior work Future Work Feedback analytical model Real-world architecture evaluation Systematic PID parameter tuning

22 Example (w/o Feedback) T1T % 75% 50% 25% % 75% 50% 25% T1={C=4,P=10,c=1}T2={C=4,P=14,c=1} T3={C=1,P=17,c=1}IdleT={C=1,P=4,c=0}Ca=50%WCET T1I Maximal Schedule (EDF with idle task) Actual Schedule (w/o Feedback) f f t t it will be better with feedback! T1 IT2III T3 s=3s=6

23 Feedback Example T1={C=4,P=10,c=1},T2={C=4,P=14,c=1}, T3={C=1,P=17,c=1}, IdleT={C=1,P=4,c=0} 100% 75% 50% 25% Actual Schedule without feedback 100% 75% 50% 25% Actual Schedule with feedback (from the 1 st hyperperiod) Ca=1,s=3 f f f t t t T1T2T1I IT2III T3 100% 75% 50% 25% Maximal Schedule Ca=1,s=3


Download ppt "Feedback EDF Scheduling Exploiting Dynamic Voltage Scaling Yifan Zhu and Frank Mueller Department of Computer Science Center for Embedded Systems Research."

Similar presentations


Ads by Google