Abstract Interpretation of FIFO Replacement Daniel Grund Jan - - PowerPoint PPT Presentation

abstract interpretation of fifo replacement
SMART_READER_LITE
LIVE PREVIEW

Abstract Interpretation of FIFO Replacement Daniel Grund Jan - - PowerPoint PPT Presentation

Abstract Interpretation of FIFO Replacement Daniel Grund Jan Reineke Saarland University, Saarbrcken, Germany Static Analysis Symposium 2009 saarland university computer science saarland university Outline computer science 1


slide-1
SLIDE 1

Abstract Interpretation of FIFO Replacement

Daniel Grund Jan Reineke

Saarland University, Saarbrücken, Germany

Static Analysis Symposium 2009

computer science

saarland

university

slide-2
SLIDE 2

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 2 / 32

slide-3
SLIDE 3

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 3 / 32

slide-4
SLIDE 4

computer science

saarland

university

Notions in Timing Analysis

Frequency Execution time LB BCET WCET UB

Analysis-guaranteed timing bounds Input- and state-induced variance Overest.

Execution time depends on

◮ program input ◮ initial hardware state

Bounds required for schedulability analysis of real-time systems

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 4 / 32

slide-5
SLIDE 5

computer science

saarland

university

Static Timing-Analysis Framework

Binary Executable CFG Re- construction Control-flow Graph Loop Bound Analysis Value Analysis Control-flow Analysis Annotated CFG Basic Block Timing Info Micro- architectural Analysis Global Bound Analysis Legend: Data Action

Framework implemented by aiT of AbsInt Micro-architectural analysis models pipeline, caches, buses, etc. derives bounds on BB exec. times is an abstract interpretation with a huge domain is the computationally most expensive module

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 5 / 32

slide-6
SLIDE 6

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

“hit”

[ab] Caches transparently buffer memory blocks

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-7
SLIDE 7

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

a? “hit”

[ab] Caches transparently buffer memory blocks

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-8
SLIDE 8

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

a! “hit”

[ab] Caches transparently buffer memory blocks

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-9
SLIDE 9

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

c? “miss”

[ab] Caches transparently buffer memory blocks

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-10
SLIDE 10

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

c? “miss”

[ab] Caches transparently buffer memory blocks

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-11
SLIDE 11

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

c! “miss”

[ac] Caches transparently buffer memory blocks Replacement policy dynamically decides which element to replace LRU least recently used PLRU pseudo LRU FIFO first-in first-out Have great influence on abstraction and (obtainable) analysis precision

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-12
SLIDE 12

computer science

saarland

university

Caches and Replacement Policies

CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles

c! “miss”

[ac] Caches transparently buffer memory blocks Replacement policy dynamically decides which element to replace LRU least recently used PLRU pseudo LRU FIFO first-in first-out Have great influence on abstraction and (obtainable) analysis precision

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 6 / 32

slide-13
SLIDE 13

computer science

saarland

university

Cache Analysis: Motivation & Application

Cache performance has great influence on overall performance Need tight bounds on cache performance Otherwise derived timing bounds may be useless:

◮ tasks are deemed not schedulable ◮ waste of hardware resources

Application: Buffers with transparent replacement

◮ Instruction- and data-caches ◮ Branch target buffers (BTB, BTIC) ◮ Translation lookaside buffers (TLB)

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 7 / 32

slide-14
SLIDE 14

computer science

saarland

university

Static Cache Analysis

derives approximations to cache contents at each program point in order to classify memory accesses as cache hits or cache misses

Must-information

Underapproximation of cache contents Used to soundly classify cache hits

May-information

Overapproximation of cache contents Used to soundly classify cache misses

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 8 / 32

slide-15
SLIDE 15

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 9 / 32

slide-16
SLIDE 16

computer science

saarland

university

Concrete Semantics: What is FIFO?

State of FIFO cache of size k: s ∈ S := T k

[t0, . . . , tk−1]

first-in last-in

Examples:

[d, c, b, a]

c

− − →

hit

[d, c, b, a] [d, c, b, a]

e

− − →

miss [e, d, c, b]

Update: US : S × T → S

US([t0, . . . , tk−1], t) := [t0, . . . , tk−1] : ∃i : t = ti

“cache hit”

[t, t0, . . . , tk−2] : otherwise

“cache miss”

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 10 / 32

slide-17
SLIDE 17

computer science

saarland

university

Challenge: How to Predict Hits?

Consider a FIFO cache with unknown contents

[?, ?, ?, ?]

a

− − →

hit

[?, a, ?, ?]

b

− − →

hit

[?, a, ?, b] [?, ?, ?, ?]

a

− − →

hit

[?, ?, ?, a]

b

− − →

miss [b, ?, ?, ?]

If a may be a hit, then b may evict a

⇒ Can only predict hits for most recently accessed element

Can one do better?

[?, ?, ?, ?]

a

− − →

miss [a, ?, ?, ?] b

− − →

miss [b, a, ?, ?]

If a is a miss, then b cannot evict a

⇒ Can predict hits for a until k further misses might have happened

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 11 / 32

slide-18
SLIDE 18

computer science

saarland

university

Challenge: How to Predict Hits?

Consider a FIFO cache with unknown contents

[?, ?, ?, ?]

a

− − →

hit

[?, a, ?, ?]

b

− − →

hit

[?, a, ?, b] [?, ?, ?, ?]

a

− − →

hit

[?, ?, ?, a]

b

− − →

miss [b, ?, ?, ?]

If a may be a hit, then b may evict a

⇒ Can only predict hits for most recently accessed element

Can one do better?

[?, ?, ?, ?]

a

− − →

miss [a, ?, ?, ?] b

− − →

miss [b, a, ?, ?]

If a is a miss, then b cannot evict a

⇒ Can predict hits for a until k further misses might have happened ⇒ Need may-information to obtain precise must-information

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 11 / 32

slide-19
SLIDE 19

computer science

saarland

university

A Solution. Well, our Contributions

Framework for static cache analysis

◮ policy independent ◮ couples must- and may-analyses ◮ analyses cooperate via “update reduction”

FIFO must-analysis

◮ can profit from may-information ◮ hence, also better must-information

FIFO may-analysis

◮ utilizes order of hits and misses ◮ more precise than prior analyses

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 12 / 32

slide-20
SLIDE 20

computer science

saarland

university

Framework and Classification

Domain: Fifo := Must × May Classification: Class := {H, M}⊤

H M H

: cache hit

M

: cache miss ⊤ : unclassified CFifo : Fifo × T → Class CFifo((must, may), t) := CMust(must, t) ⊓ CMay(may, t)

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 13 / 32

slide-21
SLIDE 21

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Independent

S S

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-22
SLIDE 22

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Independent

S S γ US α

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-23
SLIDE 23

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Independent is imprecise

S S γ γ US US α α

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-24
SLIDE 24

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Best possible

S S

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-25
SLIDE 25

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Best possible

S S γ γ

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-26
SLIDE 26

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Best possible

S S γ γ

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-27
SLIDE 27

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Best possible is infeasible

S S γ γ US α α

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-28
SLIDE 28

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Using classification

CFifo((must, may), t) = M S S

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-29
SLIDE 29

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Using classification

CFifo((must, may), t) = M S S γ γ

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-30
SLIDE 30

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Using classification

CFifo((must, may), t) = M S S γ γM(t) = {s ∈ S | t ∈ s}

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-31
SLIDE 31

computer science

saarland

university

Domain Cooperation via Update Reduction

(must, may) (must′, may′)

Using classification

CFifo((must, may), t) = M S S γ γM(t) = {s ∈ S | t ∈ s} US α

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 14 / 32

slide-32
SLIDE 32

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 15 / 32

slide-33
SLIDE 33

computer science

saarland

university

Must-Analysis: Potential Misses

For FIFO, a newly inserted element is evicted after k misses

⇒ Maintain upper bound on number of misses: Potential misses

Abstract must-domain closely resembles the concrete domain MustFifok := [T0, . . . , Tk−1] , where Ti ∈ P(T ), Ti ∩ Tj = ∅, and |Ti| ≤ k. t ∈ Ti ⇒ at most i misses since insertion of t Concretization example

γ([{f}, ∅, {a, c}, {b}]) = {[f, c, a, b] , [f, a, c, b]}

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 16 / 32

slide-34
SLIDE 34

computer science

saarland

university

Must-Analysis: Update

UMust : Must × T × Class → Must UMust([T0, . . . , Tk−1] , t, cl) :=    [∅, T0, . . . , Tk−2 ∪ {t}] : cl = ⊤ [T0, . . . , Tk−1] : cl = H [{t}, T0, . . . , Tk−2] : cl = M

Misses classified by may-analysis Last case only possible due to domain cooperation

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 17 / 32

slide-35
SLIDE 35

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 18 / 32

slide-36
SLIDE 36

computer science

saarland

university

May-Analysis: Definite Misses

How to predict misses?

⇒ Maintain lower bound on number of misses: Definite misses

Initially, anything might be cached To classify a miss for an individual access,

  • ne needs to predict k other misses first

Lemma

A newly inserted element is evicted after accesses to at most 2k − 1 pairwise different elements.

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 19 / 32

slide-37
SLIDE 37

computer science

saarland

university

May-Analysis: Idea “Early Misses”

Initial state: [x, c, b, a] Sequences of different length:

◮ a, b, c, e, f, g, h

Common final state: [h, g, f, e]

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 20 / 32

slide-38
SLIDE 38

computer science

saarland

university

May-Analysis: Idea “Early Misses”

Initial state: [x, c, b, a] Sequences of different length:

◮ a, b, c, e, f, g, h ◮ e, f, g, h

Common final state: [h, g, f, e]

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 20 / 32

slide-39
SLIDE 39

computer science

saarland

university

May-Analysis: Idea “Early Misses”

Initial state: [x, c, b, a] Sequences of different length:

◮ a, b, c, e, f, g, h ◮ e, f, g, h ◮ a, e, f, c, g, h

Common final state: [h, g, f, e]

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 20 / 32

slide-40
SLIDE 40

computer science

saarland

university

May-Analysis: Idea “Early Misses”

Initial state: [x, c, b, a] Sequences of different length:

◮ a, b, c, e, f, g, h ◮ e, f, g, h ◮ a, e, f, c, g, h

Common final state: [h, g, f, e]

⇒ Sequences differ in number of hits

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 20 / 32

slide-41
SLIDE 41

computer science

saarland

university

May-Analysis: Idea “Early Misses”

Initial state: [x, c, b, a] Sequences of different length:

◮ a, b, c, e, f, g, h ◮ e, f, g, h ◮ a, e, f, c, g, h

Common final state: [h, g, f, e]

⇒ Sequences differ in number of hits

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

“Early misses”

◮ preclude hits to thereby evicted elements ◮ reduce number of possible accesses between insertion and eviction

⇒ Order of hits and misses is important

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 20 / 32

slide-42
SLIDE 42

computer science

saarland

university

May-Analysis: Domain

May analysis approximates position in triangle Unclassified access → “take the longer way”

dm cw 1 1 2 2 3 3

M M M H,⊤ H,⊤ M H,⊤ H,⊤ M H,⊤ M H,⊤ H,M,⊤ H,M,⊤ H,M,⊤

For each element t, the analysis maintains: A Set of Potentially Accessed Elements dm Number of Definite Misses cw Number of Covered Ways (Covered Cache Positions)

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 21 / 32

slide-43
SLIDE 43

computer science

saarland

university

May-Analysis: Example

dm cw 1 1 2 2 3 3

M M M H,⊤ H,⊤ M H,⊤ H,⊤ M H,⊤ M H,⊤ H,M,⊤ H,M,⊤ H,M,⊤

Assume sequence x, a, b, c and all accesses are unclassified Then for x one has:

A = {a, b, c} a, b and c might have been accessed since the last insertion of x dm = 0 0 misses have definitely happened since the last insertion of x cw = 3 Assuming that all unclassified accesses were hits, then 3 elements of A must be cached

Consider next access to d

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 22 / 32

slide-44
SLIDE 44

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 23 / 32

slide-45
SLIDE 45

computer science

saarland

university

Relative Competitiveness

How many misses would FIFO have if LRU has mLRU misses?

Definition: Relative Competitiveness

Policy P is (f, c) miss-competitive relative to policy Q if mP(p, s) ≤ f · mQ(q, s) + c for all access sequences s and compatible cache states p, q. E.g. LRU(2k − 1) is (1, 0) miss-competitive vs. FIFO(k)

⇒ LRU(2k − 1) may-analysis can be used for FIFO(k) may analysis

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 24 / 32

slide-46
SLIDE 46

computer science

saarland

university

Evaluation Setup

Must-analysis:

CM Canonical must-analysis (this paper)

May-analyses:

No None RC Based on relative competitiveness EMX Early Miss eXploitation (this paper)

Instantiations of cache analysis framework:

◮ No+CM ◮ RC+CM ◮ EMX+CM

Synthetic benchmarks:

◮ Random access sequences and program fragments

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 25 / 32

slide-47
SLIDE 47

computer science

saarland

university

Evaluation Results

10 20 30 40 50 60 70 80 90 100% n 1 5 10 15 20 25 30 8

No+CM RC+CM EMX+CM CollSem 100% 0%

ff

Misses

ff

Unclassified

ff

Hits

Average guaranteed hit- and miss-rates for a cache of size 8 n is number of pairwise different elements that are accessed

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 26 / 32

slide-48
SLIDE 48

computer science

saarland

university

Outline

1

Introduction & Motivation

Timing Analysis Cache Analysis 2

Abstract Interpretation of FIFO

Challenge FIFO Replacement Domain Cooperation Must Analysis May Analysis 3

Evaluation

Related Work Analysis Precision 4

Summary

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 27 / 32

slide-49
SLIDE 49

computer science

saarland

university

Summary

Cache analysis framework

◮ Couple several analyses ◮ Cooperation via classifications

(must, may) (must′, may′) Using classification CFifo((must, may), t) = M S S γ γM(t) = {s ∈ S | t ∈ s} US α

Canonical FIFO must-analysis

◮ Potential misses

UMust([T0, . . . , Tk−1] , t, cl) := 8 < : [∅, T0, . . . , Tk−2 ∪ {t}] : cl = ⊤ [T0, . . . , Tk−1] : cl = H [{t}, T0, . . . , Tk−2] : cl = M

EMX FIFO may-analysis

◮ Definite misses ◮ Early Miss eXploitation

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 28 / 32

slide-50
SLIDE 50

computer science

saarland

university

Summary

Cache analysis framework

◮ Couple several analyses ◮ Cooperation via classifications

(must, may) (must′, may′) Using classification CFifo((must, may), t) = M S S γ γM(t) = {s ∈ S | t ∈ s} US α

Canonical FIFO must-analysis

◮ Potential misses

UMust([T0, . . . , Tk−1] , t, cl) := 8 < : [∅, T0, . . . , Tk−2 ∪ {t}] : cl = ⊤ [T0, . . . , Tk−1] : cl = H [{t}, T0, . . . , Tk−2] : cl = M

EMX FIFO may-analysis

◮ Definite misses ◮ Early Miss eXploitation

m h 1 1 2 2 3 3

insertion eviction M M M M H H M H H M H M H M M M

Thank you for listening. Questions?

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 28 / 32

slide-51
SLIDE 51

computer science

saarland

university

Further Reading

  • R. Wilhelm et al.

The worst-case execution time problem—

  • verview of methods and survey of tools

Transactions on Embedded Computing Systems, 7(3), 2008

  • J. Reineke and D. Grund

Relative competitive analysis of cache replacement policies LCTES 2008

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 29 / 32

slide-52
SLIDE 52

computer science

saarland

university

Related Work: LRU Analyses

Bounds on number of cache misses: Ghosh Cache Miss Equations, loop nests Chatterjee Exact model of cache behavior for loop nests Classification of individual accesses: Mueller By “static cache simulation” Li By integer linear programming Ferdinand By abstract interpretation Only for LRU caches

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 30 / 32

slide-53
SLIDE 53

computer science

saarland

university

What About The Gap for n ≤ k?

10 20 30 40 50 60 70 80 90 100 % n 1 5 10 15 20 25 30 8

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 31 / 32

slide-54
SLIDE 54

computer science

saarland

university

Does the Initial Cache State Make a Difference?

Yes, a FIFO of size k, is (k,k) sensitive

Definition: Sensitivity

Policy P is (f, c) miss-sensitive if mP(p, s) ≤ f · mP(p′, s) + c for all access sequences s and all cache states p, p′.

⇒ For FIFO of size 4, execution time may differ by a factor of 3

  • R. Wilhelm et al.

Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-critical Embedded Systems IEEE Transactions on CAD of Integrated Circuits and Systems 2009

Daniel Grund and Jan Reineke Abstract Interpretation of FIFO Static Analysis Symposium 2009 32 / 32