State-Based Mode Switching with Applications to Mixed-Criticality Systems Pontus Ekberg , Martin Stigge, Nan Guan & Wang Yi Uppsala University, Sweden WMC 2013
Mixed Criticality as Mode Switching At a switch between modes (e.g., lo to hi), each task is either 1 suspended and has its active jobs discarded or Tie new values of C and D are immediately used for all active jobs. Tie common sporadic MC mode switch protocol Purely sporadic both before and afuer switch! Pontus Ekberg State-Based Mode Switching 2 2 continues as before , but with new parameters ( C , D , T ).
Mixed Criticality as Mode Switching At a switch between modes (e.g., lo to hi), each task is either 1 suspended and has its active jobs discarded or Tie new values of C and D are immediately used for all active jobs. Tie common sporadic MC mode switch protocol Purely sporadic both before and afuer switch! Pontus Ekberg State-Based Mode Switching 2 2 continues as before , but with new parameters ( C , D , T ).
Time Task Graphs — The Very Short Story Pontus Ekberg State-Based Mode Switching 3 ⟨ 2 , 10 ⟩ 20 10 v 2 ⟨ 5 , 15 ⟩ 15 15 v 1 34 v 3 ⟨ 7 , 25 ⟩
Task Graphs — The Very Short Story Time State-Based Mode Switching Pontus Ekberg 3 ⟨ 2 , 10 ⟩ 20 10 v 2 ⟨ 5 , 15 ⟩ 15 15 v 1 34 v 3 ⟨ 7 , 25 ⟩ 15 5
Task Graphs — The Very Short Story Time State-Based Mode Switching Pontus Ekberg 3 ⟨ 2 , 10 ⟩ 20 10 v 2 ⟨ 5 , 15 ⟩ 15 15 v 1 34 v 3 ⟨ 7 , 25 ⟩ ⩾ 20
Time Task Graphs — The Very Short Story Pontus Ekberg State-Based Mode Switching 3 ⟨ 2 , 10 ⟩ 20 10 v 2 ⟨ 5 , 15 ⟩ 15 15 v 1 34 v 3 ⟨ 7 , 25 ⟩
Time Task Graphs — The Very Short Story Pontus Ekberg State-Based Mode Switching 3 ⟨ 2 , 10 ⟩ 20 10 v 2 ⟨ 5 , 15 ⟩ 15 15 v 1 34 v 3 ⟨ 7 , 25 ⟩
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg 4 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 15 33 20 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg 4 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 15 33 20 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg 4 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 15 33 20 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Revisiting an Old Friend At a switch between modes (e.g., lo to hi), each task is either 1 suspended and has its active jobs discarded or Tie new values of C and D are immediately used for all active jobs. Tie common sporadic MC mode switch protocol Pontus Ekberg State-Based Mode Switching 5 2 continues as before , but with new parameters ( C , D , T ).
Revisiting an Old Friend At a switch between modes (e.g., lo to hi), each task is either 1 suspended and has its active jobs discarded or Tie new values of C and D are immediately used for all active jobs. Tie common sporadic MC mode switch protocol Pontus Ekberg State-Based Mode Switching 5 2 continues as before , but with new parameters ( C , D , T ).
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50
Back to Mode Switches ? State-Based Mode Switching Pontus Ekberg Time Mode switch 6 ⟨ 2 , 10 ⟩ 14 20 10 v 2 ⟨ 6 , 10 ⟩ v 4 ⟨ 5 , 15 ⟩ 15 33 20 15 v 1 ⟨ 12 , 30 ⟩ v 5 34 v 3 ⟨ 7 , 25 ⟩ 50 ⩾ 33
Example: Sporadish Dual-Criticality Tasks Standard high-criticality sporadic task. Pontus Ekberg State-Based Mode Switching 7 ⟨ 2 , 15 , lo ⟩ ⟨ 4 , 15 , hi ⟩ 28 28 v 1 v 2
Standard low-criticality sporadic task. Example: Sporadish Dual-Criticality Tasks Pontus Ekberg State-Based Mode Switching 8 ⟨ 2 , 15 , lo ⟩ ⟨ 0 , 0 , hi ⟩ 28 v 1 v 2
Low-criticality sporadic task that fjnishes all jobs. Example: Sporadish Dual-Criticality Tasks Pontus Ekberg State-Based Mode Switching 9 ⟨ 2 , 15 , lo ⟩ ⟨ 2 , 40 , hi ⟩ 28 v 1 v 2
Example: Sporadish Dual-Criticality Tasks Task that drops active job at switch, then restarts afuer a grace period. State-Based Mode Switching Pontus Ekberg 10 ⟨ 0 , 0 , hi ⟩ v 2 ⟨ 2 , 50 , hi ⟩ 20 0 50 v 1 v 4 ⟨ 3 , 20 , lo ⟩ v 3 100 ⟨ 0 , 0 , hi ⟩
Example: Sporadish Dual-Criticality Tasks One-ofg job at mode switch, modeling overhead. Pontus Ekberg State-Based Mode Switching 11 ⟨ 0 , 0 , lo ⟩ ⟨ 5 , 5 , hi ⟩ v 1 v 2
Example: Sporadish Dual-Criticality Tasks 30 State-Based Mode Switching Pontus Ekberg Direct extension of non-sporadic task to dual-criticality semantics. 25 30 20 25 20 12 ⟨ 3 , 16 , lo ⟩ ⟨ 6 , 16 , hi ⟩ v 1 v 3 v 2 v 4 ⟨ 1 , 25 , lo ⟩ ⟨ 3 , 25 , hi ⟩
Example: Period-Adaptive Tasks 2 5 5 5 8 8 8 5 2 5 2 5 5 5 8 8 8 5 Pontus Ekberg State-Based Mode Switching 5 13 2 ⟨ 1 , 2 , µ 1 ⟩ ⟨ 1 , 2 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ v 1 u 1 v 5 v 8 u 5 u 8 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 0 , 0 , µ 3 ⟩ v 9 u 9 τ 1 τ 2 v 2 v 3 u 2 u 3 ⟨ 4 , 5 , µ 2 ⟩ ⟨ 1 , 5 , µ 3 ⟩ ⟨ 4 , 5 , µ 3 ⟩ ⟨ 1 , 5 , µ 2 ⟩ ⟨ 0 , 0 , µ 4 ⟩ ⟨ 0 , 0 , µ 4 ⟩ v 10 u 10 v 6 v 7 u 6 u 7 ⟨ 4 , 8 , µ 2 ⟩ v 4 ⟨ 0 , 0 , µ 3 ⟩ ⟨ 4 , 8 , µ 3 ⟩ u 4 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 4 , 8 , µ 4 ⟩ ⟨ 4 , 8 , µ 4 ⟩
Example: Period-Adaptive Tasks 2 5 5 5 8 8 8 5 2 5 2 5 5 5 8 8 8 5 Pontus Ekberg State-Based Mode Switching 5 13 2 ⟨ 1 , 2 , µ 1 ⟩ ⟨ 1 , 2 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ v 1 u 1 v 5 v 8 u 5 u 8 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 0 , 0 , µ 3 ⟩ v 9 u 9 τ 1 τ 2 v 2 v 3 u 2 u 3 ⟨ 4 , 5 , µ 2 ⟩ ⟨ 1 , 5 , µ 3 ⟩ ⟨ 4 , 5 , µ 3 ⟩ ⟨ 1 , 5 , µ 2 ⟩ ⟨ 0 , 0 , µ 4 ⟩ ⟨ 0 , 0 , µ 4 ⟩ v 10 u 10 v 6 v 7 u 6 u 7 ⟨ 4 , 8 , µ 2 ⟩ v 4 ⟨ 0 , 0 , µ 3 ⟩ ⟨ 4 , 8 , µ 3 ⟩ u 4 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 4 , 8 , µ 4 ⟩ ⟨ 4 , 8 , µ 4 ⟩
Example: Period-Adaptive Tasks 2 5 5 5 8 8 8 5 2 5 2 5 5 5 8 8 8 5 Pontus Ekberg State-Based Mode Switching 5 13 2 ⟨ 1 , 2 , µ 1 ⟩ ⟨ 1 , 2 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ v 1 u 1 v 5 v 8 u 5 u 8 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 0 , 0 , µ 3 ⟩ v 9 u 9 τ 1 τ 2 v 2 v 3 u 2 u 3 ⟨ 4 , 5 , µ 2 ⟩ ⟨ 1 , 5 , µ 3 ⟩ ⟨ 4 , 5 , µ 3 ⟩ ⟨ 1 , 5 , µ 2 ⟩ ⟨ 0 , 0 , µ 4 ⟩ ⟨ 0 , 0 , µ 4 ⟩ v 10 u 10 v 6 v 7 u 6 u 7 ⟨ 4 , 8 , µ 2 ⟩ v 4 ⟨ 0 , 0 , µ 3 ⟩ ⟨ 4 , 8 , µ 3 ⟩ u 4 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 4 , 8 , µ 4 ⟩ ⟨ 4 , 8 , µ 4 ⟩
Example: Period-Adaptive Tasks 2 5 5 5 8 8 8 5 2 5 2 5 5 5 8 8 8 5 Pontus Ekberg State-Based Mode Switching 5 13 2 ⟨ 1 , 2 , µ 1 ⟩ ⟨ 1 , 2 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ v 1 u 1 v 5 v 8 u 5 u 8 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 0 , 0 , µ 3 ⟩ v 9 u 9 τ 1 τ 2 v 2 v 3 u 2 u 3 ⟨ 4 , 5 , µ 2 ⟩ ⟨ 1 , 5 , µ 3 ⟩ ⟨ 4 , 5 , µ 3 ⟩ ⟨ 1 , 5 , µ 2 ⟩ ⟨ 0 , 0 , µ 4 ⟩ ⟨ 0 , 0 , µ 4 ⟩ v 10 u 10 v 6 v 7 u 6 u 7 ⟨ 4 , 8 , µ 2 ⟩ v 4 ⟨ 0 , 0 , µ 3 ⟩ ⟨ 4 , 8 , µ 3 ⟩ u 4 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 4 , 8 , µ 4 ⟩ ⟨ 4 , 8 , µ 4 ⟩
Example: Period-Adaptive Tasks 2 5 5 5 8 8 8 5 2 5 2 5 5 5 8 8 8 5 Pontus Ekberg State-Based Mode Switching 5 13 2 ⟨ 1 , 2 , µ 1 ⟩ ⟨ 1 , 2 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ ⟨ 0 , 0 , µ 1 ⟩ ⟨ 1 , 5 , µ 1 ⟩ v 1 u 1 v 5 v 8 u 5 u 8 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 0 , 0 , µ 3 ⟩ v 9 u 9 τ 1 τ 2 v 2 v 3 u 2 u 3 ⟨ 4 , 5 , µ 2 ⟩ ⟨ 1 , 5 , µ 3 ⟩ ⟨ 4 , 5 , µ 3 ⟩ ⟨ 1 , 5 , µ 2 ⟩ ⟨ 0 , 0 , µ 4 ⟩ ⟨ 0 , 0 , µ 4 ⟩ v 10 u 10 v 6 v 7 u 6 u 7 ⟨ 4 , 8 , µ 2 ⟩ v 4 ⟨ 0 , 0 , µ 3 ⟩ ⟨ 4 , 8 , µ 3 ⟩ u 4 ⟨ 0 , 0 , µ 2 ⟩ ⟨ 4 , 8 , µ 4 ⟩ ⟨ 4 , 8 , µ 4 ⟩
Recommend
More recommend