Refinement-based Exact Response-Time Analysis Martin Stigge Uppsala - - PowerPoint PPT Presentation

refinement based exact response time analysis
SMART_READER_LITE
LIVE PREVIEW

Refinement-based Exact Response-Time Analysis Martin Stigge Uppsala - - PowerPoint PPT Presentation

Refinement-based Exact Response-Time Analysis Martin Stigge Uppsala University, Sweden Joint work with Nan Guan and Wang Yi Response-Time Analysis Response time Useful for Schedulability analysis Jitters in larger systems . . .


slide-1
SLIDE 1

Refinement-based Exact Response-Time Analysis

Martin Stigge

Uppsala University, Sweden

Joint work with Nan Guan and Wang Yi

slide-2
SLIDE 2

Response-Time Analysis

Response time

  • Useful for
  • Schedulability analysis
  • Jitters in larger systems
  • . . .
  • Standard RTA for static priorities + periodic/sporadic tasks

Rj = Cj +

  • i∈hp(j)

Rj Ti

  • Ci

Martin Stigge Refinement-based Response-Time Analysis 2

slide-3
SLIDE 3

Not everything is periodic!

Martin Stigge Refinement-based Response-Time Analysis 3

slide-4
SLIDE 4

The Digraph Real-Time (DRT) Task Model

(S. et al., RTAS 2011)

  • Generalizes periodic, sporadic, GMF, RRT, . . .
  • Directed graph for each task
  • Vertices v: jobs to be released (with WCET and deadline)
  • Edges (u, v): minimum inter-release delays p(u, v)

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

Martin Stigge Refinement-based Response-Time Analysis 4

slide-5
SLIDE 5

DRT: Semantics

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

Martin Stigge Refinement-based Response-Time Analysis 5

slide-6
SLIDE 6

DRT: Semantics

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10 Path π = (v4)

10

5 10 t

Martin Stigge Refinement-based Response-Time Analysis 5

slide-7
SLIDE 7

DRT: Semantics

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10 Path π = (v4, v2)

10 20 28

20 5 10 1 8 t

Martin Stigge Refinement-based Response-Time Analysis 5

slide-8
SLIDE 8

DRT: Semantics

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10 Path π = (v4, v2, v3)

10 20 28

20

37 45

15 5 10 1 8 3 8 ... t

Martin Stigge Refinement-based Response-Time Analysis 5

slide-9
SLIDE 9

Response-Time Analysis for DRT

Martin Stigge Refinement-based Response-Time Analysis 6

slide-10
SLIDE 10

Problem: Path Combinations

v1 v2 v3 v4 v5 u1 u2 u3

↓ Response time

v1 v2 v3 v4 v5 u1 u2 u3

↓ Response time

Martin Stigge Refinement-based Response-Time Analysis 7

slide-11
SLIDE 11

Problem: Path Combinations

v1 v2 v3 v4 v5 u1 u2 u3

↓ Response time

v1 v2 v3 v4 v5 u1 u2 u3

↓ Response time Combinatorial Explosion!

Martin Stigge Refinement-based Response-Time Analysis 7

slide-12
SLIDE 12

Fahrplan

Martin Stigge Refinement-based Response-Time Analysis 8

slide-13
SLIDE 13

Fahrplan

Martin Stigge Refinement-based Response-Time Analysis 8

slide-14
SLIDE 14

Step 1: From Paths to Functions

Martin Stigge Refinement-based Response-Time Analysis 9

slide-15
SLIDE 15

Step 1: From Paths to Functions

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

rf (t) t

5 10 15 20 25 30 35 40 2 4 6 8 10

rf (v4,v2,v3)

Martin Stigge Refinement-based Response-Time Analysis 10

slide-16
SLIDE 16

Request Functions

Useful for deriving response time: RSP(v, ¯ rf ) = min

  • t 0 | e(v) +
  • T ′>T

rf (T ′)(t) t

  • RSP(v) =

max

¯ rf ∈RF(τ)RSP(v, ¯

rf )

Martin Stigge Refinement-based Response-Time Analysis 11

slide-17
SLIDE 17

Request Functions

Useful for deriving response time: RSP(v, ¯ rf ) = min

  • t 0 | e(v) +
  • T ′>T

rf (T ′)(t) t

  • RSP(v) =

max

¯ rf ∈RF(τ)RSP(v, ¯

rf ) Combinatorial Explosion?!

Martin Stigge Refinement-based Response-Time Analysis 11

slide-18
SLIDE 18

Step 2: Abstraction Trees

Martin Stigge Refinement-based Response-Time Analysis 12

slide-19
SLIDE 19

Abstract Request Functions

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

rf (t) t

5 10 15 20 25 30 35 40 2 4 6 8 10

rf (v4,v2,v3)

Martin Stigge Refinement-based Response-Time Analysis 13

slide-20
SLIDE 20

Abstract Request Functions

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

rf (t) t

5 10 15 20 25 30 35 40 2 4 6 8 10

rf (v4,v2,v3) rf (v5,v4,v2)

Martin Stigge Refinement-based Response-Time Analysis 13

slide-21
SLIDE 21

Abstract Request Functions

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

rf (t) t

5 10 15 20 25 30 35 40 2 4 6 8 10

rf (v4,v2,v3) rf (v5,v4,v2) arf

Martin Stigge Refinement-based Response-Time Analysis 13

slide-22
SLIDE 22

Abstraction Tree

rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:

  • Leaves are concrete rf
  • Each node: maximum function of child nodes
  • Root is maximum of all rf

Martin Stigge Refinement-based Response-Time Analysis 14

slide-23
SLIDE 23

Abstraction Tree

rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:

  • Leaves are concrete rf
  • Each node: maximum function of child nodes
  • Root is maximum of all rf

Martin Stigge Refinement-based Response-Time Analysis 14

slide-24
SLIDE 24

Abstraction Tree

rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:

  • Leaves are concrete rf
  • Each node: maximum function of child nodes
  • Root is maximum of all rf

Martin Stigge Refinement-based Response-Time Analysis 14

slide-25
SLIDE 25

Abstraction Tree

rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:

  • Leaves are concrete rf
  • Each node: maximum function of child nodes
  • Root is maximum of all rf

Martin Stigge Refinement-based Response-Time Analysis 14

slide-26
SLIDE 26

Abstraction Tree

rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:

  • Leaves are concrete rf
  • Each node: maximum function of child nodes
  • Root is maximum of all rf

Martin Stigge Refinement-based Response-Time Analysis 14

slide-27
SLIDE 27

Abstraction Tree

rf 1 rf 2 rf 3 rf 4 rf 5 Define an abstraction tree per task:

  • Leaves are concrete rf
  • Each node: maximum function of child nodes
  • Root is maximum of all rf

Allows stepwise refinement!

Martin Stigge Refinement-based Response-Time Analysis 14

slide-28
SLIDE 28

Step 3: Refinement Algorithm

Martin Stigge Refinement-based Response-Time Analysis 15

slide-29
SLIDE 29

Step 3: Refinement Algorithm

¯ rf = (rf (T1), rf (T2), rf (T3)) Tuple: Store

Martin Stigge Refinement-based Response-Time Analysis 16

slide-30
SLIDE 30

Step 3: Refinement Algorithm

¯ rf = (rf (T1), rf (T2), rf (T3)) Tuple: ↓ RSP(v, ¯ rf ) = 23 Response time: Store (23, ¯ rf 1)

Using: RSP(v, ¯ rf ) = min

  • t 0 | e(v) +

T ′>T rf (T ′)(t) t

  • Martin Stigge

Refinement-based Response-Time Analysis 16

slide-31
SLIDE 31

Step 3: Refinement Algorithm

Store (23, ¯ rf 1)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-32
SLIDE 32

Step 3: Refinement Algorithm

¯ rf 1 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 2 = (rf ′(T1), rf (T2), rf (T3)) ¯ rf 3 = (rf ′′(T1), rf (T2), rf (T3)) Step: In T1: rf ′ rf ′′ rf Store (23, ¯ rf 1)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-33
SLIDE 33

Step 3: Refinement Algorithm

¯ rf 1 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 2 = (rf ′(T1), rf (T2), rf (T3)) ¯ rf 3 = (rf ′′(T1), rf (T2), rf (T3)) Step: → 18 → 21 In T1: rf ′ rf ′′ rf Store (23, ¯ rf 1)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-34
SLIDE 34

Step 3: Refinement Algorithm

¯ rf 1 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 2 = (rf ′(T1), rf (T2), rf (T3)) ¯ rf 3 = (rf ′′(T1), rf (T2), rf (T3)) Step: → 18 → 21 In T1: rf ′ rf ′′ rf Store (23, ¯ rf 1) (21, ¯ rf 2) (18, ¯ rf 3)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-35
SLIDE 35

Step 3: Refinement Algorithm

Store (21, ¯ rf 2) (18, ¯ rf 3)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-36
SLIDE 36

Step 3: Refinement Algorithm

Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) Store (21, ¯ rf 2) (18, ¯ rf 3)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-37
SLIDE 37

Step 3: Refinement Algorithm

Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 4 = (rf (T1), rf ′(T2), rf (T3)) ¯ rf 5 = (rf (T1), rf ′′(T2), rf (T3)) In T2: rf ′ rf ′′ rf Store (21, ¯ rf 2) (18, ¯ rf 3)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-38
SLIDE 38

Step 3: Refinement Algorithm

Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 4 = (rf (T1), rf ′(T2), rf (T3)) ¯ rf 5 = (rf (T1), rf ′′(T2), rf (T3)) → 20 → 17 In T2: rf ′ rf ′′ rf Store (21, ¯ rf 2) (18, ¯ rf 3)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-39
SLIDE 39

Step 3: Refinement Algorithm

Step: ¯ rf 2 = (rf (T1), rf (T2), rf (T3)) ↓ ¯ rf 4 = (rf (T1), rf ′(T2), rf (T3)) ¯ rf 5 = (rf (T1), rf ′′(T2), rf (T3)) → 20 → 17 In T2: rf ′ rf ′′ rf Store (21, ¯ rf 2) (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5)

Martin Stigge Refinement-based Response-Time Analysis 16

slide-40
SLIDE 40

Step 3: Refinement Algorithm

Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . .

Martin Stigge Refinement-based Response-Time Analysis 16

slide-41
SLIDE 41

Step 3: Refinement Algorithm

Initialization:

  • Most abstract functions

Each iteration:

  • Replace functions along abstraction trees

Termination:

  • All functions are concrete

Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . .

Martin Stigge Refinement-based Response-Time Analysis 16

slide-42
SLIDE 42

Step 3: Refinement Algorithm

Initialization:

  • Most abstract functions

Each iteration:

  • Replace functions along abstraction trees

Termination:

  • All functions are concrete

Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . .

Martin Stigge Refinement-based Response-Time Analysis 16

slide-43
SLIDE 43

Step 3: Refinement Algorithm

Initialization:

  • Most abstract functions

Each iteration:

  • Replace functions along abstraction trees

Termination:

  • All functions are concrete

Store (20, ¯ rf 4) (18, ¯ rf 3) (17, ¯ rf 5) . . . Pluggable Path Abstractions!

Martin Stigge Refinement-based Response-Time Analysis 16

slide-44
SLIDE 44

Path Abstractions: SP + EDF

Martin Stigge Refinement-based Response-Time Analysis 17

slide-45
SLIDE 45

Path Abstractions: Static Priorities

v1

2, 5

v2

1, 8

v3

3, 8

v4

5, 10

v5

1, 5 10 15 20 20 20 11 10

rf (t) t

5 10 15 20 25 30 35 40 2 4 6 8 10

rf (v4,v2,v3) rf π(t) := max

  • e(π′) | π′ is prefix of π and p(π′) < t
  • Martin Stigge

Refinement-based Response-Time Analysis 18

slide-46
SLIDE 46

Path Abstractions: EDF

T2 v T1 v

Martin Stigge Refinement-based Response-Time Analysis 19

slide-47
SLIDE 47

Path Abstractions: EDF

T2 v t′ T1 v t wf π(t, t′) := max{e(π′) | π′ is prefix of π, p(π′) < t and d(π′) t′}.

Martin Stigge Refinement-based Response-Time Analysis 19

slide-48
SLIDE 48

Evaluation

Martin Stigge Refinement-based Response-Time Analysis 20

slide-49
SLIDE 49

Evaluation: Run-time Scaling

0.0 0.1 0.2 0.3 0.4 Task Set Utilization 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Analysis Run-Time (seconds)

SP

0.0 0.1 0.2 0.3 0.4 0.5 Task Set Utilization 20 40 60 80 100 Analysis Run-Time (seconds)

EDF

10-20 tasks with 5-10 vertices each, branching degree 1-3 (Busy window extension for EDF.)

Martin Stigge Refinement-based Response-Time Analysis 21

slide-50
SLIDE 50

Evaluation: Precision Improvement

0% 20% 40% 60% 80% 100% Fraction of improved RT estimates 5% 10% 15% 20% Average improvement

Type A Type B Type A: lower parameter variance Type B: higher parameter variance

Martin Stigge Refinement-based Response-Time Analysis 22

slide-51
SLIDE 51

Summary

  • Exact solution for NP-hard problem
  • Efficient method
  • Iterative refinement
  • Pluggable path abstractions
  • Static Priorities
  • EDF
  • Flexible
  • Ongoing work:
  • Apply to other problems

rf 1 rf 2 rf 5 rf 3 rf 4

Martin Stigge Refinement-based Response-Time Analysis 23

slide-52
SLIDE 52

Q & A Thanks!

Martin Stigge Refinement-based Response-Time Analysis 24