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

Size: px
Start display at page:

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

Transcription

1 esign and nalysis of Time-ritical Systems ache nalysis and Predictability Jan saarland university ES Summer School 2017 Fiuggi, Italy computer science

2 n nalogy alvin and Hobbes by Bill Watterson November 26,

3 an We Predict Software Behavior? Security: l oes this app leak my private data? l re buffer overflow attacks possible? Verification: l an this program crash? l oes it behave according to specification? Timing nalysis: l What is the maximum runtime of this program? l Important Subproblems: Which address will be accessed? Will this memory access result in a cache hit? 3

4 Prediction is Impossible! lan Turing: The halting problem is undecidable. lan Turing Henry Gordon Rice: ny non-trivial property of programs is undecidable. 4

5 pproximative Solutions Program nalysis for Property X Yes on t know No 5

6 Underapproximation: Testing Test the program on a finite subset of its inputs: Undetected fault etected fault all behaviours of the program test cases Program testing can be used to show the presence of bugs, but never to show their absence! ijkstra (1970) 6

7 Sound Static Program nalysis (bstract Interpretation) Over-approximate all possible behaviors: ll violations detected Infeasible behaviours all behaviours of the program Warning: False positive 7

8 Static nalysis in a Nutshell Set of initial states + inputs oncrete Behaviors safe approximation bstract Behaviors 8

9 How to achieve safe approximation? 1. Every abstract state s # represents a set (s # ) of rete states: 9

10 How to achieve safe approximation? 2. Local onsistency: abstract successors over-approximate rete successors may represent more states à imprecision 10

11 How to achieve safe approximation? oncrete Behaviors safe approximation bstract Behaviors Local onsistency Local onsistency 11

12 pplication: Static ache nalysis ache: Small, but fast memory that buffers part of main memory hi! hei!? E? miss hit [EB] [B] [B] hei! E? PU ache Main Memory Goal of static cache analysis is to classify memory accesses as guaranteed cache hits 12

13 oncrete ache States: Least-Recently-Used Replacement Notion of ge B most-recently-used least-recently-used E B F most-recently-used least-recently-used 13

14 oncrete ache Behavior: Least-Recently-Used Replacement How do rete cache states change upon memory accesses? ccess to : hit ccess to E: miss B B E B 14

15 Brainstorming: Predicting ache Hits Want to soundly predict cache hits. How to compactly represent sets of rete states for this purpose? 15

16 bstract Must ache States ompactly represent sets of rete states: {B} {,} {} oncrete states in which: B s age is at most 1, s and s age is at most 2 and s age is at most 3. Upper bound on ages of memory blocks 16

17 bstract Must ache States ompactly represent sets of rete states: B {B} {,} B B {} B Upper bound on ages of memory blocks 17

18 bstract Must ache States ompactly represent sets of rete states:? 18

19 bstract Must ache Behavior How do abstract cache states change upon memory accesses? {B} {,} {} ccess to : definite hit {} {,B} {} ccess to E: potential miss {E} {} {,B} 19

20 bstract Must ache Behavior: Local onsistency ccess to : hit {} {B} {,} {,B} {} {} B B B B ccess to B B 20

21 Integration with Pipeline nalysis uring microarchitectural analysis, analysis states are pairs: (pipeline state, cache state) Upon uncertainty, e.g. whether a cache hit or miss happens, split. If two analysis states agree on the pipeline state, the cache states are joined. 21

22 Properties of the Join Soundness: Must not lose any rete states: () ( B) (B) ( B) Precision: Want the best representation that is sound, i.e. the one that represents the fewest rete states. 22

23 Join for bstract Must ache States {} {,F} {} {}? {E} = {} {} {,} {} F F E???... à Take the maximum of the age bounds! 23

24 Example nalysis: Loop entry [,,, ]?t[,? [{},, {},,] t =[,,,,, ] ] = [,,, ] [{},,, ]? B [{},?,, ] [{B},? {},, ] t [{}, {},, ] = [, {},, ] exit [{},?, {}, ] No hits can be predicted! Why? 24

25 ontext-sensitive nalysis: Virtual Loop Peeling (Unrolling) The problem: The first iteration of a loop will always result in cache misses Similarly for the first execution of a recursive function solution: istinguish the first iteration of a loop from others istinguish function calls by calling context 25

26 ontext-sensitive nalysis: Example entry [{},,, ] B exit [{}, {},, ] B [,,, ] [{},,, ] [, {},, ] [{},, {}, ] [{}, {},, ] ccesses to and are provably hits after the first iteration ccesses to B and can still not be classified, but they can miss at most once à Need Persistence nalysis [, {}, {}, ] Note: Loop is only peeled virtually, i.e. during analysis not in the binary! exit 26

27 Brainstorming: Predicting ache Misses Want to soundly predict cache misses. How to compactly represent sets of rete states for this purpose? 27

28 Predicting ache Misses: bstract May ache States {} {B, } {, E, F} oncrete states in which: s age is at least 0, B s and s age is at least 1, and s, E s, and F s age is at least 2. Lower bound on ages of memory blocks Blocks with a lower bound greater or equal to the cache size are guaranteed not to be in the cache. How is this useful in WET analysis? 28

29 bstract May ache Behavior How do abstract cache states change upon memory accesses? ccess to : potential hit ccess to E: definite miss {B} {} {E} {F} {B} {} {,} {F} {B} {} {,} {F} Notice subtle difference to must update! 29

30 Join for bstract May ache States {,} {F} {} {}? {E} = {} {} {,} {E} {F} {} à Take the minimum of the age bounds! 30

31 Timing Predictability Uncertainty in WET nalysis distribution of execution times nalysis-guaranteed timing bounds Overest.= uncertainty penalty LB BET WET UB Execution time Precision of WET analysis determined by amount of uncertainty Uncertainty in cache analysis depends on replacement policy 31

32 Uncertainty in ache nalysis read z 1. Initial cache contents unknown. read y read x 2. ifferent paths lead to these points. 3. annot resolve address of z. write z =) mount of uncertainty determined by ability to recover information 32

33 ache Predictability Metrics Evict Fill [fed] [gfe] [dex] [fec] [fde] [gfd] [hgf ] omplete Uncertainty omplete ertainty 33

34 Interpretation of Predictability Metrics Evict: Fill: l Number of accesses until any analysis can start predicting guaranteed cache misses l Number of accesses until any analysis can precisely predict any access as hit or miss à The two metrics bound the precision of any static cache analysis. an thus serve as benchmark for analyses. 34

35 Popular ache Replacement Policies Least-Recently-Used (LRU) used in INTEL PENTIUM I, MIPS 24K/34K, M OPTERON First-In First-Out (FIFO) used in MOTOROL POWERP 56X, INTEL XSLE, RM9, RM11 Not Most-Recently-Used (NMRU) used in INTEL ITNIUM Pseudo-LRU (PLRU) used in INTEL PENTIUM II-IV, INTEL ORE, INTEL XEON, POWERP 75X 35

36 Observation: LRU Replacement is Robust ccess to ccess to B ccess to ccess to {} {B} {} {} {B} {} {} {} {B} {} rbitrary ache State à Predictability Metrics: Evict(k) = Fill(k) = k B where k = associativity 36

37 Predictability Metrics: FIFO Like LRU in the miss case But: Ignores hits a b c d? a b c? a b c? a b c? a b c d? a b In the worst case k-1 hits and k misses: (k = associativity) à Evict(k) = 2k-1 nother k accesses to obtain complete knowledge: à Fill(k) = 3k-1 37

38 Predictability Metrics: PLRU Tree bits point to block to be replaced 1 c 0 e a b c d a b c d a e c d ccesses rejuvenate neighborhood l ctive blocks keep their (inactive) neighborhood in the cache nalysis yields: l Evict(k) = k/2 log 2 k +1 l Fill(k) = k/2 log 2 k + k

39 Evaluation of Policies Policy Evict(k) Fill(k) LRU k k FIFO 2k-1 3k-1 NMRU 2k-2 3k-4 PLRU k/2 log k + 1 k/2 log k + k-1 1. LRU is optimal w.r.t. metrics à Use LRU when you have the choice. 2. How to build static analyses that are optimal w.r.t. metrics? à [SIGMETRIS, LTES, SS, WET, ERTS] 39

40 onclusions ache nalysis for Least-Recently-Used: l Efficiently represents sets of cache states by bounding the age of memory blocks From above: must analysis From below: may analysis l Requires context sensitivity for precision ache Predictability Metrics: l Equate predictability with forgetfulness l LRU is particularly forgetful 40

41 Literature bstract ousot, ousot: bstract interpretation: a unified lattice model for static Interpretation: analysis of programs by construction or approximation of fixpoints, In: Proceedings POPL, 1977 LRU: Predictability: Other Policies: FIFO: Persistence: NMRU: Survey: Ferdinand, Wilhelm: Efficient and precise cache behavior prediction for realtime systems, Real-Time Systems, 1999 Reineke, Grund, Berg, Wilhelm: Timing predictability of cache replacement policies, Real-Time Systems 37(2), 2007 Reineke, Grund: Relative competitive analysis of cache replacement policies, In: Proceedings LTES, 2008 Grund, Reineke: bstract interpretation of FIFO replacement, In: Proceedings SS, 2009 Grund, Reineke: Precise and efficient FIFO-replacement analysis based on static phase detection, In: Proceedings ERTS, 2010 Guan, Yang, Lv, Yi: FIFO cache analysis for WET estimation: a quantitative approach, In: Proceedings TE, 2013 ullmann: ache persistence analysis: Theory and practice, M TES, 2013 Guan, Lv, Yi, Yu: WET analysis with MRU cache: challenging LRU for predictability, M TES, 2014 Lv, Guan, Reineke, Wilhelm, Yi: survey on static cache analysis for realtime systems, LITES 3(1),

Caches in WCET Analysis

Caches in WCET Analysis 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

More information

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

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

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

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

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

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

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems E 450 Real-ime Systems Lecture 4 Rate Monotonic heory Part September 7, 08 Sam Siewert Quiz Results 93% Average, 75 low, 00 high Goal is to learn what you re not learning yet Motivation to keep up with

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

Algorithmic verification

Algorithmic verification Algorithmic verification Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2018 Outline Overview Model checking Symbolic execution Outline Overview Model checking Symbolic execution Program verification

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

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Winter Term 2016/17

Decision Procedures. Jochen Hoenicke. Software Engineering Albert-Ludwigs-University Freiburg. Winter Term 2016/17 Decision Procedures Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Winter Term 2016/17 Jochen Hoenicke (Software Engineering) Decision Procedures Winter Term 2016/17 1 / 436 Program

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

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

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

Weighted Activity Selection

Weighted Activity Selection Weighted Activity Selection Problem This problem is a generalization of the activity selection problem that we solvd with a greedy algorithm. Given a set of activities A = {[l, r ], [l, r ],..., [l n,

More information

Dynamic Dependency Monitoring to Secure Information Flow

Dynamic Dependency Monitoring to Secure Information Flow Dynamic Dependency Monitoring to Secure Information Flow Paritosh Shroff Scott F. Smith Mark Thober Department of Computer Science Johns Hopkins University {pari,scott,mthober}@cs.jhu.edu Abstract Although

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

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

Great Theoretical Ideas

Great Theoretical Ideas 15-251 Great Theoretical Ideas in Computer Science Gödel s Legacy: Proofs and Their Limitations Lecture 25 (November 16, 2010) The Halting Problem A Quick Recap of the Previous Lecture Is there a program

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

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 20. To Infinity And Beyond: Countability and Computability

Discrete Mathematics and Probability Theory Spring 2014 Anant Sahai Note 20. To Infinity And Beyond: Countability and Computability EECS 70 Discrete Mathematics and Probability Theory Spring 014 Anant Sahai Note 0 To Infinity And Beyond: Countability and Computability This note ties together two topics that might seem like they have

More information

Business Process Regulatory Compliance is Hard

Business Process Regulatory Compliance is Hard IEEE TRANSACTIONS ON SERVICE COMPUTING, VOL. X, NO. X, X X 1 Business Process Regulatory Compliance is Hard Silvano Colombo Tosatto, Guido Governatori and Pierre Kelsen Abstract Verifying whether a business

More information

Verification of Real-Time Systems Numerical Abstractions

Verification of Real-Time Systems Numerical Abstractions Verification of Real-Time Systems Numerical Abstractions Jan Reineke Advanced Lecture, Summer 2015 Recap: From Local to Global Correctness: Kleene Iteration Abstract Domain F # F #... F # γ a γ a γ a Concrete

More information

Smoothing a Program Soundly and Robustly

Smoothing a Program Soundly and Robustly Smoothing a Program Soundly and Robustly Swarat Chaudhuri 1 and Armando Solar-Lezama 2 1 Rice University 2 MIT Abstract. We study the foundations of smooth interpretation, a recentlyproposed program approximation

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

The priority promotion approach to parity games

The priority promotion approach to parity games The priority promotion approach to parity games Massimo Benerecetti 1, Daniele Dell Erba 1, and Fabio Mogavero 2 1 Università degli Studi di Napoli Federico II 2 Università degli Studi di Verona Abstract.

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

More information

Path Testing and Test Coverage. Chapter 9

Path Testing and Test Coverage. Chapter 9 Path Testing and Test Coverage Chapter 9 Structural Testing Also known as glass/white/open box testing Structural testing is based on using specific knowledge of the program source text to define test

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

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

Prioritized Garbage Collection Using the Garbage Collector to Support Caching

Prioritized Garbage Collection Using the Garbage Collector to Support Caching Prioritized Garbage Collection Using the Garbage Collector to Support Caching Diogenes Nunez, Samuel Z. Guyer, Emery D. Berger Tufts University, University of Massachusetts Amherst November 2, 2016 D.

More information

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem

Theory of Computer Science. Theory of Computer Science. D8.1 Other Halting Problem Variants. D8.2 Rice s Theorem Theory of Computer Science May 15, 2017 D8. Rice s Theorem and Other Undecidable Problems Theory of Computer Science D8. Rice s Theorem and Other Undecidable Problems Malte Helmert University of Basel

More information

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction)

CS5371 Theory of Computation. Lecture 14: Computability V (Prove by Reduction) CS5371 Theory of Computation Lecture 14: Computability V (Prove by Reduction) Objectives This lecture shows more undecidable languages Our proof is not based on diagonalization Instead, we reduce the problem

More information

Program Analysis Probably Counts

Program Analysis Probably Counts Probably Counts 1 c.hankin@imperial.ac.uk joint work with Alessandra Di Pierro 2 and Herbert Wiklicky 1 1 Department of Computing, 2 Dipartimento di Informatica, Università di Verona Computer Journal Lecture,

More information

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis

CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis CS 243 Lecture 11 Binary Decision Diagrams (BDDs) in Pointer Analysis 1. Relations in BDDs 2. Datalog -> Relational Algebra 3. Relational Algebra -> BDDs 4. Context-Sensitive Pointer Analysis 5. Performance

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

General Diagnostic Engine: GDE

General Diagnostic Engine: GDE eneral iagnostic ngine: onsistency based diagnosis 1 Introduction 2 omputational approach: arlos lonso onzález elarmino Pulido Junquera SI. pto. Informática, Universidad de Valladolid onsistency ased iagnosis

More information

1 Definition of a Turing machine

1 Definition of a Turing machine Introduction to Algorithms Notes on Turing Machines CS 4820, Spring 2017 April 10 24, 2017 1 Definition of a Turing machine Turing machines are an abstract model of computation. They provide a precise,

More information

Introduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18

Introduction to Abstract Interpretation. ECE 584 Sayan Mitra Lecture 18 Introduction to Abstract Interpretation ECE 584 Sayan Mitra Lecture 18 References Patrick Cousot,RadhiaCousot:Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction

More information

The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization

The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization The Fast Optimal Voltage Partitioning Algorithm For Peak Power Density Minimization Jia Wang, Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University Houghton, Michigan

More information

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET

THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET THEORY OF COMPUTATION (AUBER) EXAM CRIB SHEET Regular Languages and FA A language is a set of strings over a finite alphabet Σ. All languages are finite or countably infinite. The set of all languages

More information

Ensuring Average Recovery with Adversarial Scheduler

Ensuring Average Recovery with Adversarial Scheduler Ensuring Average Recovery with Adversarial Scheduler Jingshu Chen, Mohammad Roohitavaf, and Sandeep S. Kulkarni Michigan State University, US {chenji15, roohitav, sandeep}@cse.msu.edu Abstract In this

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

Foundations of Cryptography

Foundations of Cryptography - 111 - Foundations of Cryptography Notes of lecture No. 10B & 11 (given on June 11 & 18, 1989) taken by Sergio Rajsbaum Summary In this lecture we define unforgeable digital signatures and present such

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

NP Complete Problems. COMP 215 Lecture 20

NP Complete Problems. COMP 215 Lecture 20 NP Complete Problems COMP 215 Lecture 20 Complexity Theory Complexity theory is a research area unto itself. The central project is classifying problems as either tractable or intractable. Tractable Worst

More information

An Informal introduction to Formal Verification

An Informal introduction to Formal Verification An Informal introduction to Formal Verification Osman Hasan National University of Sciences and Technology (NUST), Islamabad, Pakistan O. Hasan Formal Verification 2 Agenda q Formal Verification Methods,

More information

Automatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann

Automatic Resource Bound Analysis and Linear Optimization. Jan Hoffmann Automatic Resource Bound Analysis and Linear Optimization Jan Hoffmann Beyond worst-case analysis Beyond worst-case analysis of algorithms Beyond worst-case analysis of algorithms Resource bound analysis

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

Loop Invariants and Binary Search. Chapter 4.4, 5.1

Loop Invariants and Binary Search. Chapter 4.4, 5.1 Loop Invariants and Binary Search Chapter 4.4, 5.1 Outline Iterative Algorithms, Assertions and Proofs of Correctness Binary Search: A Case Study Outline Iterative Algorithms, Assertions and Proofs of

More information

Limits of Computability

Limits of Computability Limits of Computability Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at Wolfgang Schreiner

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

Warm-Up Problem. Please fill out your Teaching Evaluation Survey! Please comment on the warm-up problems if you haven t filled in your survey yet.

Warm-Up Problem. Please fill out your Teaching Evaluation Survey! Please comment on the warm-up problems if you haven t filled in your survey yet. Warm-Up Problem Please fill out your Teaching Evaluation Survey! Please comment on the warm-up problems if you haven t filled in your survey yet Warm up: Given a program that accepts input, is there an

More information

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas

Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast. Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas Network Algorithms and Complexity (NTUA-MPLA) Reliable Broadcast Aris Pagourtzis, Giorgos Panagiotakos, Dimitris Sakavalas Slides are partially based on the joint work of Christos Litsas, Aris Pagourtzis,

More information

Topic 17. Analysis of Algorithms

Topic 17. Analysis of Algorithms Topic 17 Analysis of Algorithms Analysis of Algorithms- Review Efficiency of an algorithm can be measured in terms of : Time complexity: a measure of the amount of time required to execute an algorithm

More information

Revisiting the Cache Miss Analysis of Multithreaded Algorithms

Revisiting the Cache Miss Analysis of Multithreaded Algorithms Revisiting the Cache Miss Analysis of Multithreaded Algorithms Richard Cole Vijaya Ramachandran September 19, 2012 Abstract This paper concerns the cache miss analysis of algorithms when scheduled in work-stealing

More information

There are two main techniques for showing that problems are undecidable: diagonalization and reduction

There are two main techniques for showing that problems are undecidable: diagonalization and reduction Reducibility 1 There are two main techniques for showing that problems are undecidable: diagonalization and reduction 2 We say that a problem A is reduced to a problem B if the decidability of A follows

More information

Learning to Verify Branching Time Properties

Learning to Verify Branching Time Properties Learning to Verify Branching Time Properties Abhay Vardhan and Mahesh Viswanathan Dept. of Computer Science, Univ. of Illinois at Urbana-Champaign, USA Abstract. We present a new model checking algorithm

More information

Abstract Interpretation II

Abstract Interpretation II Abstract Interpretation II Semantics and Application to Program Verification Antoine Miné École normale supérieure, Paris year 2015 2016 Course 11 13 May 2016 Course 11 Abstract Interpretation II Antoine

More information

Exact Analysis of TTL Cache Networks

Exact Analysis of TTL Cache Networks Exact Analysis of TTL Cache Networks Daniel S. Berger, Philipp Gland, Sahil Singla, and Florin Ciucu IFIP WG 7.3 Performance October 7, 2014 Classes of Caching Classes of Caches capacity-driven eviction

More information

A Fast Heuristic for GO and MINLP

A Fast Heuristic for GO and MINLP A Fast Heuristic for GO and MINLP John W. Chinneck, M. Shafique, Systems and Computer Engineering Carleton University, Ottawa, Canada Introduction Goal: Find a good quality GO/MINLP solution quickly. Trade

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

Automatic determination of numerical properties of software and systems

Automatic determination of numerical properties of software and systems Automatic determination of numerical properties of software and systems Eric Goubault and Sylvie Putot Modelling and Analysis of Interacting Systems, CEA LIST MASCOT-NUM 2012 Meeting, March 21-23, 2012

More information

Complexity Theory Part I

Complexity Theory Part I Complexity Theory Part I Problem Problem Set Set 77 due due right right now now using using a late late period period The Limits of Computability EQ TM EQ TM co-re R RE L D ADD L D HALT A TM HALT A TM

More information

Analysis of Algorithms CMPSC 565

Analysis of Algorithms CMPSC 565 Analysis of Algorithms CMPSC 565 LECTURES 38-39 Randomized Algorithms II Quickselect Quicksort Running time Adam Smith L1.1 Types of randomized analysis Average-case analysis : Assume data is distributed

More information

Information Flow Analysis via Path Condition Refinement

Information Flow Analysis via Path Condition Refinement Information Flow Analysis via Path Condition Refinement Mana Taghdiri, Gregor Snelting, Carsten Sinz Karlsruhe Institute of Technology, Germany FAST September 16, 2010 KIT University of the State of Baden-Wuerttemberg

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

Quicksort algorithm Average case analysis

Quicksort algorithm Average case analysis Quicksort algorithm Average case analysis After today, you should be able to implement quicksort derive the average case runtime of quick sort and similar algorithms Q1-3 For any recurrence relation in

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

Automatic Verification of Parameterized Data Structures

Automatic Verification of Parameterized Data Structures Automatic Verification of Parameterized Data Structures Jyotirmoy V. Deshmukh, E. Allen Emerson and Prateek Gupta The University of Texas at Austin The University of Texas at Austin 1 Outline Motivation

More information

1 Showing Recognizability

1 Showing Recognizability CSCC63 Worksheet Recognizability and Decidability 1 1 Showing Recognizability 1.1 An Example - take 1 Let Σ be an alphabet. L = { M M is a T M and L(M) }, i.e., that M accepts some string from Σ. Prove

More information

Recap. CS514: Intermediate Course in Operating Systems. What time is it? This week. Reminder: Lamport s approach. But what does time mean?

Recap. CS514: Intermediate Course in Operating Systems. What time is it? This week. Reminder: Lamport s approach. But what does time mean? CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA Recap We ve started a process of isolating questions that arise in big systems Tease out an abstract issue Treat

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

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs

Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Fault Collapsing in Digital Circuits Using Fast Fault Dominance and Equivalence Analysis with SSBDDs Raimund Ubar, Lembit Jürimägi (&), Elmet Orasson, and Jaan Raik Department of Computer Engineering,

More information

Process Algebras and Concurrent Systems

Process Algebras and Concurrent Systems Process Algebras and Concurrent Systems Rocco De Nicola Dipartimento di Sistemi ed Informatica Università di Firenze Process Algebras and Concurrent Systems August 2006 R. De Nicola (DSI-UNIFI) Process

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

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity

Great Theoretical Ideas in Computer Science. Lecture 7: Introduction to Computational Complexity 15-251 Great Theoretical Ideas in Computer Science Lecture 7: Introduction to Computational Complexity September 20th, 2016 What have we done so far? What will we do next? What have we done so far? > Introduction

More information

Theory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem

Theory of Computer Science. Theory of Computer Science. D7.1 Introduction. D7.2 Turing Machines as Words. D7.3 Special Halting Problem Theory of Computer Science May 2, 2018 D7. Halting Problem and Reductions Theory of Computer Science D7. Halting Problem and Reductions Gabriele Röger University of Basel May 2, 2018 D7.1 Introduction

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

COMS W4995 Introduction to Cryptography October 12, Lecture 12: RSA, and a summary of One Way Function Candidates.

COMS W4995 Introduction to Cryptography October 12, Lecture 12: RSA, and a summary of One Way Function Candidates. COMS W4995 Introduction to Cryptography October 12, 2005 Lecture 12: RSA, and a summary of One Way Function Candidates. Lecturer: Tal Malkin Scribes: Justin Cranshaw and Mike Verbalis 1 Introduction In

More information

Reasoning About Imperative Programs. COS 441 Slides 10b

Reasoning About Imperative Programs. COS 441 Slides 10b Reasoning About Imperative Programs COS 441 Slides 10b Last time Hoare Logic: { P } C { Q } Agenda If P is true in the initial state s. And C in state s evaluates to s. Then Q must be true in s. Program

More information

Verification as Learning Geometric Concepts

Verification as Learning Geometric Concepts Verification as Learning Geometric Concepts Rahul Sharma 1, Saurabh Gupta 2, Bharath Hariharan 2, Alex Aiken 1, and Aditya V. Nori 3 1 Stanford University, {sharmar,aiken}@cs.stanford.edu 2 University

More information

RSA Key Extraction via Low- Bandwidth Acoustic Cryptanalysis. Daniel Genkin, Adi Shamir, Eran Tromer

RSA Key Extraction via Low- Bandwidth Acoustic Cryptanalysis. Daniel Genkin, Adi Shamir, Eran Tromer RSA Key Extraction via Low- Bandwidth Acoustic Cryptanalysis Daniel Genkin, Adi Shamir, Eran Tromer Mathematical Attacks Input Crypto Algorithm Key Output Goal: recover the key given access to the inputs

More information

1 Column Generation and the Cutting Stock Problem

1 Column Generation and the Cutting Stock Problem 1 Column Generation and the Cutting Stock Problem In the linear programming approach to the traveling salesman problem we used the cutting plane approach. The cutting plane approach is appropriate when

More information

(a) Definition of TMs. First Problem of URMs

(a) Definition of TMs. First Problem of URMs Sec. 4: Turing Machines First Problem of URMs (a) Definition of the Turing Machine. (b) URM computable functions are Turing computable. (c) Undecidability of the Turing Halting Problem That incrementing

More information

Notes on Abstract Interpretation

Notes on Abstract Interpretation Notes on Abstract Interpretation Alexandru Sălcianu salcianu@mit.edu November 2001 1 Introduction This paper summarizes our view of the abstract interpretation field. It is based on the original abstract

More information

Bloom Filter Redux. CS 270 Combinatorial Algorithms and Data Structures. UC Berkeley, Spring 2011

Bloom Filter Redux. CS 270 Combinatorial Algorithms and Data Structures. UC Berkeley, Spring 2011 Bloom Filter Redux Matthias Vallentin Gene Pang CS 270 Combinatorial Algorithms and Data Structures UC Berkeley, Spring 2011 Inspiration Our background: network security, databases We deal with massive

More information

Distributed Systems Part II Solution to Exercise Sheet 10

Distributed Systems Part II Solution to Exercise Sheet 10 Distributed Computing HS 2012 Prof. R. Wattenhofer / C. Decker Distributed Systems Part II Solution to Exercise Sheet 10 1 Spin Locks A read-write lock is a lock that allows either multiple processes to

More information

Static Program Analysis

Static Program Analysis Static Program Analysis Thomas Noll Software Modeling and Verification Group RWTH Aachen University https://moves.rwth-aachen.de/teaching/ss-18/spa/ Recap: Interprocedural Dataflow Analysis Outline of

More information

Principles of Computing, Carnegie Mellon University. The Limits of Computing

Principles of Computing, Carnegie Mellon University. The Limits of Computing The Limits of Computing Intractability Limits of Computing Announcement Final Exam is on Friday 9:00am 10:20am Part 1 4:30pm 6:10pm Part 2 If you did not fill in the course evaluations please do it today.

More information

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007

1 Introduction. 1.1 The Problem Domain. Self-Stablization UC Davis Earl Barr. Lecture 1 Introduction Winter 2007 Lecture 1 Introduction 1 Introduction 1.1 The Problem Domain Today, we are going to ask whether a system can recover from perturbation. Consider a children s top: If it is perfectly vertically, you can

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

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Finally the Weakest Failure Detector for Non-Blocking Atomic Commit Rachid Guerraoui Petr Kouznetsov Distributed Programming Laboratory EPFL Abstract Recent papers [7, 9] define the weakest failure detector

More information

Tableau-based decision procedures for the logics of subinterval structures over dense orderings

Tableau-based decision procedures for the logics of subinterval structures over dense orderings Tableau-based decision procedures for the logics of subinterval structures over dense orderings Davide Bresolin 1, Valentin Goranko 2, Angelo Montanari 3, and Pietro Sala 3 1 Department of Computer Science,

More information

arxiv: v1 [cs.dc] 3 Oct 2011

arxiv: v1 [cs.dc] 3 Oct 2011 A Taxonomy of aemons in Self-Stabilization Swan ubois Sébastien Tixeuil arxiv:1110.0334v1 cs.c] 3 Oct 2011 Abstract We survey existing scheduling hypotheses made in the literature in self-stabilization,

More information

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007 Dynamic Noninterference Analysis Using Context Sensitive Static Analyses Gurvan Le Guernic July 14, 2007 1 Abstract This report proposes a dynamic noninterference analysis for sequential programs. This

More information

Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction

Abstract Interpretation, or Non-Standard Semantics, or Picking the Right Abstraction Abstract Interpretation, or NonStandard Semantics, or Picking the Right Abstraction Meeting 14, SI 5535, Spring 29 Announcements Homework 3 is graded Graded out of 19, out of 38 on moodle because of.5

More information