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

cache related pre emption delay aware response time
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 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

slide-3
SLIDE 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

slide-4
SLIDE 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

Cache Content: [A, B, C, D]

= hit = miss

A B D C B A C

UCB = {A, B, C}

Altmeyer, Davis, Maiza CRPD aware RTA 4 / 24

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

P

Cache Content: [A, B, C, D] Cache Content: [A, X, Y , Z]

= hit = miss

A B D C B A C X Y Z

ECB = {X, Y , Z}

Altmeyer, Davis, Maiza CRPD aware RTA 5 / 24

slide-6
SLIDE 6

Cache Related Pre-emption Delay - Notation

Presentation restricted to direct-mapped caches only:

Sets of ECBs and UCBs are sets of integers: s ∈ UCBi ⇔ τi has a useful cache block in cache-set s s ∈ ECBi ⇔ τi may evict a cache block in cache-set s

pre-emption cost task τj pre-empting τi (BRT block reload time): BRT · |UCBi ∩ ECBj|

Altmeyer, Davis, Maiza CRPD aware RTA 6 / 24

slide-7
SLIDE 7

Cache Related Pre-emption Delay - Example

τ1 pre-empts τ2 ECB1 = {X, Y , Z} UCB2 = {A, B, C}

P

Cache Content: [A, B, C, D] Cache Content: [A, X, Y , Z]

= hit = miss

A B D C B A C X Y Z

Altmeyer, Davis, Maiza CRPD aware RTA 7 / 24

slide-8
SLIDE 8

Cache Related Pre-emption Delay - Example

τ1 pre-empts τ2 ECB1 = {2, 3, 4} UCB2 = {1, 2, 3}

P

Cache Content: [A, B, C, D] Cache Content: [A, X, Y , Z]

= hit = miss

1 2 4 3 2 1 3 2 3 4

CRPD1,2 = BRT · |UCB2 ∩ ECB1| = 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

slide-9
SLIDE 9

Response Time Analysis (for fixed priorities)

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj)

Response Time Ri = finishing time − activation time no deadline miss ⇔ ∀τi : Ri ≤ Di

(exec. time Ci, period Ti, deadline Di, tasks with higher priority hp(i))

Altmeyer, Davis, Maiza CRPD aware RTA 9 / 24

slide-10
SLIDE 10

Response Time Analysis (for fixed priorities)

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γi,j denotes the pre-emption cost Response Time Ri = finishing time − activation time no deadline miss ⇔ ∀τi : Ri ≤ Di

(exec. time Ci, period Ti, deadline Di, tasks with higher priority hp(i))

Altmeyer, Davis, Maiza CRPD aware RTA 9 / 24

slide-11
SLIDE 11

Response Time Analysis with CRPD

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γi,j denotes the pre-emption cost But what is the precise meaning of γ?

Altmeyer, Davis, Maiza CRPD aware RTA 10 / 24

slide-12
SLIDE 12

UCB only or ECB only (Busquets-Mataix et al., Lee et al.)

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γecb

i,j

= BRT · |ECBj|

  • r

γucb

i,j

= BRT · max∀k∈aff(i,j) {|UCBk|}

(aff(i, j) = hep(i) ∩ lp(j))

Altmeyer, Davis, Maiza CRPD aware RTA 11 / 24

slide-13
SLIDE 13

UCB only or ECB only (Busquets-Mataix et al., Lee et al.)

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γecb

i,j

= BRT · |ECBj|

  • r

γucb

i,j

= BRT · max∀k∈aff(i,j) {|UCBk|}

(aff(i, j) = hep(i) ∩ lp(j))

1 2 3 4

τ1 τ2

UCBi ECBi {1, 2} {1, 2} {3, 4} {1, 2, 3, 4} Execution

γucb

2,1 = γecb 2,1 = 2

actual cost = 0

Altmeyer, Davis, Maiza CRPD aware RTA 11 / 24

slide-14
SLIDE 14

Why not use a simple combination?

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γi,j = BRT · |UCBi ∩ ECBj|

Altmeyer, Davis, Maiza CRPD aware RTA 12 / 24

slide-15
SLIDE 15

Why not use a simple combination?

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γi,j = BRT · |UCBi ∩ ECBj|

C1 = 1, C2 = 2, C3 = 3, BRT = 1

0 1 2 3 4 5 6 7 8 9 10 11

τ1 τ2 τ3

UCBi ECBi ∅ {1, 2} {1} {1, 2} {3, 4} {1, 2, 3, 4} Execution Pre-emption Delay

τ1 pre-empting τ2 causes higher costs (1) than τ1 pre-empting τ3 (0)

Altmeyer, Davis, Maiza CRPD aware RTA 12 / 24

slide-16
SLIDE 16

Why not use a simple combination?

Ri = Ci +

  • ∀j∈hp(i)

Ri Tj

  • (Cj + γi,j)

γi,j = BRT · |UCBi ∩ ECBj|

C1 = 1, C2 = 2, C3 = 3, BRT = 1

1 2 3 4 5 6 7 8

τ1 τ2 τ3

UCBi ECBi ∅ {2, 3} {1, 2} {1, 2} {3, 4} {1, 2, 3, 4} Execution Pre-emption Delay

Nested pre-emption causes higher costs (2) than any non-nested (1)

Altmeyer, Davis, Maiza CRPD aware RTA 12 / 24

slide-17
SLIDE 17

UCB Union (Tan et al.)

γtan

i,j

= BRT·

  • all possibly affected UCBs

  • ∀k∈aff(i,j)

UCBk   ∩ECBj

  • that are evicted by task τj

Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24

slide-18
SLIDE 18

UCB Union (Tan et al.)

γtan

i,j

= BRT·

  • all possibly affected UCBs

  • ∀k∈aff(i,j)

UCBk   ∩ECBj

  • that are evicted by task τj

1 2 3 4

τ1 τ2

UCBi ECBi {1, 2} {1, 2} {3, 4} {1, 2, 3, 4} Execution

γucb

2,1 = γecb 2,1 = 2

γtan

2,1 = 0

Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24

slide-19
SLIDE 19

UCB Union (Tan et al.)

γtan

i,j

= BRT·

  • all possibly affected UCBs

  • ∀k∈aff(i,j)

UCBk   ∩ECBj

  • that are evicted by task τj
  • safe combination of ECBs and UCBs
  • dominates ECB-Only (γecb

i,j

= BRT · |ECBj|)

Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24

slide-20
SLIDE 20

UCB Union (Tan et al.)

γtan

i,j

= BRT·

  • all possibly affected UCBs

  • ∀k∈aff(i,j)

UCBk   ∩ECBj

  • that are evicted by task τj

C1 = 1, C2 = C3 = 2, BRT = 1

1 2 3 4 5 6 7 8 9 10

τ1 τ2 τ3

UCBi ECBi ∅ {1, 2, 3, 4} {1, 2} {1, 2, 3, 4} {3, 4} {1, 2, 3, 4}

γtan

3,1 = 4 ∧ γtan 3,2 = 2 → total pre-emption cost = 6

actual cost = 4

Altmeyer, Davis, Maiza CRPD aware RTA 13 / 24

slide-21
SLIDE 21

New Approach: ECB Union

γnew

i,j

= BRT· max

∀k∈aff(i,j)

  • UCBk∩

impact of all higher priority tasks

  • h∈hp(j)∪{j}

ECBh

  • affected task with highest CRPD

Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24

slide-22
SLIDE 22

New Approach: ECB Union

γnew

i,j

= BRT· max

∀k∈aff(i,j)

  • UCBk∩

impact of all higher priority tasks

  • h∈hp(j)∪{j}

ECBh

  • affected task with highest CRPD
  • safe combination of ECBs and UCBs
  • dominates UCB-Only (γucb

i,j

= BRT · max∀k∈aff(i,j) {|UCBk|})

Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24

slide-23
SLIDE 23

New Approach: ECB Union

γnew

i,j

= BRT· max

∀k∈aff(i,j)

  • UCBk∩

impact of all higher priority tasks

  • h∈hp(j)∪{j}

ECBh

  • affected task with highest CRPD

C1 = 1, C2 = C3 = 2, BRT = 1

1 2 3 4 5 6 7 8 9 10

τ1 τ2 τ3

UCBi ECBi ∅ {1, 2, 3, 4} {1, 2} {1, 2, 3, 4} {3, 4} {1, 2, 3, 4}

γtan

3,1 = 4 ∧ γtan 3,2 = 2 ⇒ 6

γnew

3,1 = 2 ∧ γnew 3,2 = 2 ⇒ 4

actual cost = 4

Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24

slide-24
SLIDE 24

New Approach: ECB Union

γnew

i,j

= BRT· max

∀k∈aff(i,j)

  • UCBk∩

impact of all higher priority tasks

  • h∈hp(j)∪{j}

ECBh

  • affected task with highest CRPD

C1 = 1, C2 = C3 = 2, BRT = 1

1 2 3 4 5 6 7 8 9 10

τ1 τ2 τ3

UCBi ECBi ∅ {1, 2} ∅ {3, 4} {1, 2, 3, 4} {1, 2, 3, 4}

γtan

3,1 = 2 ∧ γtan 3,2 = 2 ⇒ 4

γnew

3,1 = 2 ∧ γnew 3,2 = 4 ⇒ 6

actual cost = 4

Altmeyer, Davis, Maiza CRPD aware RTA 14 / 24

slide-25
SLIDE 25

Combined Approach

schedulable tasksets ECB Only UCB-Union UCB Only ECB-Union

The larger the area, the more tasksets deemed schedulable.

Altmeyer, Davis, Maiza CRPD aware RTA 15 / 24

slide-26
SLIDE 26

Combined Approach

schedulable tasksets Combined ECB Only UCB-Union UCB Only ECB-Union

The larger the area, the more tasksets deemed schedulable. Rcomb

i

= min(Rtan

i

, Rnew

i

)

Altmeyer, Davis, Maiza CRPD aware RTA 15 / 24

slide-27
SLIDE 27

Blocking Time (Stack Resource Protocol)

Ri = Ci + Bi +

  • ∀j∈hp(i)

Ri + Jj Tj

  • (Cj + γi,j)

0 1 2 3 4 5 6 7 8 9 10 11 12

τ1 τ2 τ3

Execution Resource access Pre-emption Delay

τ2 and τ3 share a common resource

UCBi ECBi ∅ {1, 2} ∅ {3, 4} {1, 2} {1, 2, 3, 4}

Task τ2 can be blocked by execution of τ3 and pre-emption delay (τ1 pre-empting τ3) ECB-Only accounts for this implicitly all others must be extended (see paper)

Altmeyer, Davis, Maiza CRPD aware RTA 16 / 24

slide-28
SLIDE 28

Evaluation

1 case study (benchmarks from M¨

alardalen benchmark suite)

2 randomly generated test cases

Altmeyer, Davis, Maiza CRPD aware RTA 17 / 24

slide-29
SLIDE 29

Case Study – Benchmarks

WCET UCBs ECBs bs 445 5 35 minmax 504 9 79 fac 1,252 4 24 fibcall 1,351 5 24 insertsort 6,573 10 41 loop3 13,449 4 817 select 17,088 15 151 qsort-exam 22,146 15 170 fir 29,160 9 105 sqrt 39,962 14 477 ns 43,319 13 64 qurt 214,076 14 484 crc 290,782 14 144 matmult 742,585 23 100 bsort100 1,567,222 35 62 Periods: ∀i : Ti = c · Ci; c varied from 15 upwards ⇒ utilization from 1.0 downwards (ARM7, direct-mapped instruction, cache size 2kB, line size 8 Bytes (256 cache sets) and BRT = 8µs)

Altmeyer, Davis, Maiza CRPD aware RTA 18 / 24

slide-30
SLIDE 30

Case Study – Results

breakdown utilization: max utilization s.t. taskset was deemed schedulable Analysis Breakdown utilization: No Pre-emption Cost 0.95 Combined 0.767 ECB-Union 0.767 UCB-Only 0.75 UCB-Union 0.698 ECB-Only 0.612

Altmeyer, Davis, Maiza CRPD aware RTA 19 / 24

slide-31
SLIDE 31

Generated Test Cases – Setting

Task set:

  • 10 tasks
  • periods Ti range from 5ms to 500ms (log-uniform distribution)
  • task utilization Ui generated using UUnifast
  • execution times Ci = Ui · Ti
  • implicit deadlines, priorities in deadline monotonic order

Pre-emption costs:

  • number of cache sets (CS = 256)
  • block-reload time (BRT = 8µs)
  • cache usage using UUnifast (CU = 10)
  • reuse factor (UCBs), uniform distribution [0; |ECB|]

Altmeyer, Davis, Maiza CRPD aware RTA 20 / 24

slide-32
SLIDE 32

Generated Test Cases – Results

Altmeyer, Davis, Maiza CRPD aware RTA 21 / 24

slide-33
SLIDE 33

Why does ECB-Union perform better than UCB-Union?

  • UCB-Union overapproximates evicted UCBs
  • ECB-Union overapproximates evicted ECBs
  • always more ECBs than UCBs
  • also UCB-Only better than ECB-Only

holds even for different parameter settings (see evaluation in paper)

Altmeyer, Davis, Maiza CRPD aware RTA 22 / 24

slide-34
SLIDE 34

Conclusions

  • Analysis of Response Time Analyses with CRPD
  • New Approaches (ECB-Union and Combined)
  • Corrected Handling of Blocking Time
  • Thorough Evaluation (Case Study; generated test cases with

varying parameters)

Altmeyer, Davis, Maiza CRPD aware RTA 23 / 24

slide-35
SLIDE 35

Future Work

  • ECB Union and UCB Union still pessimistic:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

τ1 τ2 τ3

ECB Union assumes task τ1 pre-empts τ2 up to six times but, task τ1 pre-empts τ2 at most three times

  • Pre-emption Cost and Fixed Priority FIFO Scheduling
  • Influence of the task mapping on CRPD
  • Comparison with ScratchPad Memories

Altmeyer, Davis, Maiza CRPD aware RTA 24 / 24

slide-36
SLIDE 36

Thanks for your attention.

Questions?