cache related preemption delay for set associative caches
play

Cache Related Preemption Delay for Set-Associative Caches - PowerPoint PPT Presentation

Cache Related Preemption Delay for Set-Associative Caches Resilience Analysis Sebastian Altmeyer, Claire Burgui` ere, Jan Reineke Predator Meeting, Pisa 2010 saarland university computer science saarland Context university computer


  1. Cache Related Preemption Delay for Set-Associative Caches Resilience Analysis Sebastian Altmeyer, Claire Burgui` ere, Jan Reineke Predator Meeting, Pisa 2010 saarland university computer science

  2. saarland Context university computer science Preemptive scheduling Cache related preemption delay (CRPD): ◮ Impact of preemption on the cache content ◮ Overall cost of additional reloads due to preemption T 1 T 2 = CRPD = Task Activation Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 2 / 16

  3. saarland CRPD for set-associative caches - LRU university computer science CRPD computation: ◮ preempted task: Useful Cache Blocks (UCB) ◮ preempting task: Evicting Cache Blocks (ECB) CRPD from UCB and ECB: ◮ Previous combination overestimates ⇒ Some UCBs remain useful under preemption Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 3 / 16

  4. saarland Useful Cache Block - [Lee et al. , 1996] university computer science Definition (Useful Cache Block) 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. = hit = miss P A B D C B A C Cache Content: [ A , B , C , D ] c � CRPD s CRPD UCB = UCB s = 1 n = associativity CRPD s = BRT × min ( | UCB ( s ) | , n ) UCB BRT = Block Reload Time Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 4 / 16

  5. saarland Useful Cache Block - [Lee et al. , 1996] university computer science Definition (Useful Cache Block) 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. = hit = miss P A B D C B A C Cache Content: [ A , B , C , D ] c � CRPD s CRPD UCB = UCB s = 1 n = associativity CRPD s = BRT × min ( | UCB ( s ) | , n ) UCB BRT = Block Reload Time Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 4 / 16

  6. saarland Evicting Cache Blocks university computer science [Tomiyama & Dutt, 2000] Definition (Evicting Cache Blocks (ECB)) A memory block of the preempting task is called an evicting cache block, if it may be accessed during the execution of the preempting task. X Y Z Cache Content: Cache Content: [ A , B , C , D ] [ X , Y , Z , D ] A B C B A C = additional miss due to preemption (CRPD) � 0 if ECB ( s ) = ∅ CRPD s ECB = BRT × n otherwise Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 5 / 16

  7. saarland Impact of the preempting task university computer science on the preempted task CRPD (using UCB and ECB) c � min ( CRPD s UCB , CRPD s CRPD UCB&ECB = ECB ) s = 1 Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 6 / 16

  8. saarland Impact of the preempting task university computer science on the preempted task (example) [ c , b , a , x ] a [ a , c , b , x ] b [ b , a , c , x ] c [ c , b , a , x ] no miss 0x0 a 0x0 b ECBs 0x0 c = { e } [ e , c , b , a ] a [ a , e , c , b ] b [ b , a , e , c ] c [ c , b , a , e ] no miss CRPD UCB ⇒ | UCB | = 3 CRPD ECB ⇒ n = 4 CRPD UCB&ECB = min ( CRPD UCB , CRPD ECB ) ⇒ 3 ◮ Overestimation: number of additional misses = 0 < 3 Why? ◮ | ECB | to evict a UCB = 2 ◮ but, | ECB | = 1 ◮ One single ECB is not sufficient to evict a UCB Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 7 / 16

  9. saarland Refinement university computer science Determining max | ECB | s.t. no additional cache miss occur m [ m , , , , , , , ] a 1 m ∈ UCB a 2 m is 4-resilient a 3 [ a 3 , a 2 , a 1 , m , , , , ] ( res ( m ) = 4) m [ m , a 3 , a 2 , a 1 , , , , ] Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 8 / 16

  10. saarland Resilience analysis university computer science Definition (Resilience) The resilience res P ( m ) of memory block m at program point P is the greatest l, such that all possible next accesses to m, a) that would be hits without preemption, b) would still be hits in case of a preemption with l accesses at P. preempted task preempting task m [ m , , , , , , , ] a 1 m ∈ UCB a 2 res ( m ) = 4 ECB = { e 1 , e 2 , e 3 , e 4 } a 3 [ a 3 , e 4 , e 3 , e 2 , e 1 , a 2 , a 1 , m ] m [ m , a 3 , e 4 , e 3 , e 2 , e 1 , a 2 , a 1 ] if | ECB | ≤ l then the UCB is not evicted Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 9 / 16

  11. saarland CRPD using resilience university computer science CRPD (combining UCB and ECB by using resilience) blocks contributing to CRPD � �� � ≤ × | \ { m | res ( m ) = | ECB |} | CRPD BRT UCB � �� � � �� � useful remain useful Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 10 / 16

  12. saarland CRPD using resilience - example university computer science [ c , b , a , x ] a [ a , c , b , x ] b [ b , a , c , x ] c [ c , b , a , x ] 0x0 a no miss 0x0 b ECBs 0x0 c = { e } [ e , c , b , a ] a [ a , e , c , b ] b [ b , a , e , c ] c [ c , b , a , e ] no miss ◮ | ECB | = 1 ◮ res ( a ) = res ( b ) = res ( c ) = 1 ◮ CRPD res UCB&ECB = BRT × | UCB \ { m | res ( m ) = | ECB | }| = 0 Instead of: CRPD UCB&ECB = min ( CRPD UCB , CRPD ECB ) = 3 × BRT Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 11 / 16

  13. saarland Evaluation Setting university computer science Cachesize 8KB 8 ways 32 sets linesize 32 bytes LRU caches Testcases: M¨ alardalen benchmark suite: Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 12 / 16

  14. saarland Evaluation Benchmarks university computer science Task Code Size Cache Util. | UCB | minmax 608B 7.4 % 4 4.7 % insertsort 384B 5 fibcall 256B 3.1 % 5 fac 256B 3.1 % 6 bs 320B 3.9 % 8 bsort100 544B 6.6 % 10 ns 576B 7 % 11 matmult 864B 10.5 % 12 fir 928B 11.3 % 22 crc 1216B 14.8 % 35 select 1280B 15.6 % 37 qsort-exam 1440B 17.6 % 42 44.9 % sqrt 3680B 101 qurt 4160B 50.8 % 118 Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 13 / 16

  15. saarland Evaluation university computer science preempted by fibcall (#ECBs= 8) 100 10 1 minmax insertsort fac bs bsort100 ns matmult fir crc select qsort-exam sqrt preempted by qurt (#ECBs= 121) 100 10 1 minmax insertsort fac bs bsort100 ns matmult fir crc select qsort-exam sqrt resilience tan UCB & ECB #UCBs Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 14 / 16

  16. saarland Conclusions university computer science UCB and ECB analyses: ◮ pessimistic overapproximation of the CRPD Resilience analysis: ◮ regain some precision ◮ reduce pessimism Resilience analysis: ◮ simple data-flow analyses ◮ similar to UCB analysis for LRU Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 15 / 16

  17. saarland Further reading university computer science Altmeyer, S. & Burgui` ere, C. (2009). In Proceedings of the 21st Euromicro Conference on Real-Time Systems (ECRTS ’09) pp. 109–118, IEEE Computer Society. Lee, C.-G., Hahn, J., Min, S. L., Ha, R., Hong, S., Park, C. Y., Lee, M. & Kim, C. S. (1996). In RTSS’96 p. 264, IEEE Computer Society. Negi, H. S., Mitra, T. & Roychoudhury, A. (2003). In CODES+ISSS’03 ACM. Reineke, J. (2008). Caches in WCET Analysis . PhD thesis, Universit¨ at des Saarlandes, Saarbr¨ ucken. Staschulat, J. & Ernst, R. (2007). ACM Trans. on Embedded Computing Sys. 6 , 25. Tan, Y. & Mooney, V. (2004). In SCOPES’04 pp. 182–199,. Tomiyama, H. & Dutt, N. D. (2000). In CODES’00 ACM. Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 16 / 16

  18. saarland l -resilience analysis university computer science 0-resilient 2-resilient m m 2-resilient 2-resilient m is not useful 0-resilient m m m m (a) (b) Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 16 / 16

  19. saarland CPRD using ECB: Pitfall university computer science 0x0 8 0x0 9 0x0 a 0x0 b [ b , a , 9 , 8 ] 8 [ 8 , b , a , 9 ] 9 [ 9 , 8 , b , a ] a [ a , 9 , 8 , b ] b [ b , a , 9 , 8 ] 0 misses ECBs = { e } [ e , b , a , 9 ] 8 ∗ [ 8 , e , b , a ] 9 ∗ [ 9 , 8 , e , b ] a ∗ [ a , 9 , 8 , e ] b ∗ [ b , a , 9 , 8 ] 4 misses | UCB ( s ) | = 4 | ECB ( s ) | = 1 n = 4 number of additional misses = 4 Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 16 / 16

  20. saarland Upper-bound on the CRPD - direct-mapped caches university computer science using UCB [Lee et al. , 1996]: CRPD UCB = BRT · |{ s i | ∃ m ∈ UCB : m mod c = s i }| using ECB [Tomiyama & Dutt, 2000]: CRPD ECB = BRT · |{ s i | ∃ m ∈ ECB : m mod c = s i }| using UCB and ECB [Negi et al. , 2003, Tan & Mooney, 2004]: CRPD UCB&ECB = BRT · |{ s i | ∃ m ∈ UCB : m mod c = s i ∧∃ m ′ ∈ ECB : m ′ mod c = s i }| Altmeyer, Burgui` ere, Reineke CRPD for set-associative caches Predator, Pisa 2010 16 / 16

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