generalized fixed priority scheduling with limited
play

Generalized fixed-priority scheduling with limited preemptions - PowerPoint PPT Presentation

Generalized fixed-priority scheduling with limited preemptions Reinder J. Bril, Martijn M.H.P. van den Heuvel, Ugur Keskin, and Johan J. Lukkien Dep. of Mathematics and Computer Science Group System Architecture and Networking ECRTS-2012


  1. Generalized fixed-priority scheduling with limited preemptions Reinder J. Bril, Martijn M.H.P. van den Heuvel, Ugur Keskin, and Johan J. Lukkien Dep. of Mathematics and Computer Science Group System Architecture and Networking ECRTS-2012 (Pisa, Italy)

  2. Motivation • Drawbacks of arbitrary preemptions (FPPS): • worst-case memory requirements; • cost of context switching (e.g. cache). • Non-preemptive scheduling (FPNS): • resolved by FPNS, • at the cost of lower schedulability. • Alternative refinements of FPPS (FPTS & FPDS): • reduced memory costs (compared to FPPS); • improved schedulability (compared to FPPS); • orthogonal approaches ! ECRTS-2012 (Pisa, Italy) PAGE 2

  3. Motivation • Goal: • combine strength of FPTS and FPDS in a single scheme: FPGS, • with the aim to improve efficiency, • focus on improvement of the feasibility. ECRTS-2012 (Pisa, Italy) PAGE 3

  4. Overview • Motivation • Introduction fixed-priority scheduling (FPS) * • model • FPPS and FPNS • Existing limited-preemptive algorithms * • preemption thresholds (FPTS) • deferred preemption (FPDS) • Novel hybrid algorithms • Conclusion * Buttazzo, Bertogna, and Yao, IEEE TII, 2012. ECRTS-2012 (Pisa, Italy) PAGE 4

  5. Introduction FPS – model • Events: implicit • Tasks (  ): • independent, no self-suspension • characteristics (R + ): − minimal inter-arrival time ( T ); − computation time ( C ); − deadline ( D ); • Scheduling algorithm: • fixed-priority (  ) & non-idling; • [non-] preemptive • Platform: single CPU ECRTS-2012 (Pisa, Italy) PAGE 5

  6. Introduction FPS – FPPS and FPNS • FPPS: • highest priority task with work pending executes; • a task experiences interference from higher priority tasks (due to delays and preemptions ). • FPNS: • tasks run to completion; • the highest priority task is selected to run next; • a task experiences: − interference from higher priority tasks (only delays ); − blocking from lower priority tasks. ECRTS-2012 (Pisa, Italy) PAGE 6

  7. Introduction FPS – FPPS and FPNS • FPNS:  • blocking: max( 0 , max ) B C i l i  π π l : l • Blocking tolerance (  i ) [1]: • the maximum amount of time that a task (  i ) can be blocked without missing its deadline ( D i ); • depends on scheduling algorithm. • Neither FPPS dominates FPNS nor vice versa. [1] V.B. Lortz and K.G. Shin, IEEE TSE, 1995. ECRTS-2012 (Pisa, Italy) PAGE 7

  8. Existing limited-preemptive algorithms • Two orthogonal approaches: FPTS [2, 3] and FPDS • FPTS: preemption threshold (  i   i ) − interference: (reduce preemptions ) − tasks  h with  h >  i can preempt  i ;  − blocking: B max( 0 , max C ) i l   θ π π l : l i l • Special cases of FPTS: − FPPS:  i =  i ; − FPNS:  i =  1 . [2] Y. Wang and M. Saksena, RTCSA, 1999. [3] J. Regehr, RTSS, 2002. ECRTS-2012 (Pisa, Italy) PAGE 8

  9. FPTS – preemption thresholds Blocking tolerance  1 :  i WR i  i WR i  i T i T i T i D i D i D i P P N C i C i C i WR i •  1 = 30, C 2 <  1 < C 3 .  1  1  1 70 70 70 50 50 50 20 3 20 3 20 3 20 20 55 Blocking tolerance  2 :  2  2  2 80 80 80 80 80 80 20 2 20 2 20 2 40 40 75 • FPPS:  2 P = 30 < C 3 ;  3 200 100  3 200 100  3 200 100 35 1 35 1 35 1 115 115 75 • FPNS:  2 = 40 > C 3 . N Not schedulable with FPPS Not schedulable with FPNS ECRTS-2012 (Pisa, Italy) PAGE 9

  10. FPTS – preemption thresholds Blocking tolerance  1 :  i WR i  i WR i  i WR i  i  i T i T i T i D i D i D i P P P N N N T C i C i C i WR i WR i WR i WR i •  1 = 30, C 2 <  1 < C 3 .  1  1  1 70 70 70 50 50 50 20 3 20 3 20 3 20 20 20 3 3 40 55 55 55 Blocking tolerance  2 :  2  2  2 80 80 80 80 80 80 20 2 20 2 20 2 40 40 40 75 75 75 3 3 75 • FPPS:  2 P = 30 < C 3 ;  3 200 100  3 200 100  3 200 100 35 1 35 1 35 1 115 115 115 75 75 75 2 2 95 • FPNS:  2 = 40 > C 3 . N Schedulable with FPTS ECRTS-2012 (Pisa, Italy) PAGE 10

  11. Existing limited-preemptive algorithms • Two orthogonal approaches: FPTS and FPDS [4, 5] • FPDS: deferred preemption − a task is a sequence of m i non-preemptive sub-tasks ; − characteristic subtask  i,k : computation time C i,k ; − tasks  h with  h >  i can only preempt  i at preemption points (between subtasks);  − blocking: B max( 0 , max max C ) i l , k    π π l : 1 k m i l l • Special case of FPDS: − FPNS: m i = 1 . [4] A. Burns, in Advances in Real-Time Systems , 1994 [5] R. Bril, J. Lukkien, and W. Verhaegh, ECRTS, 2007. ECRTS-2012 (Pisa, Italy) PAGE 11

  12. FPDS – deferred preemption  i  i T i = D i P WR i P WR i N N D T i = D i C i C i WR i WR i WR i Blocking tolerance  1 :  1  1 5 5 2 2 2 2 2 2 6 6 4 •  1 = 3 < C 3 .  2  2 7 7 2+2 2+2 1 1 8 8 6 6 7 Schedulable with FPDS ECRTS-2012 (Pisa, Italy) PAGE 12

  13. FPDS – deferred preemption  i  i T i = D i P WR i P WR i N N D T i = D i C i C i WR i WR i WR i Blocking tolerance  1 :  1  1 5 5 2 2 2 2 2 2 6 6 4 •  1 = 3 < C 3 .  2  2 7 7 2+2 2+2 1 1 8 8 6 6 7 • FPTS: •  2 =  2 : FPPS •  2 =  1 : FPNS • Conclusion: • Not schedulable with FPTS, hence • FPTS does not dominate FPDS ECRTS-2012 (Pisa, Italy) PAGE 13

  14. FPDS does not dominate FPTS • Previous slide: • FPTS does not dominate FPDS; • Without example (space & time reasons): • FPDS does not dominate FPTS • Conclusion: • neither FPDS dominates FPTS nor vice versa ECRTS-2012 (Pisa, Italy) PAGE 14

  15. Novel hybrid algorithms m i  1 m i = 1  i , k =  i FPPS FPPS + FPTS + FPTS FPNS FPDS  i , k =  1 Generalization graph for FPS algorithms ECRTS-2012 (Pisa, Italy) PAGE 15

  16. Novel hybrid algorithms – model • FPTS + [6, 7] • a task is a sequence of m i sub-tasks; • each subtask  i,k has a preemption threshold  i , k ; • a task has no (longer a) preemption threshold;  • blocking: B max( 0 , max max C ) i l , k     π π θ π l : 1 k m : i l l l , k i • Special cases for FPPS + : • m i = 1 : FPTS; •  i , k =  i : FPPS + ; •  i , k =  1 : FPDS. [6] U. Keskin, R.J. Bril, J.J. Lukkien, ETFA, 2010. [7] G. Yao and G. Buttazzo, EMSOFT, 2010. ECRTS-2012 (Pisa, Italy) PAGE 16

  17. FPTS + – preemption thresholds Blocking tolerance  1 :  i T i D i P N C i WR i WR i •  1 = 1, C 3 >  1 , C 2 >  1 .  1 7 2 1 3 1 9  2 15 15 7+1 2 10 15  3 26 17 1+5 1 26 16 Blocking tolerance  1 = 1  Not schedulable with FPDS. ECRTS-2012 (Pisa, Italy) PAGE 17

  18. FPTS + – preemption thresholds Blocking tolerance  1 :  i T i D i P N C i WR i WR i •  1 = 1, C 3 >  1 , C 2 >  1 .  1 7 2 1 3 1 9 Blocking tolerance  2 :  2 15 15 7+1 2 10 15 • FPPS:  2 P = 4 < C 3 ;  3 26 17 1+5 1 26 16 Blocking tolerance  2 < C 3  Not schedulable with FPTS. ECRTS-2012 (Pisa, Italy) PAGE 18

  19. FPTS + – preemption thresholds Blocking tolerance  1 :  i  i  i  i ,1  i ,1  i ,2  i ,2 WR i T i T i T i D i D i D i P P P N N N T+ C i C i C i WR i WR i WR i WR i WR i WR i •  1 = 1, C 3 >  1 , C 2 >  1 .  1  1  1 7 7 7 2 2 2 1 1 1 3 3 3 1 1 1 3 3 - - 2 9 9 9 Blocking tolerance  2 :  2  2  2 15 15 15 15 15 15 7+1 7+1 7+1 2 2 2 10 10 10 15 15 15 2 2 3 3 15 • FPPS:  2 P = 4 < C 3 ;  3  3  3 26 26 26 17 17 17 1+5 1+5 1+5 1 1 1 26 26 26 16 16 16 1 1 2 2 17 • FPTS + :  2 T+ = 5 ECRTS-2012 (Pisa, Italy) PAGE 19

  20. FPTS + – preemption thresholds Blocking tolerance  1 :  i  i ,1  i ,2 WR i T i D i P N T+ C i WR i WR i •  1 = 1, C 3 >  1 , C 2 >  1 .  1 7 2 1 3 1 3 - 2 9 Blocking tolerance  2 :  2 15 15 7+1 2 10 15 2 3 15 • FPPS:  2 P = 4 < C 3 ;  3 26 17 1+5 1 26 16 1 2 17 • FPTS + :  2 T+ = 5 ECRTS-2012 (Pisa, Italy) PAGE 20

  21. Novel hybrid algorithms m i  1 m i = 1 m i > 1   i =  i  i , k =  i FPPS FPPS + FPTS + FPGS FPTS FPNS FPDS FPDS   i , k =  1 Generalization graph for FPS algorithms ECRTS-2012 (Pisa, Italy) PAGE 21

  22. Novel hybrid algorithms – results 1. Novel scheduling algorithms: FPGS • subtasks (similar to FPDS); • preemption thresholds for tasks (FPTS) and subtasks; • generalizes existing FPS algs. 2. Schedulability analysis for FPGS • specializes to all existing FPS algs; 3. Algorithm to maximize schedulability under FPS: given: T i , D i , C i , and  i ; • determine: C i,mi ,  i ,  i,mi (inspired by [8]). • 4. Evaluation: FPGS dominates existing FPS algs. [8] M. Bertogna, G.C. Buttazzo, G, Yao, RTSS, 2011. ECRTS-2012 (Pisa, Italy) PAGE 22

  23. Novel hybrid algorithms – evaluation 10 tasks, 10.000 task sets, T i  [100, 10.000] (uniform), U i by UUnifast (  C i ), D i  [0.5( T i + C i ), T i ] (uniform); ECRTS-2012 (Pisa, Italy) PAGE 23

Recommend


More recommend