Caches in WCET Analysis

Size: px
Start display at page:

Download "Caches in WCET Analysis"

Transcription

1 Caches in WCET Analysis Jan Reineke Department of Computer Science Saarland University Saarbrücken, Germany ARTIST Summer School in Europe 2009 Autrans, France September 7-11, 2009 Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

2 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

3 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

4 Caches How they work: dynamically managed by replacement policy hit [ab] CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

5 Caches How they work: dynamically managed by replacement policy hit [ab] a 1 CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

6 Caches How they work: dynamically managed by replacement policy a 1! hit [ab] CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

7 Caches How they work: dynamically managed by replacement policy c 3? miss [ab] CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

8 Caches How they work: dynamically managed by replacement policy miss [ab] c 3? c? CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

9 Caches How they work: dynamically managed by replacement policy miss [ac] c 3? c = c 1 c 2 c 3 c 4! CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

10 Caches How they work: dynamically managed by replacement policy c 3! miss [ac] CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

11 Caches How they work: dynamically managed by replacement policy c 4? hit [ac] CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

12 Caches How they work: dynamically managed by replacement policy c 4! hit [ac] CPU Cache Main Memory Capacity: Latency: 32 KB 3 cycles 2 MB 100 cycles Why they work: principle of locality spatial temporal Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

13 Fully-Associative Caches log2 (s) Address: log2 (8 b) Block offset Tag Tag Tag... Data Block Data Block Tag Data Block =? Yes: Hit! No: Miss! Jan Reineke Caches in WCET Analysis k = associativity MUX Data ARTIST Summer School / 51 B

14 k s Tag Index Block offset Cache Set: Tag Tag log2 (s) Special cases: log log22(s) (8 b)log2 (8 b) log2 (s) Address: s Set-Associative Caches Tag... Cache Set: Data Block Data Block Data Block log2 (8 b)... s Tag Tag... Data Block Data Block Tag Data Block =? Yes: Hit! No: Miss! k MUX Data direct-mapped cache: only one line per cache set fully-associative cache: only one cache set Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

15 Cache Replacement Policies Least-Recently-Used (LRU) used in INTEL PENTIUM I and MIPS 24K/34K First-In First-Out (FIFO or Round-Robin) used in MOTOROLA POWERPC 56X, INTEL XSCALE, ARM9, ARM11 Pseudo-LRU (PLRU) used in INTEL PENTIUM II-IV and POWERPC 75X Most Recently Used (MRU) as described in literature Each cache set is treated independently: Set-associative caches are compositions of fully-associative caches. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

16 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

17 Cache Analysis Two types of cache analyses: 1 Local guarantees: classification of individual accesses May-Analysis Overapproximates cache contents Must-Analysis Underapproximates cache contents 2 Global guarantees: bounds on cache hits/misses Cache analyses almost exclusively for LRU In practice: FIFO, PLRU,... Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

18 Challenges for Cache Analysis Always a cache hit/always a miss? read z read y read x write z Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

19 Challenges for Cache Analysis Always a cache hit/always a miss? read z read y read x 1. Initial cache contents unknown. 2. Different paths lead to these points. write z 3. Cannot resolve address of z. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

20 Deriving Invariants about Cache States using Abstract Interpretation read z Collecting Semantics = set of states at each program point that any execution may encounter there read y read x Two approximations: Collecting Semantics uncomputable write z Cache Semantics computable γ(abstract Cache Sem.) efficiently computable Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

21 Deriving Invariants about Cache States using Abstract Interpretation read z Collecting Semantics = set of states at each program point that any execution may encounter there read y read x Two approximations: Collecting Semantics uncomputable write z Cache Semantics computable γ(abstract Cache Sem.) efficiently computable Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

22 Deriving Invariants about Cache States using Abstract Interpretation read z Collecting Semantics = set of states at each program point that any execution may encounter there read y read x Two approximations: Collecting Semantics uncomputable write z Cache Semantics computable γ(abstract Cache Sem.) efficiently computable Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

23 Deriving Invariants about Cache States using Abstract Interpretation read z Collecting Semantics = set of states at each program point that any execution may encounter there read y read x Two approximations: Collecting Semantics uncomputable write z Cache Semantics computable γ(abstract Cache Sem.) efficiently computable Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

24 Deriving Invariants about Cache States using Abstract Interpretation read z Collecting Semantics = set of states at each program point that any execution may encounter there read y read x Two approximations: Collecting Semantics uncomputable write z Cache Semantics computable γ(abstract Cache Sem.) efficiently computable Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

25 Least-Recently-Used (LRU): Concrete Behavior s Cache Miss : z y x t s z y x LRU has notion of age s Cache Hit : z y s t s z y t Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

26 LRU: Must-Analysis: Abstract Domain Used to predict cache hits. Maintains upper bounds on ages of memory blocks. Upper bound associativity memory block definitely cached. Example Abstract state: {x} age 0 {} {s,t} {} age 3... and its interpretation: Describes the set of all concrete cache states in which x, s, and t occur, x with an age of 0, s and t with an age not older than 2. γ([{x}, {}, {s, t}, {}]) = {[x, s, t, a], [x, t, s, a], [x, s, t, b],...} Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

27 Sound Update Local Consistency Abstract Update (must) (must ) γ Lifted Concrete Update γ concrete cache states concrete cache states Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

28 LRU: Must-Analysis: Update Potential Cache Miss : Definite Cache Hit : {x} {} {s,t} {} {x} {} {s,t} {} z s {z} {x} {} {s,t} {s} {x} {t} {} Why does t not age in the second case? Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

29 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

30 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

31 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

32 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

33 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

34 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

35 LRU: Must-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {} {} {c,f} {e} {a} {} {a,c} {d} {d} {d} Intersection + Maximal Age How many memory blocks can be in the must-cache? Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

36 Example: Must-Analysis entry [{}, {}, {}, {}] A B C D exit Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

37 Example: Must-Analysis entry [{}, {}, {}, {}] A [{}, {}, {}, {}] = [{}, {}, {}, {}] B C D exit Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

38 Example: Must-Analysis entry [{}, {}, {}, {}] A [{}, {}, {}, {}] = [{}, {}, {}, {}] [{A}, {}, {}, {}] B C [{A}, {}, {}, {}] D exit Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

39 Example: Must-Analysis entry [{}, {}, {}, {}] A [{}, {}, {}, {}] = [{}, {}, {}, {}] [{A}, {}, {}, {}] B C [{A}, {}, {}, {}] D [{B}, {A}, {}, {}] [{C}, {A}, {}, {}] = [{}, {A}, {}, {}] exit Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

40 Example: Must-Analysis entry [{}, {}, {}, {}] A [{D}, {}, {A}, {}] [{}, {}, {}, {}] = [{}, {}, {}, {}] [{A}, {}, {}, {}] B C [{A}, {}, {}, {}] D [{B}, {A}, {}, {}] [{C}, {A}, {}, {}] = [{}, {A}, {}, {}] exit [{D}, {}, {A}, {}] No cache hits can be predicted :-( Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

41 Context-Sensitive Analysis/Virtual Loop-Unrolling Problem: The first iteration of a loop will always result in cache misses. Similarly for the first execution of a function. Solution: Virtually Unroll Loops: Distinguish the first iteration from others Distinguish function calls by calling context. entry Virtually unrolling the loop once: Accesses to A and D are provably hits after the first iteration Accesses to B and C can still not be classified. Within each execution of the loop, they may only miss once. Persistence Analysis [{A}, {}, {}, {}] B exit [{A}, {D}, {}, {}] B A D A [{}, {}, {}, {}] [{A}, {}, {}, {}] C [{}, {A}, {}, {}] [{D}, {}, {A}, {}] [{A}, {D}, {}, {}] C D [{}, {A}, {D}, {}] exit Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

42 LRU: May-Analysis: Abstract Domain Used to predict cache misses. Maintains lower bounds on ages of memory blocks. Lower bound associativity memory block definitely not cached. Example Abstract state: {x,y} age 0 {} {s,t} {u} age 3... and its interpretation: Describes the set of all concrete cache states in which no memory blocks except x, y, s, t, and u occur, x and y with an age of at least 0, s and t with an age of at least 2, u with an age of at least 3. γ([{x, y}, {}, {s, t}, {u}]) = {[x, y, s, t], [y, x, s, t], [x, y, s, u],...} Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

43 LRU: May-Analysis: Update Definite Cache Miss : Potential Cache Hit : {x} {} {s,t} {y} {x} {} {s,t} {y} z s {z} {x} {} {s,t} {s} {x} {} {y,t} Why does t age in the second case? Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

44 LRU: May-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {a,c} {} {c,f} {e} {a} = {e} {f} {d} {d} {d} Union + Minimal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

45 LRU: May-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {a,c} {} {c,f} {e} {a} = {e} {f} {d} {d} {d} Union + Minimal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

46 LRU: May-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {a,c} {} {c,f} {e} {a} = {e} {f} {d} {d} {d} Union + Minimal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

47 LRU: May-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {a,c} {} {c,f} {e} {a} = {e} {f} {d} {d} {d} Union + Minimal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

48 LRU: May-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {a,c} {} {c,f} {e} {a} = {e} {f} {d} {d} {d} Union + Minimal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

49 LRU: May-Analysis: Join Need to combine information where control-flow merges. Join should be conservative: γ(a) γ(a B) γ(b) γ(a B) {a} {c} {a,c} {} {c,f} {e} {a} = {e} {f} {d} {d} {d} Union + Minimal Age Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

50 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

51 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

52 Uncertainty in WCET Analysis Amount of uncertainty determines precision of WCET analysis Uncertainty in cache analysis depends on replacement policy variation due to inputs and initial hardware state uncertainty penalty BCET ACET WCET upper bound execution time Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

53 Uncertainty in Cache Analysis read z read y read x write z Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

54 Uncertainty in Cache Analysis read z 1. Initial cache contents unknown. read y read x write z Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

55 Uncertainty in Cache Analysis read z 1. Initial cache contents unknown. read y read x 2. Need to combine information. write z Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

56 Uncertainty in Cache Analysis read z 1. Initial cache contents unknown. read y read x 2. Need to combine information. 3. Cannot resolve address of z. write z Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

57 Uncertainty in Cache Analysis read z 1. Initial cache contents unknown. read y read x 2. Need to combine information. 3. Cannot resolve address of z. write z = Amount of uncertainty determined by ability to recover information Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

58 Predictability Metrics Evict Fill [fed] [gfe] [dex] [fec] [fde] [gfd] [hgf ] Sequence: a,..., e, f, g, h Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

59 Meaning of Metrics Evict Number of accesses to obtain any may-information. I.e. when can an analysis predict any cache misses? Fill Number of accesses to complete may- and must-information. I.e. when can an analysis predict each access? Evict and Fill bound the precision of any static cache analysis. Can thus serve as a benchmark for analyses. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

60 Evaluation of Least-Recently-Used LRU forgets about past quickly: cares about most-recent access to each block only order of previous accesses irrelevant???? a a??? b b a?? c c b a? d d c b a In the example: Evict = Fill = 4 In general: Evict(k) = Fill(k) = k, where k is the associativity of the cache Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

61 Evaluation of First-In First-Out (sketch) Like LRU in the miss-case But: Ignores hits? a b c a? a b c b? a b c c? a b c d d? a b In the worst-case k 1 hits and k misses: Evict(k) = 2k 1 Another k accesses to obtain complete knowledge: Fill(k) = 3k 1 (k = associativity) Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

62 Evaluation of Pseudo-LRU (sketch) Tree-bits point to block to be replaced a b c d c a b c d e a e c d Accesses rejuvenate neighborhood Active blocks keep their (inactive) neighborhood in the cache Analysis yields: Evict(k) = k 2 log 2 k + 1 Fill(k) = k 2 log 2 k + k 1 Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

63 Evaluation of Policies Policy Evict(k) Fill(k) Evict(8) Fill(8) LRU k k 8 8 FIFO 2k 1 3k MRU 2k 2 /3k 4 14 /20 PLRU k log 2 2 k + 1 k log 2 2 k + k LRU is optimal w.r.t. metrics. Other policies are much less predictable. Use LRU if predictability is a concern. How to obtain may- and must-information within the given limits for other policies? Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

64 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

65 Relative Competitiveness Competitiveness (Sleator and Tarjan, 1985): worst-case performance of an online policy relative to the optimal offline policy used to evaluate online policies Relative competitiveness (Reineke and Grund, 2008): worst-case performance of an online policy relative to another online policy used to derive local and global cache analyses Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

66 Definition Relative Miss-Competitiveness Notation m P (p, s) = number of misses that policy P incurs on access sequence s M starting in state p C P Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

67 Definition Relative Miss-Competitiveness Notation m P (p, s) = number of misses that policy P incurs on access sequence s M starting in state p C P Definition (Relative miss competitiveness) Policy P is (k, c)-miss-competitive relative to policy Q if m P (p, s) k m Q (q, s) + c for all access sequences s M and cache-set states p C P, q C Q that are compatible p q. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

68 Definition Relative Miss-Competitiveness Notation m P (p, s) = number of misses that policy P incurs on access sequence s M starting in state p C P Definition (Relative miss competitiveness) Policy P is (k, c)-miss-competitive relative to policy Q if m P (p, s) k m Q (q, s) + c for all access sequences s M and cache-set states p C P, q C Q that are compatible p q. Definition (Competitive miss ratio of P relative to Q) The smallest k, s.t. P is (k, c)-miss-competitive rel. to Q for some c. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

69 Example Relative Miss-Competitiveness P is (3, 4)-miss-competitive relative to Q. If Q incurs x misses, then P incurs at most 3 x + 4 misses. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

70 Example Relative Miss-Competitiveness P is (3, 4)-miss-competitive relative to Q. If Q incurs x misses, then P incurs at most 3 x + 4 misses. Best: P is (1, 0)-miss-competitive relative to Q. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

71 Example Relative Miss-Competitiveness P is (3, 4)-miss-competitive relative to Q. If Q incurs x misses, then P incurs at most 3 x + 4 misses. Best: P is (1, 0)-miss-competitive relative to Q. Worst: P is not-miss-competitive (or -miss-competitive) relative to Q. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

72 Example Relative Hit-Competitiveness P is ( 2 3, 3)-hit-competitive relative to Q. If Q has x hits, then P has at least 2 3 x 3 hits. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

73 Example Relative Hit-Competitiveness P is ( 2 3, 3)-hit-competitive relative to Q. If Q has x hits, then P has at least 2 3 x 3 hits. Best: P is (1, 0)-hit-competitive relative to Q. Equivalent to (1, 0)-miss-competitiveness. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

74 Example Relative Hit-Competitiveness P is ( 2 3, 3)-hit-competitive relative to Q. If Q has x hits, then P has at least 2 3 x 3 hits. Best: P is (1, 0)-hit-competitive relative to Q. Equivalent to (1, 0)-miss-competitiveness. Worst: P is (0, 0)-hit-competitive relative to Q. Analogue to -miss-competitiveness. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

75 Local Guarantees: (1, 0)-Competitiveness Let P be (1, 0)-competitive relative to Q: m P (p, s) 1 m Q (q, s) + 0 m P (p, s) m Q (q, s) Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

76 Local Guarantees: (1, 0)-Competitiveness Let P be (1, 0)-competitive relative to Q: m P (p, s) 1 m Q (q, s) + 0 m P (p, s) m Q (q, s) 1 If Q hits, so does P, and 2 if P misses, so does Q. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

77 Local Guarantees: (1, 0)-Competitiveness Let P be (1, 0)-competitive relative to Q: m P (p, s) 1 m Q (q, s) + 0 m P (p, s) m Q (q, s) 1 If Q hits, so does P, and 2 if P misses, so does Q. As a consequence, 1 a must-analysis for Q is also a must-analysis for P, and 2 a may-analysis for P is also a may-analysis for Q. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

78 Global Guarantees: (k, c)-competitiveness Given: Global guarantees for policy Q. Wanted: Global guarantees for policy P. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

79 Global Guarantees: (k, c)-competitiveness Given: Global guarantees for policy Q. Wanted: Global guarantees for policy P. 1 Determine competitiveness of policy P relative to policy Q. m P k m Q + c m Q (T) = m P (T) Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

80 Global Guarantees: (k, c)-competitiveness Given: Global guarantees for policy Q. Wanted: Global guarantees for policy P. 1 Determine competitiveness of policy P relative to policy Q. m P k m Q + c m Q (T) = m P (T) 2 Compute global guarantee for task T under policy Q. m P k m Q + c m Q (T) = m P (T) Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

81 Global Guarantees: (k, c)-competitiveness Given: Global guarantees for policy Q. Wanted: Global guarantees for policy P. 1 Determine competitiveness of policy P relative to policy Q. m P k m Q + c m Q (T) = m P (T) 2 Compute global guarantee for task T under policy Q. m P k m Q + c m Q (T) = m P (T) 3 Calculate global guarantee on the number of misses for P using the global guarantee for Q and the competitiveness results of P relative to Q. m P k m Q + c m Q (T) = m P (T) Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

82 Relative Competitiveness: Automatic Computation P and Q (here: FIFO and LRU) induce transition system: (h, h) e first-in last-in MRU LRU [eabc] FIFO, [eabc] LRU e (m, m) [abcd] FIFO, [abcd] LRU (h, h) a Legend c (h, h) [eabc] FIFO, [ceab] LRU d (h, h) [abcd] FIFO, [dabc] LRU [abcd] FIFO d (h, m),... Cache-set state Memory access Misses in pairs of cache-set states e (m, m) [eabc] FIFO, [ceda] LRU c (h, m) [eabc] FIFO, [edab] LRU d (m, h) [deab] FIFO, [deab] LRU Competitive miss ratio = maximum ratio of misses in policy P to misses in policy Q in transition system Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

83 Transition System is Large Problem: The induced transition system is large. Observation: Only the relative positions of elements matter: [abc] LRU, [bde] FIFO [fgl] LRU, [ghm] FIFO c (h, m) l (h, m) [cab] LRU, [cbd] FIFO [lfg] LRU, [lgh] FIFO Solution: Construct finite quotient transition system. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

84 -Equivalent States in Running Example (h, h) e [eabc] FIFO, [eabc] LRU e (m, m) [abcd] FIFO, [abcd] LRU (h, h) a c (h, h) d (h, h) [eabc] FIFO, [ceab] LRU [abcd] FIFO, [dabc] LRU e (m, m) [eabc] FIFO, [ceda] LRU c (h, m) [eabc] FIFO, [edab] LRU d (m, h) [deab] FIFO, [deab] LRU Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

85 Finite Quotient Transition System Merging -equivalent states yields a finite quotient transition system: (h, h) (m, m) [abcd] FIFO, [abcd] LRU (h, h) [abcd] FIFO, [dabc] LRU (m, h) (m, m) [eabc] FIFO, [ceda] LRU (h, m) [eabc] FIFO, [edab] LRU Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

86 Competitive Ratio = Maximum Cycle Ratio Competitive miss ratio = maximum ratio of misses in policy P to misses in policy Q (0, 0) (1, 1) (0, 0) (1, 0) (1, 1) (0, 1) Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

87 Competitive Ratio = Maximum Cycle Ratio Competitive miss ratio = maximum ratio of misses in policy P to misses in policy Q (0, 0) (1, 1) (0, 0) (1, 0) (1, 1) (0, 1) Maximum cycle ratio = = 2 Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

88 Tool Implementation Implemented in Java, called Relacs Interface for replacement policies Fully automatic Provides example sequences for competitive ratio and constant Analysis usually practically feasible up to associativity 8 limited by memory consumption depends on similarity of replacement policies Online version: Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

89 Generalizations Identified patterns and proved generalizations by hand. Aided by example sequences generated by tool. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

90 Generalizations Identified patterns and proved generalizations by hand. Aided by example sequences generated by tool. Previously unknown facts: PLRU(k) is (1, 0) comp. rel. to LRU(1 + log 2 k), LRU-must-analysis can be used for PLRU Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

91 Generalizations Identified patterns and proved generalizations by hand. Aided by example sequences generated by tool. Previously unknown facts: PLRU(k) is (1, 0) comp. rel. to LRU(1 + log 2 k), LRU-must-analysis can be used for PLRU FIFO(k) is ( 1 2, k 1 2 ) hit-comp. rel. to LRU(k), whereas LRU(k) is (0, 0) hit-comp. rel. to FIFO(k), but Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

92 Generalizations Identified patterns and proved generalizations by hand. Aided by example sequences generated by tool. Previously unknown facts: PLRU(k) is (1, 0) comp. rel. to LRU(1 + log 2 k), LRU-must-analysis can be used for PLRU FIFO(k) is ( 1 2, k 1 2 ) hit-comp. rel. to LRU(k), whereas LRU(k) is (0, 0) hit-comp. rel. to FIFO(k), but LRU(2k 1) is (1, 0) comp. rel. to FIFO(k), and LRU(2k 2) is (1, 0) comp. rel. to MRU(k). LRU-may-analysis can be used for FIFO and MRU optimal with respect to predictability metric Evict Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

93 Generalizations Identified patterns and proved generalizations by hand. Aided by example sequences generated by tool. Previously unknown facts: PLRU(k) is (1, 0) comp. rel. to LRU(1 + log 2 k), LRU-must-analysis can be used for PLRU FIFO(k) is ( 1 2, k 1 2 ) hit-comp. rel. to LRU(k), whereas LRU(k) is (0, 0) hit-comp. rel. to FIFO(k), but LRU(2k 1) is (1, 0) comp. rel. to FIFO(k), and LRU(2k 2) is (1, 0) comp. rel. to MRU(k). LRU-may-analysis can be used for FIFO and MRU optimal with respect to predictability metric Evict FIFO-may-analysis used in the analysis of the branch target buffer of the MOTOROLA POWERPC 56X. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

94 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

95 Measurement-Based Timing Analysis Run program on a number of inputs and initial states. Combine measurements for basic blocks to obtain WCET estimation. Sensitivity Analysis demonstrates this approach may be dramatically wrong. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

96 Measurement-Based Timing Analysis Run program on a number of inputs and initial states. Combine measurements for basic blocks to obtain WCET estimation. Sensitivity Analysis demonstrates this approach may be dramatically wrong. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

97 Influence of Initial Cache State variation due to initial cache state BCET WCET upper bound execution time Definition (Miss sensitivity) Policy P is (k, c)-miss-sensitive if m P (p, s) k m P (p, s) + c for all access sequences s M and cache-set states p, p C P. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

98 Sensitivity Results Policy LRU 1, 2 1, 3 1, 4 1, 5 1, 6 1, 7 1, 8 FIFO 2, 2 3, 3 4, 4 5, 5 6, 6 7, 7 8, 8 PLRU 1, 2 MRU 1, 2 3, 4 5, 6 7, 8 MEM MEM MEM LRU is optimal. Performance varies in the least possible way. For FIFO, PLRU, and MRU the number of misses may vary strongly. Case study based on simple model of execution time by Hennessy and Patterson (2003): WCET may be 3 times higher than a measured execution time for 4-way FIFO. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

99 Outline 1 Caches 2 Cache Analysis for Least-Recently-Used 3 Beyond Least-Recently-Used Predictability Metrics Relative Competitiveness Sensitivity Caches and Measurement-Based Timing Analysis 4 Summary Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

100 Summary Cache Analysis for Least-Recently-Used... efficiently represents sets of cache states by bounding the age of memory blocks from above and below.... requires context-sensitivity for precision. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

101 Summary Cache Analysis for Least-Recently-Used... efficiently represents sets of cache states by bounding the age of memory blocks from above and below.... requires context-sensitivity for precision. Predictability Metrics... quantify the predictability of replacement policies. LRU is the most predictable policy. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

102 Summary Cache Analysis for Least-Recently-Used... efficiently represents sets of cache states by bounding the age of memory blocks from above and below.... requires context-sensitivity for precision. Predictability Metrics... quantify the predictability of replacement policies. LRU is the most predictable policy. Relative Competitiveness... allows to derive guarantees on cache performance,... yields first may-analyses for FIFO and MRU. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

103 Summary Cache Analysis for Least-Recently-Used... efficiently represents sets of cache states by bounding the age of memory blocks from above and below.... requires context-sensitivity for precision. Predictability Metrics... quantify the predictability of replacement policies. LRU is the most predictable policy. Relative Competitiveness... allows to derive guarantees on cache performance,... yields first may-analyses for FIFO and MRU. Sensitivity Analysis... determines the influence of initial state on cache performance. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

104 Summary Cache Analysis for Least-Recently-Used... efficiently represents sets of cache states by bounding the age of memory blocks from above and below.... requires context-sensitivity for precision. Predictability Metrics... quantify the predictability of replacement policies. LRU is the most predictable policy. Relative Competitiveness... allows to derive guarantees on cache performance,... yields first may-analyses for FIFO and MRU. Sensitivity Analysis... determines the influence of initial state on cache performance. Thank you for your attention! Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

105 Summary Cache Analysis for Least-Recently-Used... efficiently represents sets of cache states by bounding the age of memory blocks from above and below.... requires context-sensitivity for precision. Predictability Metrics... quantify the predictability of replacement policies. LRU is the most predictable policy. Relative Competitiveness... allows to derive guarantees on cache performance,... yields first may-analyses for FIFO and MRU. Sensitivity Analysis... determines the influence of initial state on cache performance. Thank you for your attention! Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

106 Most-Recently-Used MRU MRU-bits record whether line was recently used e c [abcd] 0101 [ebcd] 1101 [ebcd] 0010 b,d e,b,d c Never converges Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

107 Pseudo-LRU PLRU a b c d a b e d a b e d a b e f Initial cacheset state [a, b, c, d] 110. After a miss on e. State: [a, b, e, d] 011. After a hit on a. State: [a, b, e, d] 111. After a miss on f. State: [a, b, e, f ] 010. Hit on a rejuvenates neighborhood; saves b from eviction. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

108 May- and Must-Information May P (s) := p C P CC P (update P (p, s)) Must P (s) := p C P CC P (update P (p, s)) may P (n) := must P (n) := May P (s), where s S M, s = n Must P (s), where s S M, s = n S : set of finite access sequences with pairwise different accesses Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

109 Definitions of Metrics { } Evict P := min n may P (n) n, { } Fill P := min n must P (n) = k, where k is P s associativity. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

110 Relation: Pred. Metrics Rel. Competitiveness Let P(k) be (1, 0)-miss-competitive relative to policy Q(l), then (i) Evict P (k) Evict Q (l), (ii) mls P (k) mls Q (l). Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

111 Alternative Pred. Metrics Rel. Competitiveness Let l be the smallest associativity, such that LRU(l) is (1, 0)-miss-competitive relative to P(k). Then Alt-Evict P (k) = l. Let l be the greatest associativity, such that P(k) is (1, 0)-miss-competitive relative to LRU(l). Then Alt-mls P (k) = l. Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

112 Size of Transition System k ( ) k k ( ) k min{i,i } ( )( ) i i 2}{{} l+l i i j! j j status bits i=0 i of P and Q }{{} =0 j=0 }{{}}{{} non-empty lines in P non-empty lines in Q number of overlappings in non-empty lines min{k,k } j=0 ( k j )( k This can be bounded by j ) j! k! k! k! k! min{k,k } j=0 j=0 1 (k j)!j!(k j)! 1 j! = e k! k! 2 l+l +k+k (C l k Cl k )/ 2l+l +k+k e k! k! }{{} bound on number of overlappings Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

113 Compatible States i P = [ ] P i Q = [ ] Q update P (i P, s) update Q (i Q, s) p q Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

114 (1, 0)-Competitiveness and May/Must-Analyses Let P be (1, 0)-competitive relative to Q, then p q m P (p, x ) = 1 = m Q (q, x ) = 1 p q Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

115 (1, 0)-Competitiveness and May/Must-Analyses C P C Q S S p P : m P (p, x ) = 1 P P = Q Q q Q : m Q (q, x ) = 1 Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

116 Case Study: Impact of Sensitivity Simple model of execution time from Hennessy & Patterson (2003) CPI hit = Cycles per instruction assuming cache hits only Memory accesses Instruction including instruction and data fetches T wc = CPI hit + T meas CPI hit + Memory accesses Miss rate Instruction wc Miss penalty Memory accesses Miss rate Instruction meas Miss penalty = = = 3 Jan Reineke Caches in WCET Analysis ARTIST Summer School / 51

Timing analysis and timing predictability

Timing analysis and timing predictability Timing analysis and timing predictability Caches in WCET Analysis Reinhard Wilhelm 1 Jan Reineke 2 1 Saarland University, Saarbrücken, Germany 2 University of California, Berkeley, USA ArtistDesign Summer

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 09/10, Jan., 2018 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 43 Most Essential Assumptions for Real-Time Systems Upper

More information

Worst-Case Execution Time Analysis. LS 12, TU Dortmund

Worst-Case Execution Time Analysis. LS 12, TU Dortmund Worst-Case Execution Time Analysis Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 02, 03 May 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 53 Most Essential Assumptions for Real-Time Systems Upper

More information

Design and Analysis of Time-Critical Systems Cache Analysis and Predictability

Design and Analysis of Time-Critical Systems Cache Analysis and Predictability esign and nalysis of Time-ritical Systems ache nalysis and Predictability Jan Reineke @ saarland university ES Summer School 2017 Fiuggi, Italy computer science n nalogy alvin and Hobbes by Bill Watterson

More information

Toward Precise PLRU Cache Analysis

Toward Precise PLRU Cache Analysis Toward Precise PLRU Cache Analysis Daniel Grund Jan Reineke 2 Saarland University, Saarbrücken, Germany 2 University of California, Berkeley, USA Workshop on Worst-Case Execution-Time Analysis 2 Outline

More information

ICS 233 Computer Architecture & Assembly Language

ICS 233 Computer Architecture & Assembly Language ICS 233 Computer Architecture & Assembly Language Assignment 6 Solution 1. Identify all of the RAW data dependencies in the following code. Which dependencies are data hazards that will be resolved by

More information

Caches in WCET Analysis Predictability, Competitiveness, Sensitivity

Caches in WCET Analysis Predictability, Competitiveness, Sensitivity Caches in WCET Analysis Predictability, Competitiveness, Sensitivity Dissertation Zur Erlangung des Grades des Doktors der Ingenieurwissenschaften der Naturwissenschaftlich-Technischen Fakultäten der Universität

More information

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources

Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources Design and Analysis of Time-Critical Systems Response-time Analysis with a Focus on Shared Resources Jan Reineke @ saarland university ACACES Summer School 2017 Fiuggi, Italy computer science Fixed-Priority

More information

Timing analysis and predictability of architectures

Timing analysis and predictability of architectures Timing analysis and predictability of architectures Cache analysis Claire Maiza Verimag/INP 01/12/2010 Claire Maiza Synchron 2010 01/12/2010 1 / 18 Timing Analysis Frequency Analysis-guaranteed timing

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 10

ECE 571 Advanced Microprocessor-Based Design Lecture 10 ECE 571 Advanced Microprocessor-Based Design Lecture 10 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 23 February 2017 Announcements HW#5 due HW#6 will be posted 1 Oh No, More

More information

On the analysis of random replacement caches using static probabilistic timing methods for multi-path programs

On the analysis of random replacement caches using static probabilistic timing methods for multi-path programs Real-Time Syst (208) 54:307 388 https://doi.org/0.007/s24-07-9295-2 On the analysis of random replacement caches using static probabilistic timing methods for multi-path programs Benjamin Lesage David

More information

A Definition and Classification of Timing Anomalies

A Definition and Classification of Timing Anomalies Definition and Classification of Timing nomalies Jan Reineke 1, Björn Wachter 1, Stephan Thesing 1, Reinhard Wilhelm 1, Ilia Polian 2, Jochen Eisinger 2, and Bernd Becker 2 1 Saarland University Im Stadtwald

More information

Cache-Oblivious Algorithms

Cache-Oblivious Algorithms Cache-Oblivious Algorithms 1 Cache-Oblivious Model 2 The Unknown Machine Algorithm C program gcc Object code linux Execution Can be executed on machines with a specific class of CPUs Algorithm Java program

More information

Lecture 2: Paging and AdWords

Lecture 2: Paging and AdWords Algoritmos e Incerteza (PUC-Rio INF2979, 2017.1) Lecture 2: Paging and AdWords March 20 2017 Lecturer: Marco Molinaro Scribe: Gabriel Homsi In this class we had a brief recap of the Ski Rental Problem

More information

Embedded Systems 23 BF - ES

Embedded Systems 23 BF - ES Embedded Systems 23-1 - Measurement vs. Analysis REVIEW Probability Best Case Execution Time Unsafe: Execution Time Measurement Worst Case Execution Time Upper bound Execution Time typically huge variations

More information

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I.

Department of Electrical and Computer Engineering University of Wisconsin - Madison. ECE/CS 752 Advanced Computer Architecture I. Last (family) name: Solution First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE/CS 752 Advanced Computer Architecture I Midterm

More information

Unit 6: Branch Prediction

Unit 6: Branch Prediction CIS 501: Computer Architecture Unit 6: Branch Prediction Slides developed by Joe Devie/, Milo Mar4n & Amir Roth at Upenn with sources that included University of Wisconsin slides by Mark Hill, Guri Sohi,

More information

Cache-Oblivious Algorithms

Cache-Oblivious Algorithms Cache-Oblivious Algorithms 1 Cache-Oblivious Model 2 The Unknown Machine Algorithm C program gcc Object code linux Execution Can be executed on machines with a specific class of CPUs Algorithm Java program

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

arxiv: v1 [cs.ds] 12 Oct 2015

arxiv: v1 [cs.ds] 12 Oct 2015 On the Smoothness of Paging Algorithms Jan Reineke and Alejandro Salinger 2 Department of Computer Science, Saarland University, Saarbrücken, Germany reineke@cs.uni-saarland.de 2 SAP SE, Walldorf, Germany

More information

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu

Performance Metrics for Computer Systems. CASS 2018 Lavanya Ramapantulu Performance Metrics for Computer Systems CASS 2018 Lavanya Ramapantulu Eight Great Ideas in Computer Architecture Design for Moore s Law Use abstraction to simplify design Make the common case fast Performance

More information

Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks

Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Leveraging Transactional Memory for a Predictable Execution of Applications Composed of Hard Real-Time and Best-Effort Tasks Stefan Metzlaff, Sebastian Weis, and Theo Ungerer Department of Computer Science,

More information

CS264: Beyond Worst-Case Analysis Lecture #4: Parameterized Analysis of Online Paging

CS264: Beyond Worst-Case Analysis Lecture #4: Parameterized Analysis of Online Paging CS264: Beyond Worst-Case Analysis Lecture #4: Parameterized Analysis of Online Paging Tim Roughgarden January 19, 2017 1 Preamble Recall our three goals for the mathematical analysis of algorithms: the

More information

Binary Decision Diagrams and Symbolic Model Checking

Binary Decision Diagrams and Symbolic Model Checking Binary Decision Diagrams and Symbolic Model Checking Randy Bryant Ed Clarke Ken McMillan Allen Emerson CMU CMU Cadence U Texas http://www.cs.cmu.edu/~bryant Binary Decision Diagrams Restricted Form of

More information

ON THE INCOMPARABILITY OF CACHE ALGORITHMS IN TERMS OF TIMING LEAKAGE

ON THE INCOMPARABILITY OF CACHE ALGORITHMS IN TERMS OF TIMING LEAKAGE Logical Methods in Computer Science Volume 15, Issue 1, 2019, pp. 21:1 21:19 https://lmcs.episciences.org/ Submitted Jul. 04, 2018 Published Mar. 05, 2019 ON THE INCOMPARABILITY OF CACHE ALGORITHMS IN

More information

Proportional Share Resource Allocation Outline. Proportional Share Resource Allocation Concept

Proportional Share Resource Allocation Outline. Proportional Share Resource Allocation Concept Proportional Share Resource Allocation Outline Fluid-flow resource allocation models» Packet scheduling in a network Proportional share resource allocation models» CPU scheduling in an operating system

More information

Energy-Efficient Management of Reconfigurable Computers 82. Processor caches are critical components of the memory hierarchy that exploit locality to

Energy-Efficient Management of Reconfigurable Computers 82. Processor caches are critical components of the memory hierarchy that exploit locality to Energy-Efficient Management of Reconfigurable Computers 82 4 cache reuse models 4.1 Overview Processor caches are critical components of the memory hierarchy that exploit locality to keep frequently-accessed

More information

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0

NEC PerforCache. Influence on M-Series Disk Array Behavior and Performance. Version 1.0 NEC PerforCache Influence on M-Series Disk Array Behavior and Performance. Version 1.0 Preface This document describes L2 (Level 2) Cache Technology which is a feature of NEC M-Series Disk Array implemented

More information

Task Models and Scheduling

Task Models and Scheduling Task Models and Scheduling Jan Reineke Saarland University June 27 th, 2013 With thanks to Jian-Jia Chen at KIT! Jan Reineke Task Models and Scheduling June 27 th, 2013 1 / 36 Task Models and Scheduling

More information

CS 4407 Algorithms Lecture 2: Iterative and Divide and Conquer Algorithms

CS 4407 Algorithms Lecture 2: Iterative and Divide and Conquer Algorithms CS 4407 Algorithms Lecture 2: Iterative and Divide and Conquer Algorithms Prof. Gregory Provan Department of Computer Science University College Cork 1 Lecture Outline CS 4407, Algorithms Growth Functions

More information

Branch Prediction using Advanced Neural Methods

Branch Prediction using Advanced Neural Methods Branch Prediction using Advanced Neural Methods Sunghoon Kim Department of Mechanical Engineering University of California, Berkeley shkim@newton.berkeley.edu Abstract Among the hardware techniques, two-level

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs

More information

Generation of. Polynomial Equality Invariants. by Abstract Interpretation

Generation of. Polynomial Equality Invariants. by Abstract Interpretation Generation of Polynomial Equality Invariants by Abstract Interpretation Enric Rodríguez-Carbonell Universitat Politècnica de Catalunya (UPC) Barcelona Joint work with Deepak Kapur (UNM) 1 Introduction

More information

CIS 371 Computer Organization and Design

CIS 371 Computer Organization and Design CIS 371 Computer Organization and Design Unit 7: Caches Based on slides by Prof. Amir Roth & Prof. Milo Martin CIS 371: Comp. Org. Prof. Milo Martin Caches 1 This Unit: Caches I$ Core L2 D$ Main Memory

More information

A Primal-Dual Randomized Algorithm for Weighted Paging

A Primal-Dual Randomized Algorithm for Weighted Paging A Primal-Dual Randomized Algorithm for Weighted Paging Nikhil Bansal Niv Buchbinder Joseph (Seffi) Naor April 2, 2012 Abstract The study the weighted version of classic online paging problem where there

More information

Fall 2008 CSE Qualifying Exam. September 13, 2008

Fall 2008 CSE Qualifying Exam. September 13, 2008 Fall 2008 CSE Qualifying Exam September 13, 2008 1 Architecture 1. (Quan, Fall 2008) Your company has just bought a new dual Pentium processor, and you have been tasked with optimizing your software for

More information

Cache Related Preemption Delay for Set-Associative Caches

Cache Related Preemption Delay for Set-Associative Caches Cache Related Preeption Delay for Set-Associative Caches Resilience Analysis Sebastian Alteyer, Claire Burguière, Jan Reineke AVACS Workshop, Oldenburg 2009 Why use preeptive scheduling? Preeption often

More information

Cache Contention and Application Performance Prediction for Multi-Core Systems

Cache Contention and Application Performance Prediction for Multi-Core Systems Cache Contention and Application Performance Prediction for Multi-Core Systems Chi Xu, Xi Chen, Robert P. Dick, Zhuoqing Morley Mao University of Minnesota, University of Michigan IEEE International Symposium

More information

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So

Performance, Power & Energy. ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Performance, Power & Energy ELEC8106/ELEC6102 Spring 2010 Hayden Kwok-Hay So Recall: Goal of this class Performance Reconfiguration Power/ Energy H. So, Sp10 Lecture 3 - ELEC8106/6102 2 PERFORMANCE EVALUATION

More information

A framework for the timing analysis of dynamic branch predictors

A framework for the timing analysis of dynamic branch predictors A framework for the timing analysis of dynamic ranch predictors Claire Maïza INP Grenole, Verimag Grenole, France claire.maiza@imag.fr Christine Rochange IRIT - CNRS Université de Toulouse, France rochange@irit.fr

More information

Integrating Cache Related Preemption Delay Analysis into EDF Scheduling

Integrating Cache Related Preemption Delay Analysis into EDF Scheduling Integrating Cache Related Preemption Delay Analysis into EDF Scheduling Will Lunniss 1 Sebastian Altmeyer 2 Claire Maiza 3 Robert I. Davis 1 1 Real-Time Systems Research Group, University of York, UK {wl510,

More information

Portland State University ECE 587/687. Branch Prediction

Portland State University ECE 587/687. Branch Prediction Portland State University ECE 587/687 Branch Prediction Copyright by Alaa Alameldeen and Haitham Akkary 2015 Branch Penalty Example: Comparing perfect branch prediction to 90%, 95%, 99% prediction accuracy,

More information

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26

Problem. Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Binary Search Introduction Problem Problem Given a dictionary and a word. Which page (if any) contains the given word? 3 / 26 Strategy 1: Random Search Randomly select a page until the page containing

More information

Efficient TDM-based Arbitration for Mixed-Criticality Systems on Multi-Cores

Efficient TDM-based Arbitration for Mixed-Criticality Systems on Multi-Cores Efficient TDM-based Arbitration for Mixed-Criticality Systems on Multi-Cores Florian Brandner with Farouk Hebbache, 2 Mathieu Jan, 2 Laurent Pautet LTCI, Télécom ParisTech, Université Paris-Saclay 2 CEA

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

Shedding the Shackles of Time-Division Multiplexing

Shedding the Shackles of Time-Division Multiplexing Shedding the Shackles of Time-Division Multiplexing Farouk Hebbache with Florian Brandner, 2 Mathieu Jan, Laurent Pautet 2 CEA List, LS 2 LTCI, Télécom ParisTech, Université Paris-Saclay Multi-core Architectures

More information

ECE 571 Advanced Microprocessor-Based Design Lecture 9

ECE 571 Advanced Microprocessor-Based Design Lecture 9 ECE 571 Advanced Microprocessor-Based Design Lecture 9 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 20 February 2018 Announcements HW#4 was posted. About branch predictors Don

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 3 Real-Time Services Part 2 (Rate Monotonic Theory - Policy and Feasibility for RT Services) September 7, 2018 Sam Siewert Quick Review Service Utility RM Policy, Feasibility,

More information

ENEE350 Lecture Notes-Weeks 14 and 15

ENEE350 Lecture Notes-Weeks 14 and 15 Pipelining & Amdahl s Law ENEE350 Lecture Notes-Weeks 14 and 15 Pipelining is a method of processing in which a problem is divided into a number of sub problems and solved and the solu8ons of the sub problems

More information

Enhancing Active Automata Learning by a User Log Based Metric

Enhancing Active Automata Learning by a User Log Based Metric Master Thesis Computing Science Radboud University Enhancing Active Automata Learning by a User Log Based Metric Author Petra van den Bos First Supervisor prof. dr. Frits W. Vaandrager Second Supervisor

More information

COVER SHEET: Problem#: Points

COVER SHEET: Problem#: Points EEL 4712 Midterm 3 Spring 2017 VERSION 1 Name: UFID: Sign here to give permission for your test to be returned in class, where others might see your score: IMPORTANT: Please be neat and write (or draw)

More information

Static Program Analysis using Abstract Interpretation

Static Program Analysis using Abstract Interpretation Static Program Analysis using Abstract Interpretation Introduction Static Program Analysis Static program analysis consists of automatically discovering properties of a program that hold for all possible

More information

LRADNN: High-Throughput and Energy- Efficient Deep Neural Network Accelerator using Low Rank Approximation

LRADNN: High-Throughput and Energy- Efficient Deep Neural Network Accelerator using Low Rank Approximation LRADNN: High-Throughput and Energy- Efficient Deep Neural Network Accelerator using Low Rank Approximation Jingyang Zhu 1, Zhiliang Qian 2, and Chi-Ying Tsui 1 1 The Hong Kong University of Science and

More information

CS612 Algorithm Design and Analysis

CS612 Algorithm Design and Analysis CS612 Algorithm Design and Analysis Lecture 16. Paging problem 1 Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 The slides are made based on Algorithm Design, Randomized

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

CPU SCHEDULING RONG ZHENG

CPU SCHEDULING RONG ZHENG CPU SCHEDULING RONG ZHENG OVERVIEW Why scheduling? Non-preemptive vs Preemptive policies FCFS, SJF, Round robin, multilevel queues with feedback, guaranteed scheduling 2 SHORT-TERM, MID-TERM, LONG- TERM

More information

Measurement & Performance

Measurement & Performance Measurement & Performance Timers Performance measures Time-based metrics Rate-based metrics Benchmarking Amdahl s law Topics 2 Page The Nature of Time real (i.e. wall clock) time = User Time: time spent

More information

Measurement & Performance

Measurement & Performance Measurement & Performance Topics Timers Performance measures Time-based metrics Rate-based metrics Benchmarking Amdahl s law 2 The Nature of Time real (i.e. wall clock) time = User Time: time spent executing

More information

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications

GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications GPU Acceleration of Cutoff Pair Potentials for Molecular Modeling Applications Christopher Rodrigues, David J. Hardy, John E. Stone, Klaus Schulten, Wen-Mei W. Hwu University of Illinois at Urbana-Champaign

More information

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Song Han 1 Deji Chen 2 Ming Xiong 3 Aloysius K. Mok 1 1 The University of Texas at Austin 2 Emerson Process Management

More information

Generalizing Data-flow Analysis

Generalizing Data-flow Analysis Generalizing Data-flow Analysis Announcements PA1 grades have been posted Today Other types of data-flow analysis Reaching definitions, available expressions, reaching constants Abstracting data-flow analysis

More information

Algorithms and Data Structures

Algorithms and Data Structures Algorithms and Data Structures, Divide and Conquer Albert-Ludwigs-Universität Freiburg Prof. Dr. Rolf Backofen Bioinformatics Group / Department of Computer Science Algorithms and Data Structures, December

More information

Drowsy cache partitioning for reduced static and dynamic energy in the cache hierarchy

Drowsy cache partitioning for reduced static and dynamic energy in the cache hierarchy Rochester Institute of Technology RIT Scholar Works Theses Thesis/Dissertation Collections 6-1-2012 Drowsy cache partitioning for reduced static and dynamic energy in the cache hierarchy Brendan Fitzgerald

More information

A Multi-Periodic Synchronous Data-Flow Language

A Multi-Periodic Synchronous Data-Flow Language Julien Forget 1 Frédéric Boniol 1 David Lesens 2 Claire Pagetti 1 firstname.lastname@onera.fr 1 ONERA - Toulouse, FRANCE 2 EADS Astrium Space Transportation - Les Mureaux, FRANCE November 19, 2008 1 /

More information

Elastic Caching. Anupam Gupta Ravishankar Krishnaswamy Amit Kumar Debmalya Panigrahi. Abstract

Elastic Caching. Anupam Gupta Ravishankar Krishnaswamy Amit Kumar Debmalya Panigrahi. Abstract Elastic Caching Anupam Gupta Ravishankar Krishnaswamy Amit Kumar Debmalya Panigrahi Abstract Motivated by applications in cloud computing, we study the classical online caching problem for a cache of variable

More information

CMP N 301 Computer Architecture. Appendix C

CMP N 301 Computer Architecture. Appendix C CMP N 301 Computer Architecture Appendix C Outline Introduction Pipelining Hazards Pipelining Implementation Exception Handling Advanced Issues (Dynamic Scheduling, Out of order Issue, Superscalar, etc)

More information

Real-Time Workload Models with Efficient Analysis

Real-Time Workload Models with Efficient Analysis Real-Time Workload Models with Efficient Analysis Advanced Course, 3 Lectures, September 2014 Martin Stigge Uppsala University, Sweden Fahrplan 1 DRT Tasks in the Model Hierarchy Liu and Layland and Sporadic

More information

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors Technical Report No. 2009-7 Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors RISAT MAHMUD PATHAN JAN JONSSON Department of Computer Science and Engineering CHALMERS UNIVERSITY

More information

CMPT-150-e1: Introduction to Computer Design Final Exam

CMPT-150-e1: Introduction to Computer Design Final Exam CMPT-150-e1: Introduction to Computer Design Final Exam April 13, 2007 First name(s): Surname: Student ID: Instructions: No aids are allowed in this exam. Make sure to fill in your details. Write your

More information

Trustworthy, Useful Languages for. Probabilistic Modeling and Inference

Trustworthy, Useful Languages for. Probabilistic Modeling and Inference Trustworthy, Useful Languages for Probabilistic Modeling and Inference Neil Toronto Dissertation Defense Brigham Young University 2014/06/11 Master s Research: Super-Resolution Toronto et al. Super-Resolution

More information

Analysis of a Boost Converter Circuit Using Linear Hybrid Automata

Analysis of a Boost Converter Circuit Using Linear Hybrid Automata Analysis of a Boost Converter Circuit Using Linear Hybrid Automata Ulrich Kühne LSV ENS de Cachan, 94235 Cachan Cedex, France, kuehne@lsv.ens-cachan.fr 1 Introduction Boost converter circuits are an important

More information

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 12-2013 Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

More information

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application Administrivia 1. markem/cs333/ 2. Staff 3. Prerequisites 4. Grading Course Objectives 1. Theory and application 2. Benefits 3. Labs TAs Overview 1. What is a computer system? CPU PC ALU System bus Memory

More information

Constraint Solving for Program Verification: Theory and Practice by Example

Constraint Solving for Program Verification: Theory and Practice by Example Constraint Solving for Program Verification: Theory and Practice by Example Andrey Rybalchenko Technische Universität München Abstract. Program verification relies on the construction of auxiliary assertions

More information

Pipeline no Prediction. Branch Delay Slots A. From before branch B. From branch target C. From fall through. Branch Prediction

Pipeline no Prediction. Branch Delay Slots A. From before branch B. From branch target C. From fall through. Branch Prediction Pipeline no Prediction Branching completes in 2 cycles We know the target address after the second stage? PC fetch Instruction Memory Decode Check the condition Calculate the branch target address PC+4

More information

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties

EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties EAHyper: Satisfiability, Implication, and Equivalence Checking of Hyperproperties Bernd Finkbeiner, Christopher Hahn, and Marvin Stenger Saarland Informatics Campus, Saarland University, Saarbrücken, Germany

More information

A Quadratic Propagator for the Inter-Distance Constraint

A Quadratic Propagator for the Inter-Distance Constraint A Quadratic Propagator for the Inter-Distance Constraint Claude-Guy Quimper University of Waterloo School of Computer Science cquimper@uwaterloo.ca Alejandro López-Ortiz University of Waterloo School of

More information

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling Scheduling I Today! Introduction to scheduling! Classical algorithms Next Time! Advanced topics on scheduling Scheduling out there! You are the manager of a supermarket (ok, things don t always turn out

More information

A Framework for Automated Competitive Analysis of On-line Scheduling of Firm-Deadline Tasks

A Framework for Automated Competitive Analysis of On-line Scheduling of Firm-Deadline Tasks A Framework for Automated Competitive Analysis of On-line Scheduling of Firm-Deadline Tasks Krishnendu Chatterjee 1, Andreas Pavlogiannis 1, Alexander Kößler 2, Ulrich Schmid 2 1 IST Austria, 2 TU Wien

More information

A Combined Analytical and Simulation-Based Model for Performance Evaluation of a Reconfigurable Instruction Set Processor

A Combined Analytical and Simulation-Based Model for Performance Evaluation of a Reconfigurable Instruction Set Processor A Combined Analytical and Simulation-Based Model for Performance Evaluation of a Reconfigurable Instruction Set Processor Farhad Mehdipour, H. Noori, B. Javadi, H. Honda, K. Inoue, K. Murakami Faculty

More information

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science -25 Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

More information

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling

Scheduling I. Today Introduction to scheduling Classical algorithms. Next Time Advanced topics on scheduling Scheduling I Today Introduction to scheduling Classical algorithms Next Time Advanced topics on scheduling Scheduling out there You are the manager of a supermarket (ok, things don t always turn out the

More information

Ascertaining Uncertainty for Efficient Exact Cache Analysis

Ascertaining Uncertainty for Efficient Exact Cache Analysis Ascertaining Uncertainty for Efficient Exact Cache Analysis Valentin Touzeau 1, Claire Maïza 1, David Monniaux 1, and Jan Reineke 2 1 Univ. Grenoble Alpes, VERIMAG, F-38000 Grenoble, France CNRS, VERIMAG,

More information

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis

CMSC 631 Program Analysis and Understanding. Spring Data Flow Analysis CMSC 631 Program Analysis and Understanding Spring 2013 Data Flow Analysis Data Flow Analysis A framework for proving facts about programs Reasons about lots of little facts Little or no interaction between

More information

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value A -Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value Shuhui Li, Miao Song, Peng-Jun Wan, Shangping Ren Department of Engineering Mechanics,

More information

arxiv: v1 [cs.ds] 26 Mar 2015

arxiv: v1 [cs.ds] 26 Mar 2015 Analyzing Adaptive Cache Replacement Strategies Leo Shao 1, Mario E. Consuegra 2, Raju Rangaswami 1, and Giri Narasimhan 1 1 School of Computing and Information Sciences, Florida International University,

More information

Fall 2011 Prof. Hyesoon Kim

Fall 2011 Prof. Hyesoon Kim Fall 2011 Prof. Hyesoon Kim Add: 2 cycles FE_stage add r1, r2, r3 FE L ID L EX L MEM L WB L add add sub r4, r1, r3 sub sub add add mul r5, r2, r3 mul sub sub add add mul sub sub add add mul sub sub add

More information

Technion - Computer Science Department - Technical Report CS On Centralized Smooth Scheduling

Technion - Computer Science Department - Technical Report CS On Centralized Smooth Scheduling On Centralized Smooth Scheduling Ami Litman January 25, 2005 Abstract Shiri Moran-Schein This paper studies evenly distributed sets of natural numbers and their applications to scheduling in a centralized

More information

Lecture 3: String Matching

Lecture 3: String Matching COMP36111: Advanced Algorithms I Lecture 3: String Matching Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline The string matching problem The Rabin-Karp algorithm The Knuth-Morris-Pratt

More information

Computer Architecture

Computer Architecture Lecture 2: Iakovos Mavroidis Computer Science Department University of Crete 1 Previous Lecture CPU Evolution What is? 2 Outline Measurements and metrics : Performance, Cost, Dependability, Power Guidelines

More information

K-Lists. Anindya Sen and Corrie Scalisi. June 11, University of California, Santa Cruz. Anindya Sen and Corrie Scalisi (UCSC) K-Lists 1 / 25

K-Lists. Anindya Sen and Corrie Scalisi. June 11, University of California, Santa Cruz. Anindya Sen and Corrie Scalisi (UCSC) K-Lists 1 / 25 K-Lists Anindya Sen and Corrie Scalisi University of California, Santa Cruz June 11, 2007 Anindya Sen and Corrie Scalisi (UCSC) K-Lists 1 / 25 Outline 1 Introduction 2 Experts 3 Noise-Free Case Deterministic

More information

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr

Semantic Equivalences and the. Verification of Infinite-State Systems 1 c 2004 Richard Mayr Semantic Equivalences and the Verification of Infinite-State Systems Richard Mayr Department of Computer Science Albert-Ludwigs-University Freiburg Germany Verification of Infinite-State Systems 1 c 2004

More information

Variable Selection and Sensitivity Analysis via Dynamic Trees with an application to Computer Code Performance Tuning

Variable Selection and Sensitivity Analysis via Dynamic Trees with an application to Computer Code Performance Tuning Variable Selection and Sensitivity Analysis via Dynamic Trees with an application to Computer Code Performance Tuning Robert B. Gramacy University of Chicago Booth School of Business faculty.chicagobooth.edu/robert.gramacy

More information

Optimizing Loop Operation and Dataflow in FPGA Acceleration of Deep Convolutional Neural Networks

Optimizing Loop Operation and Dataflow in FPGA Acceleration of Deep Convolutional Neural Networks 2017 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays Optimizing Loop Operation and Dataflow in FPGA Acceleration of Deep Convolutional Neural Networks Yufei Ma, Yu Cao, Sarma Vrudhula,

More information

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide)

Issue = Select + Wakeup. Out-of-order Pipeline. Issue. Issue = Select + Wakeup. OOO execution (2-wide) OOO execution (2-wide) Out-of-order Pipeline Buffer of instructions Issue = Select + Wakeup Select N oldest, read instructions N=, xor N=, xor and sub Note: ma have execution resource constraints: i.e., load/store/fp Fetch Decode

More information

COMPUTER SCIENCE TRIPOS

COMPUTER SCIENCE TRIPOS CST0.2017.2.1 COMPUTER SCIENCE TRIPOS Part IA Thursday 8 June 2017 1.30 to 4.30 COMPUTER SCIENCE Paper 2 Answer one question from each of Sections A, B and C, and two questions from Section D. Submit the

More information

Data Cleaning and Query Answering with Matching Dependencies and Matching Functions

Data Cleaning and Query Answering with Matching Dependencies and Matching Functions Data Cleaning and Query Answering with Matching Dependencies and Matching Functions Leopoldo Bertossi 1, Solmaz Kolahi 2, and Laks V. S. Lakshmanan 2 1 Carleton University, Ottawa, Canada. bertossi@scs.carleton.ca

More information

Embedded systems engineering Distributed real-time systems

Embedded systems engineering Distributed real-time systems Embedded systems engineering Distributed real-time systems David Kendall David Kendall CM0605/KF6010 Lecture 09 1 / 15 Time is Central to Real-time and Embedded Systems Several timing analysis problems:

More information

CSE. 1. In following code. addi. r1, skip1 xor in r2. r3, skip2. counter r4, top. taken): PC1: PC2: PC3: TTTTTT TTTTTT

CSE. 1. In following code. addi. r1, skip1 xor in r2. r3, skip2. counter r4, top. taken): PC1: PC2: PC3: TTTTTT TTTTTT CSE 560 Practice Problem Set 4 Solution 1. In this question, you will examine several different schemes for branch prediction, using the following code sequence for a simple load store ISA with no branch

More information