cache related pre emption delay aware response time
play

Cache related pre-emption delay aware response time analysis for - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  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

  25. 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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend