Cache related pre-emption delay aware response time analysis for fixed priority pre-emptive systems Sebastian Altmeyer, Robert I. Davis, Claire Maiza RTSS 2011, Vienna
1 Cache Related Pre-emption Delay Useful Cache Blocks Evicting Cache Blocks 2 Response Time Analysis Analysis/Review of existing Approaches New Approach: ECB Union Correct Handling of Blocking Time 3 Evaluation Case Study Generated Test Cases 4 Conclusions & Future Work Altmeyer, Davis, Maiza CRPD aware RTA 2 / 24
Pre-emptively Scheduled Systems: Cache Related Pre-emption Delay • Pre-emptive scheduling • Cache related pre-emption delay (CRPD): • Impact of pre-emption on the cache content • Overall cost of additional reloads due to pre-emption τ 1 τ 2 = CRPD = Task Activation Altmeyer, Davis, Maiza CRPD aware RTA 3 / 24
Useful Cache Blocks A memory block m at program point P is called a useful cache block, if a) m may be cached at P b) m may be reused at program point P ′ that may be reached from P with no eviction of m on this path. P A B D C B A C Cache Content: = hit = miss [ A , B , C , D ] UCB = { A , B , C } Altmeyer, Davis, Maiza CRPD aware RTA 4 / 24
Evicting Cache Blocks A memory block of the pre-empting task is called an evicting cache block, if it may be accessed during the execution of the pre-empting task. Cache Content: Cache Content: X Y Z [ A , B , C , D ] [ A , X , Y , Z ] A B D C B A C P = hit = miss ECB = { X , Y , Z } Altmeyer, Davis, Maiza CRPD aware RTA 5 / 24
Cache Related Pre-emption Delay - Notation Presentation restricted to direct-mapped caches only: Sets of ECBs and UCBs are sets of integers: s ∈ UCB i ⇔ τ i has a useful cache block in cache-set s s ∈ ECB i ⇔ τ i may evict a cache block in cache-set s pre-emption cost task τ j pre-empting τ i (BRT block reload time): BRT · | UCB i ∩ ECB j | Altmeyer, Davis, Maiza CRPD aware RTA 6 / 24
Cache Related Pre-emption Delay - Example τ 1 pre-empts τ 2 ECB 1 = { X , Y , Z } UCB 2 = { A , B , C } Cache Content: Cache Content: X Y Z [ A , B , C , D ] [ A , X , Y , Z ] A B D C B A C P = hit = miss Altmeyer, Davis, Maiza CRPD aware RTA 7 / 24
Cache Related Pre-emption Delay - Example τ 1 pre-empts τ 2 ECB 1 = { 2 , 3 , 4 } UCB 2 = { 1 , 2 , 3 } Cache Content: Cache Content: 2 3 4 [ A , B , C , D ] [ A , X , Y , Z ] 1 2 4 3 2 1 3 P = hit = miss CRPD 1 , 2 = BRT · | UCB 2 ∩ ECB 1 | = BRT · |{ 1 , 2 , 3 } ∩ { 2 , 3 , 4 }| = BRT · |{ 2 , 3 }| UCBs in cache-set 2 and 3 may be evicted ⇒ 2 pre-emption misses Altmeyer, Davis, Maiza CRPD aware RTA 8 / 24
Response Time Analysis (for fixed priorities) � R i � � R i = C i + ( C j ) T j ∀ j ∈ hp ( i ) Response Time R i = finishing time − activation time no deadline miss ⇔ ∀ τ i : R i ≤ D i (exec. time C i , period T i , deadline D i , tasks with higher priority hp( i )) Altmeyer, Davis, Maiza CRPD aware RTA 9 / 24
Response Time Analysis (for fixed priorities) � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ i , j denotes the pre-emption cost Response Time R i = finishing time − activation time no deadline miss ⇔ ∀ τ i : R i ≤ D i (exec. time C i , period T i , deadline D i , tasks with higher priority hp( i )) Altmeyer, Davis, Maiza CRPD aware RTA 9 / 24
Response Time Analysis with CRPD � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ i , j denotes the pre-emption cost But what is the precise meaning of γ ? Altmeyer, Davis, Maiza CRPD aware RTA 10 / 24
UCB only or ECB only (Busquets-Mataix et al., Lee et al.) � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ ecb γ ucb = BRT · | ECB j | or = BRT · max ∀ k ∈ aff ( i , j ) {| UCB k |} i , j i , j (aff( i , j ) = hep( i ) ∩ lp( j )) Altmeyer, Davis, Maiza CRPD aware RTA 11 / 24
UCB only or ECB only (Busquets-Mataix et al., Lee et al.) � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ ecb γ ucb = BRT · | ECB j | or = BRT · max ∀ k ∈ aff ( i , j ) {| UCB k |} i , j i , j (aff( i , j ) = hep( i ) ∩ lp( j )) UCB i ECB i { 1 , 2 } { 1 , 2 } τ 1 { 3 , 4 } { 1 , 2 , 3 , 4 } τ 2 0 1 2 3 4 Execution γ ucb 2 , 1 = γ ecb 2 , 1 = 2 actual cost = 0 Altmeyer, Davis, Maiza CRPD aware RTA 11 / 24
Why not use a simple combination? � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ i , j = BRT · | UCB i ∩ ECB j | Altmeyer, Davis, Maiza CRPD aware RTA 12 / 24
Why not use a simple combination? � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ i , j = BRT · | UCB i ∩ ECB j | C 1 = 1, C 2 = 2, C 3 = 3, BRT = 1 UCB i ECB i { 1 , 2 } τ 1 ∅ { 1 } { 1 , 2 } τ 2 { 3 , 4 } { 1 , 2 , 3 , 4 } τ 3 0 1 2 3 4 5 6 7 8 9 10 11 Pre-emption Delay Execution τ 1 pre-empting τ 2 causes higher costs (1) than τ 1 pre-empting τ 3 (0) Altmeyer, Davis, Maiza CRPD aware RTA 12 / 24
Why not use a simple combination? � R i � � R i = C i + ( C j + γ i , j ) T j ∀ j ∈ hp ( i ) γ i , j = BRT · | UCB i ∩ ECB j | C 1 = 1, C 2 = 2, C 3 = 3, BRT = 1 UCB i ECB i { 2 , 3 } τ 1 ∅ { 1 , 2 } { 1 , 2 } τ 2 { 3 , 4 } { 1 , 2 , 3 , 4 } τ 3 0 1 2 3 4 5 6 7 8 Pre-emption Delay Execution Nested pre-emption causes higher costs (2) than any non-nested (1) Altmeyer, Davis, Maiza CRPD aware RTA 12 / 24
UCB Union (Tan et al.) all possibly affected UCBs � �� � � � � � � γ tan ∩ ECB j � � = BRT · UCB k � � i , j � � ∀ k ∈ aff ( i , j ) � �� � that are evicted by task τ j Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24
UCB Union (Tan et al.) all possibly affected UCBs � �� � � � � � � γ tan ∩ ECB j � � = BRT · UCB k � � i , j � � ∀ k ∈ aff ( i , j ) � �� � that are evicted by task τ j UCB i ECB i { 1 , 2 } { 1 , 2 } τ 1 { 3 , 4 } { 1 , 2 , 3 , 4 } τ 2 0 1 2 3 4 Execution γ ucb 2 , 1 = γ ecb 2 , 1 = 2 γ tan 2 , 1 = 0 Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24
UCB Union (Tan et al.) all possibly affected UCBs � �� � � � � � � γ tan ∩ ECB j � � = BRT · UCB k � � i , j � � ∀ k ∈ aff ( i , j ) � �� � that are evicted by task τ j • safe combination of ECBs and UCBs • dominates ECB-Only ( γ ecb = BRT · | ECB j | ) i , j Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24
UCB Union (Tan et al.) all possibly affected UCBs � �� � � � � � � γ tan ∩ ECB j � � = BRT · UCB k � � i , j � � ∀ k ∈ aff ( i , j ) � �� � that are evicted by task τ j C 1 = 1, C 2 = C 3 = 2, BRT = 1 UCB i ECB i { 1 , 2 , 3 , 4 } τ 1 ∅ { 1 , 2 } { 1 , 2 , 3 , 4 } τ 2 { 3 , 4 } { 1 , 2 , 3 , 4 } τ 3 0 1 2 3 4 5 6 7 8 9 10 γ tan 3 , 1 = 4 ∧ γ tan 3 , 2 = 2 → total pre-emption cost = 6 actual cost = 4 Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24
New Approach: ECB Union impact of all higher priority tasks � �� � �� � � � � � � � γ new � � = BRT · max � UCB k ∩ ECB h � � i , j ∀ k ∈ aff ( i , j ) � h ∈ hp ( j ) ∪{ j } � �� � affected task with highest CRPD Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24
New Approach: ECB Union impact of all higher priority tasks � �� � �� � � � � � � � γ new � � = BRT · max � UCB k ∩ ECB h � � i , j ∀ k ∈ aff ( i , j ) � h ∈ hp ( j ) ∪{ j } � �� � affected task with highest CRPD • safe combination of ECBs and UCBs • dominates UCB-Only ( γ ucb = BRT · max ∀ k ∈ aff ( i , j ) {| UCB k |} ) i , j Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24
New Approach: ECB Union impact of all higher priority tasks � �� � �� � � � � � � � γ new � � = BRT · max � UCB k ∩ ECB h � � i , j ∀ k ∈ aff ( i , j ) � h ∈ hp ( j ) ∪{ j } � �� � affected task with highest CRPD C 1 = 1, C 2 = C 3 = 2, BRT = 1 UCB i ECB i { 1 , 2 , 3 , 4 } τ 1 ∅ { 1 , 2 } { 1 , 2 , 3 , 4 } τ 2 { 3 , 4 } { 1 , 2 , 3 , 4 } τ 3 0 1 2 3 4 5 6 7 8 9 10 γ tan 3 , 1 = 4 ∧ γ tan γ new 3 , 1 = 2 ∧ γ new 3 , 2 = 2 ⇒ 6 3 , 2 = 2 ⇒ 4 actual cost = 4 Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24
New Approach: ECB Union impact of all higher priority tasks � �� � �� � � � � � � � γ new � � = BRT · max � UCB k ∩ ECB h � � i , j ∀ k ∈ aff ( i , j ) � h ∈ hp ( j ) ∪{ j } � �� � affected task with highest CRPD C 1 = 1, C 2 = C 3 = 2, BRT = 1 UCB i ECB i { 1 , 2 } τ 1 ∅ ∅ { 3 , 4 } τ 2 { 1 , 2 , 3 , 4 } { 1 , 2 , 3 , 4 } τ 3 0 1 2 3 4 5 6 7 8 9 10 γ tan 3 , 1 = 2 ∧ γ tan γ new 3 , 1 = 2 ∧ γ new 3 , 2 = 2 ⇒ 4 3 , 2 = 4 ⇒ 6 actual cost = 4 Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24
Combined Approach schedulable tasksets UCB-Union ECB-Union ECB UCB Only Only The larger the area, the more tasksets deemed schedulable. Altmeyer, Davis, Maiza CRPD aware RTA 15 / 24
Recommend
More recommend