evaluation of resource arbitration methods for multi...

23
Computer Science 12 Design Automation for Embedded Systems Evaluation of resource Evaluation of resource arbitration methods for arbitration methods for multi-core real-time systems multi-core real-time systems Timon Kelter, Tim Harde, Peter Marwedel Department of Computer Science TU Dortmund, Germany Heiko Falk Institute of Embedded Systems/ Real-Time Systems Ulm University, Germany Paper presentation at WCET Workshop 2013, Paris

Upload: dinhlien

Post on 21-Apr-2018

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

Computer Science 12Design Automation for Embedded Systems

Evaluation of resource Evaluation of resource

arbitration methods for arbitration methods for

multi-core real-time systemsmulti-core real-time systems

Timon Kelter, Tim Harde, Peter Marwedel

Department of Computer Science

TU Dortmund, Germany

Heiko Falk

Institute of Embedded Systems/Real-Time Systems

Ulm University, Germany

Paper presentation at WCET Workshop 2013, Paris

Page 2: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

2 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Predictability for Multicore-PlatformsPredictability for Multicore-PlatformsTiming influence of parallel task execution Major problem: Contention on shared resources

Option 1: Reduce sharing / Duplicate ressources

→ Wastes economic potential, some communic. is unavoidable Option 2: Provide deterministic and analyzable arbitration

→ Needs new analysis methods

Basic blockruntime

Memory access

→ Local bounds for arbitration delay of individual accesses

Page 3: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

3 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Predictability for Multicore-PlatformsPredictability for Multicore-PlatformsTiming influence of parallel task execution Major problem: Contention on shared resources

Option 1: Reduce sharing / Duplicate ressources

→ Wastes economic potential, some communic. is unavoidable Option 2: Provide deterministic and analyzable arbitration

→ Needs new analysis methods

Basic blockruntime

Memory access

Arbitrationdelay

→ Local bounds for arbitration delay of individual accesses

Page 4: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

4 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

OutlineOutline

1) System model2) Arbitration methods

3) Analysis framework4) Benchmark Setup5) Evaluation

6) Summary

Page 5: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

5 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

System modelSystem model

Core 1ARM7TDMI Core

I-SPM

D-SPM I-Cache D-Cache

Bridge

Shared bus with configurable arbitration

D-RAM(Uncached)

L2 D-Cache

BootROM

D-RAM(Cached)

L2 I-Cache

I-RAM(Cached)

I-RAM(Uncached)

Implemented inCoMET/Virtualizer [8]

→ Flexible experi-mentation platform

Core NARM7TDMI Core

I-SPM

D-SPM I-Cache D-Cache

Bridge

Page 6: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

6 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Bus arbitration methodsBus arbitration methods

„Classic“ methods (Utilization) Fixed Priority (PRIO)

Priority value for each core (non-preemtable access)

Fair (Round-Robin) (FAIR) Time-triggered methods (Predictability)

Time-Division Multiple Access (TDMA) Slots of length , owner core for each slot

Priority Division (PD) Slots of length , priorities for core in slot

p i i

n l o j j

n l p ij i j

o1=1 o2=2 o3=3 o4=4

p11=max p22=max p33=max p44=max

→ Comparison of achieveable– WCET– ACET– Bus Utilization

Page 7: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

7 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Bus arbitration methodsBus arbitration methods

„Classic“ methods (Utilization) Fixed Priority (PRIO)

Priority value for each core (non-preemtable access)

Fair (Round-Robin) (FAIR) Time-triggered methods (Predictability)

Time-Division Multiple Access (TDMA) Slots of length , owner core for each slot

Priority Division (PD) Slots of length , priorities for core in slot

p i i

n l o j j

n l p ij i j

o1=1 o2=2 o3=3 o4=4

p11=max p22=max p33=max p44=max

Page 8: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

8 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Cor

e 1

Memory hierarchy analysis optionsMemory hierarchy analysis options

Employed approach: Generalized combined analysis ([4], aiT)

CFG Reconstruction

Combined Microarchitectural Analysis

Path Analysis

Value Analysis

Per-core CFG-based data flow analysis

Memory accesses are handled by hierarchical state update

Each stage may forward or handle (e.g. guaranteed cache hit)

Timing information is exchanged along with general access information

PipelineState

Update

L1 Cache State Update

Shared Bus State Update

L2 Cache State Update

L2 C

ache

Sta

te M

erge

Page 9: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

9 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Shared Bus AnalysisShared Bus Analysis

What is the “state” for the shared bus? → Approximation of the current position in the cyclic schedule

Position: Offset from the beginning of the last TDMA period

Abstraction: Set of offsets

Core 1 Slot Core 2 Slot Core 3 Slot Core 4 Slot

x x+1⋅l x+2⋅l x+3⋅l x+4⋅l

……

Time

0 1⋅l 2⋅l 3⋅l 0

Abstract Bus State

Offsets

Obin⊆{0, ... , n⋅l−1} Ob

outtransfer

Page 10: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

10 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Shared Bus Analysis (TDMA & PD)Shared Bus Analysis (TDMA & PD)

Transfer function for the shared bus state? Pipeline analysis passes in access with spent time since Forwarding to next stages yields post-bus runtime

ai T ai ai−1

ΦcTDMA

(o)={{o } if o∈ωmust

{⌊ωmust ⌋} else

D

Obi+1

= ∪o∈Ob

i , t∈T ai

{Φc(o+t mod n⋅l )}⊕D

ΦcPD

(o)={{o }⊕{0,… ,mmax−1} if o∈ωmust

φc (ω(o)→ωmust)∪{⌊ωmust ⌋} if ∃ωmust

∅ else

grant immediately

Page 11: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

11 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Shared Bus Analysis (TDMA & PD)Shared Bus Analysis (TDMA & PD)

Transfer function for the shared bus state? Pipeline analysis passes in access with spent time since Forwarding to next stages yields post-bus runtime

ai T ai ai−1

ΦcTDMA

(o)={{o } if o∈ωmust

{⌊ωmust ⌋} else

D

Obi+1

= ∪o∈Ob

i , t∈T ai

{Φc(o+t mod n⋅l )}⊕D

ΦcPD

(o)={{o }⊕{0,… ,mmax−1} if o∈ωmust

φc (ω(o)→ωmust)∪{⌊ωmust ⌋} if ∃ωmust

∅ else

wait for grant window begin

Page 12: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

12 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Shared Bus Analysis (TDMA & PD)Shared Bus Analysis (TDMA & PD)

Transfer function for the shared bus state? Pipeline analysis passes in access with spent time since Forwarding to next stages yields post-bus runtime

ai T ai ai−1

ΦcTDMA

(o)={{o } if o∈ωmust

{⌊ωmust ⌋} else

D

Obi+1

= ∪o∈Ob

i , t∈T ai

{Φc(o+t mod n⋅l )}⊕D

ΦcPD

(o)={{o }⊕{0,… ,mmax−1} if o∈ωmust

φc (ω(o)→ωmust)∪{⌊ωmust ⌋} if ∃ωmust

∅ else

Grant, with possible lower prio access

Page 13: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

13 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Shared Bus Analysis (TDMA & PD)Shared Bus Analysis (TDMA & PD)

Transfer function for the shared bus state? Pipeline analysis passes in access with spent time since Forwarding to next stages yields post-bus runtime

ai T ai ai−1

ΦcTDMA

(o)={{o } if o∈ωmust

{⌊ωmust ⌋} else

D

Obi+1

= ∪o∈Ob

i , t∈T ai

{Φc(o+t mod n⋅l )}⊕D

ΦcPD

(o)={{o }⊕{0,… ,mmax−1} if o∈ωmust

φc (ω(o)→ωmust)∪{⌊ωmust ⌋} if ∃ωmust

∅ else

Wait for “own” slot, collect “may”-slot offsets

Page 14: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

14 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Shared Bus Analysis (TDMA & PD)Shared Bus Analysis (TDMA & PD)

Transfer function for the shared bus state? Pipeline analysis passes in access with spent time since Forwarding to next stages yields post-bus runtime

ai T ai ai−1

ΦcTDMA

(o)={{o } if o∈ωmust

{⌊ωmust ⌋} else

D

Obi+1

= ∪o∈Ob

i , t∈T ai

{Φc(o+t mod n⋅l )}⊕D

ΦcPD

(o)={{o }⊕{0,… ,mmax−1} if o∈ωmust

φc (ω(o)→ωmust)∪{⌊ωmust ⌋} if ∃ωmust

∅ else

No “own” slot exists → Not boundable

Page 15: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

15 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Analogous to PD cases

Pessimistic Analyses (PRIO & FAIR)Pessimistic Analyses (PRIO & FAIR)

Local bounds for PRIO & FAIR:Need all parallel access interleavings (parallel analysis)

→ Revert to worst-case assumptions in per-core analysis

Arbitration delay bound function analogous to → Transfer & Meet (Set union) functions for DFA

ΦcPRIO

(o)={{o }⊕{0,… ,mmax−1} if c is max prio core∅ else

ΦcFAIR

(o)={o }⊕{0,… ,(n−1)⋅mmax−1 }

Φc

Page 16: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

16 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Single access from every other core at max

Pessimistic Analyses (PRIO & FAIR)Pessimistic Analyses (PRIO & FAIR)

Local bounds for PRIO & FAIR:Need all parallel access interleavings (parallel analysis)

→ Revert to worst-case assumptions in per-core analysis

Arbitration delay bound function analogous to → Transfer & Meet (Set union) functions for DFA

ΦcPRIO

(o)={{o }⊕{0,… ,mmax−1} if c is max prio core∅ else

ΦcFAIR

(o)={o }⊕{0,… ,(n−1)⋅mmax−1 }

Φc

Page 17: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

17 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Benchmarking MethodBenchmarking Method

Standard multicore benchmarks (SPEC,EEMBC,BDTI): Unpredictable behavior of req. OS/middleware software stack

Aggregate known single-thread benchmarks (MRTC / UTDSP / MiBench / MediaBench / DSPStone, 110 benchmarks in total) Allocate single-thread task to each single-thread core

How to form balanced task sets?

Parametrization: Minimal slot length Memory access times: 1 cycle (L1), 3 cycles (L2) Map (only) global variables to Shared Memory (→ IO-Devices)

l=mmax

Page 18: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

18 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

WCET Evaluation (Maximum Overestimation)WCET Evaluation (Maximum Overestimation)

Higher overestimationdue to accesses inother cores' slots

Linear increase due to worst-case

assumption

Page 19: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

19 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

ACET Evaluation (Baseline: 1-Core, FAIR)ACET Evaluation (Baseline: 1-Core, FAIR)

Extremely low overhead forFAIR / PRIO

Inacceptable overhead for rising

core numbers

Scales betterthan TDMA

Page 20: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

20 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Total Bus Utilization ResultsTotal Bus Utilization Results

FAIR/PRIO:Almost

linear scaling

Less steepincrease

for PD

TDMA: Approximatively

constant!

Page 21: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

21 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

Summary / Future WorkSummary / Future Work

Combined state-based analysis framework for shared resources Evaluation of arbitration policies for a configurable multi-core ARM

platform TDMA incurs serious ACET overhead with rising core count PD can balance WCET, ACET and resource utilization FAIR/PRIO provide unmatched utilization

Extensions: Optimization of TDMA / PD schedules Extension of state-based approach to true parallel analysis Analysis of dependent / cooperative threads

Page 22: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

22 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

ReferencesReferences

[1] Hermann Kopetz and Günther Bauer. The time-triggered architecture. In Proceedings of the IEEE, 91(1):112–126, 2003.

[2] Christoph Cullmann, Christian Ferdinand, Gernot Gebhard, Daniel Grund, Claire Maiza, Jan Reineke, Benoît Triquet, Simon Wegener, and Reinhard Wilhelm. Predictability Considerations in the Design of Multi-Core Embedded Systems. Ingénieurs de l’Automobile, 807:36–42, September 2010.

[3] Benjamin Lesage, Damien Hardy, Isabelle Puaut: WCET Analysis of Multi-Level Set-Associative Data Caches. In Proceedings of WCET Workshop 2009

[4] Marc Langenbach, Stephan Thesing, and Reinhold Heckmann. 2002. Pipeline Modeling for Timing Analysis. In Proceedings of the 9th International Symposium on Static Analysis (SAS '02), Manuel V. Hermenegildo and German Puebla (Eds.). Springer-Verlag, London, UK, 294-309.

Page 23: Evaluation of resource arbitration methods for multi …wcet2013.imag.fr/Slides/slides_kelter.pdfEvaluation of resource arbitration methods for ... Unpredictable behavior of req. OS/middleware

23 Kelter, Harde, Marwedel and Falk: “Evaluation of resource arbitration methods […]“

Computer Science 12Design Automation for Embedded Systems

ReferencesReferences

[5] Timon Kelter, Heiko Falk, Peter Marwedel, Sudipta Chattopadhyay, Abhik Roychoudhury: Bus-Aware Multicore WCET Analysis through TDMA Offset Bounds. In Proceedings of ECRTS 2011: 3-12

[6] Sudipta Chattopadhyay, Lee Kee Chong, Abhik Roychoudhury, Timon Kelter, Peter Marwedel, Heiko Falk: A Unified WCET Analysis Framework for Multi-core Platforms. IEEE Real-Time and Embedded Technology and Applications Symposium 2012: 99-108

[7] Mingsong Lv, Wang Yi, Nan Guan and Ge Yu: Combining Abstract Interpretation with Model Checking for Timing Analysis of Multicore Software. In Proceedings of RTSS. 2010, 339-349.

[8] Synopsys Inc. CoMET system engineering IDE. htttp://www.synopsys.com/ Systems/VirtualPrototyping/Pages/CoMET-METeor.aspx