a framework for the derivation of wcet analyses for multi
play

A Framework for the Derivation of WCET Analyses for Multi-Core - PowerPoint PPT Presentation

A Framework for the Derivation of WCET Analyses for Multi-Core Processors Michael Jacobs Department of Computer Science Saarland University August 20, 2014 saarland university computer science saarland university Multi-Core Processors


  1. A Framework for the Derivation of WCET Analyses for Multi-Core Processors Michael Jacobs Department of Computer Science Saarland University August 20, 2014 saarland university computer science

  2. saarland university Multi-Core Processors computer science Cores share common HW resources ◮ Mostly caches and buses Reduces: ◮ Weight ◮ Energy consumption ◮ Production costs Thus also interesting for embedded systems Downside: Interference ◮ Cores no longer behave independently Precise WCET analysis is challenging ◮ Exact consideration of all interference effects too costly Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 1 / 13

  3. saarland university WCET Analysis for Multi-Core Processors computer science Existing approaches not sufficient: ◮ Compositionality assumed ◮ Cache analysis not integrated with pipeline analysis ◮ No dynamic bus arbitration ⇒ Modern processors not supported! Need for new WCET analyses Various HW platforms ◮ Each requires specific analysis Hand-crafting analyses is tedious Each analysis needs soundness proof We propose a framework ◮ Derive analyses according to it ◮ Soundness as consequence of derivation Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 2 / 13

  4. saarland university A Framework for the Derivation of WCET Analyses computer science for Multi-Core Processors Start with sound analysis ◮ Similar to single-core analysis ◮ Pessimistic about resource sharing ◮ But simple to prove sound Consider system properties ◮ Hold for the concrete system ◮ Bound shared resource interference Lift the system properties ◮ To abstraction level of the existing analysis ◮ According to formal criterion Improved analysis ◮ Based on existing analysis ◮ Incorporates lifted properties ◮ Prunes infeasible behavior Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 3 / 13

  5. saarland university Outline computer science Introduction 1 2 Simple Approach: Pruning Based on Lifted System Properties Iterative Extension: Trading in Precision for Efficiency 3 Conclusion 4 Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 4 / 13

  6. saarland university Concrete System and a WCET Analysis computer science Concrete-system behavior Traces ◮ Set Traces of execution behaviors ◮ WCET C i = max t ∈ Traces et C i ( t ) Existing sound analysis for core C i � ◮ Similar to single-core analysis Traces ◮ Pessimistic about resource sharing γ trace ◮ Result forms set � Traces of abstract traces � Traces Traces γ trace (ˆ ◮ Sound : t ) ⊇ Traces ˆ t ∈ � UB et C i (ˆ ◮ WCET bound : t ) ≥ WCET C i max ˆ t ∈ � Traces Problem: infeasible abstract traces ◮ � Infeas = { ˆ t | ˆ t ∈ � Traces ∧ γ trace (ˆ t ) ∩ Traces = ∅} ˆ t ◮ Increase WCET bound γ trace ◮ Can safely be pruned ◮ How to detect them? Traces Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 5 / 13

  7. saarland university System Properties and Lifting Them computer science Set of system properties ≤ n − 1 times ◮ Prop = { P 1 , . . . , P p } l a l a l a ◮ Hold for all execution behaviors: . . . time ∀ P k ∈ Prop : ∀ t ∈ Traces : P k ( t ) Access request Example: Round-Robin bus arbitration A Round-Robin property: P rr ( t ) ⇔ [ # blockedCycles C i ( t ) ≤ # accesses C i ( t ) · ( n − 1 ) · l a ] Lifted to abstract traces: P rr (ˆ � t ) ⇔ [ LB # blockedCycles C i (ˆ t ) ≤ UB # accesses C i (ˆ t ) · ( n − 1 ) · l a ] Intuition: ◮ ¬ � P rr (ˆ t ) ⇒ [ ∀ t ∈ γ trace (ˆ t ) : ¬ P rr ( t ) ] ◮ ¬ � P rr (ˆ t ) ⇒ ˆ t ∈ � Infeas Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 6 / 13

  8. saarland university Pruning Infeasible Abstract Traces computer science Formal criterion for lifted properties � P k ∀ ˆ t ∈ � Traces : t ) : P k ( t ) ] ⇒ � [ ∃ t ∈ γ trace (ˆ P k (ˆ t ) Consequence: ¬ � t ∈ � P k (ˆ t ) ⇒ ˆ Infeas Prune infeasible abstract traces: Traces ∧ � � t ∈ � P k ∈ Prop � LessTraces = { ˆ t | ˆ P k (ˆ t ) } WCET bound still sound: UB et C i (ˆ t ) ≥ WCET C i max ˆ � t ∈ LessTraces Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 7 / 13

  9. saarland university Outline computer science Introduction 1 2 Simple Approach: Pruning Based on Lifted System Properties Iterative Extension: Trading in Precision for Efficiency 3 Conclusion 4 Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 8 / 13

  10. saarland university Properties Arguing across Core Boundaries computer science Example: work conserving bus arbitration A work conserving property: P wc ( t ) ⇔ [ # blockedCycles C i ( t ) ≤ � C j ∈ ( Cores \{ C i } ) # accessCycles C j ( t ) ] Lifted to abstract traces: P wc (ˆ � t ) ⇔ [ LB # blockedCycles C i (ˆ t ) ≤ � UB # accessCycles C j (ˆ t ) ] C j ∈ ( Cores \{ C i } ) Abstract traces need to argue about all cores Introduce compound abstract traces Traces C 1 × · · · × � � ◮ � Traces C n Traces = t C n ) ) = � ◮ γ trace ( ( � t C 1 , . . . , � trace ( � C i ∈ Models γ C i t C i ) � Obtain LessTraces as before Problem: compound set � Traces likely unmanageably large Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 9 / 13

  11. saarland � university Overapproximating the compound set LessTraces computer science Idea: Analyze each core on its own ◮ But consider cumulative information from the analysis of other cores Use iterative approach : � Approx C i per core C i ∈ Cores ◮ Approximation variable Approx C i ← � � Traces C i ◮ Initialization: � t C i ∈ � Approx C i = { � t C i | � Traces C i ∧ ◮ Update: � P k ∈ Prop � t C i , ( � � k ( � P C i Approx C 1 , . . . , Approx C n )) } The iterative approach. . . � ◮ overapproximates projections of LessTraces � Approx C i ⊇ π C i ( � ∀ C i ∈ Cores : LessTraces ) ◮ is an anytime algorithm ◮ allows any iteration strategy Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 10 / 13

  12. saarland � university Overapproximating the compound set LessTraces computer science Idea: Analyze each core on its own ◮ But consider cumulative information from the analysis of other cores Use iterative approach : � Approx C i per core C i ∈ Cores ◮ Approximation variable Approx C i ← � � Traces C i ◮ Initialization: � t C i ∈ � Approx C i = { � t C i | � Traces C i ∧ ◮ Update: � P k ∈ Prop � t C i , ( � � k ( � P C i Approx C 1 , . . . , Approx C n )) } specially lifted for The iterative approach. . . iterative approach � ◮ overapproximates projections of LessTraces � Approx C i ⊇ π C i ( � ∀ C i ∈ Cores : LessTraces ) ◮ is an anytime algorithm ◮ allows any iteration strategy Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 10 / 13

  13. saarland university Lifting Properties for the Iterative Approach computer science P k to � Further lift properties � P C i k per core C i ∈ Cores According to formal criteria : ◮ Soundness criterion ◮ Monotonicity criterion Example: further lifted versions of � P wc � wc ( � t C i , ( � � P C i Approx C 1 , . . . , Approx C n )) C i ( � ⇔ [ LB # blockedCycles C i t C i ) ≤ � C j ( � C j UB # accessCycles t C j ) ] C j ∈ ( Cores \{ C i } ) max � t Cj ∈ � Approx Cj ∀ C j � = C i : � wc ( � t C j , ( � � C j Approx C 1 , . . . , Approx C n )) ⇔ 1 P Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 11 / 13

  14. saarland university Lifting Properties for the Iterative Approach computer science P k to � Further lift properties � P C i k per core C i ∈ Cores According to formal criteria : ◮ Soundness criterion ◮ Monotonicity criterion Non-compound abstract trace (Core C i ) Example: further lifted versions of � P wc � wc ( � t C i , ( � � P C i Approx C 1 , . . . , Approx C n )) C i ( � ⇔ [ LB # blockedCycles C i t C i ) ≤ � C j ( � C j UB # accessCycles t C j ) ] C j ∈ ( Cores \{ C i } ) max � t Cj ∈ � Approx Cj ∀ C j � = C i : � wc ( � t C j , ( � � C j Approx C 1 , . . . , Approx C n )) ⇔ 1 P Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 11 / 13

  15. saarland university Lifting Properties for the Iterative Approach computer science P k to � Further lift properties � P C i k per core C i ∈ Cores According to formal criteria : ◮ Soundness criterion ◮ Monotonicity criterion Abstract traces of the other cores Example: further lifted versions of � P wc � wc ( � t C i , ( � � P C i Approx C 1 , . . . , Approx C n )) C i ( � ⇔ [ LB # blockedCycles C i t C i ) ≤ � C j ( � C j UB # accessCycles t C j ) ] C j ∈ ( Cores \{ C i } ) max � t Cj ∈ � Approx Cj ∀ C j � = C i : � wc ( � t C j , ( � � C j Approx C 1 , . . . , Approx C n )) ⇔ 1 P Michael Jacobs WCET Analyses for Multi-Core Processors August 20, 2014 11 / 13

Recommend


More recommend