real-time workload models with e cient analysis · the digraph real-time (drt) task model adaptive...

135
Real-Time Workload Models with Efficient Analysis Advanced Course, 3 Lectures, September 2014 Martin Stigge Uppsala University, Sweden

Upload: others

Post on 11-Aug-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Real-Time Workload Models with Efficient AnalysisAdvanced Course, 3 Lectures, September 2014

Martin Stigge

Uppsala University, Sweden

Page 2: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 2

Page 3: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 2

Page 4: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Problem Overview

Workload Model

Task A

Task B

Task C

DRT

High priority

A1

A2

A3

A4

Medium priority

B1

B2

B3

Low priorityC

Scheduler Model

EDF/Static Prio/...

Task At

Task Bt

Feasible? Schedulable? Response times?

Our Setting:• DRT tasks

• Static Priorities

• Precise Test

Martin Stigge Workload Models + Analysis 3

Page 5: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Liu and Layland (L&L) Task Model(Liu and Layland, 1973)

• Tasks are periodic• Job WCET e• Period p (implicit deadline)

� ;

(e, p)e e

tp p

...

• Advantages: Well-known model; efficient schedulability tests

• Disadvantage: Very limited expressiveness

Martin Stigge Workload Models + Analysis 4

Page 6: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

A Hierarchy of Models

Liu & Layland(e, d = p)

efficient

Sch

edu

lab

ility

An

alys

is

difficult

low

Exp

ress

iven

ess

high

Martin Stigge Workload Models + Analysis 5

Page 7: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Sporadic Task Model(Mok, 1983)

• Deadlines 6= periods; releases sporadic

• Each tasks defined by:• Job WCET e• Relative deadline d• Minimum inter-release delay p

� ;

(e, d , p)e e

t6 p 6 p

d d...

Martin Stigge Workload Models + Analysis 6

Page 8: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The General Multiframe (GMF) Task Model

• Behavior is not always periodic

Frame 0 Frame 1 Frame 2 Frame 3 Frame 0

t

• Task is split into frames, each with own• Execution time e(j)

• Inter-release separation p(j)

• Deadline d (j) for the job

Martin Stigge Workload Models + Analysis 7

Page 9: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The General Multiframe (GMF) Task Model

• Behavior is not always periodic

Frame 0 Frame 1 Frame 2 Frame 3 Frame 0

t

• Task is split into frames, each with own• Execution time e(j)

• Inter-release separation p(j)

• Deadline d (j) for the job

Martin Stigge Workload Models + Analysis 7

Page 10: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The General Multiframe (GMF) Task Model (cont.)(Baruah et al., 1999)

• Tasks cycle through job types• Vector for WCET (e(1), . . . , e(n))• Vector for deadlines (d (1), . . . , d (n))• Vector for minimum inter-release delays (p(1), . . . , p(n))

J1

J2

J3

J4

J5

p(1)p(2)

p(3)

p(4)p(5)

;e(1) e(2)

t

6 p(1) 6 p(2)

d (1) d (2)

...

Martin Stigge Workload Models + Analysis 8

Page 11: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

A Hierarchy of Models

Liu & Layland(e, d = p)

sporadic(e, d , p)

multiframe(ei , d = p)

generalized multiframe (GMF)(ei , di , pi )

efficient

Sch

edu

lab

ility

An

alys

is

difficult

low

Exp

ress

iven

ess

high

Martin Stigge Workload Models + Analysis 9

Page 12: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Non-Cyclic GMF Task Model(Moyo et al., 2010)

• Frame order unknown a priori

• Syntax similar to GMF:• Vector for WCET (e(1), . . . , e(n))• Vector for deadlines (d (1), . . . , d (n))• Vector for minimum inter-release delays (p(1), . . . , p(n))

J1

J2

J3

J4

J5

;e(1) e(2)

t

6 p(1) 6 p(2)

d (1) d (2)

...

Martin Stigge Workload Models + Analysis 10

Page 13: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Recurring Branching (RB) Task Model(Baruah, 1998)

• Introduces branching structures

• Tree for tasks• Vertices J: jobs to be released (with WCET and deadline)• Edges (Ji , Jj): minimum inter-release delays p(Ji , Jj)• General period parameter P

J1

J2

J3

J4

J5

J6

Period P = 57

Martin Stigge Workload Models + Analysis 11

Page 14: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Recurring Branching (RB) Task Model(Baruah, 1998)

• Introduces branching structures

• Tree for tasks• Vertices J: jobs to be released (with WCET and deadline)• Edges (Ji , Jj): minimum inter-release delays p(Ji , Jj)• General period parameter P

J1

J2

J3

J4

J5

J6

Period P = 57

Martin Stigge Workload Models + Analysis 11

Page 15: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Recurring Real-Time (RRT) Task Model(Baruah, 1998)

• Compact Branching representation

• Directed acyclic graph (DAG) for tasks• Vertices J: jobs to be released (with WCET and deadline)• Edges (Ji , Jj): minimum inter-release delays p(Ji , Jj)• General period parameter P

J1

J2

J3

J4

J5

Period P = 57

Martin Stigge Workload Models + Analysis 12

Page 16: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

A Hierarchy of Models

Liu & Layland(e, d = p)

sporadic(e, d , p)

multiframe(ei , d = p)

generalized multiframe (GMF)(ei , di , pi )

recurring branching (RB)(tree, p)

recurring RT (RRT)(DAG, p)

non-cyclic GMF(order arbitrary)

non-cyclic RRT(DAG, pi )

efficient

Sch

edu

lab

ility

An

alys

is

difficult

low

Exp

ress

iven

ess

high

Martin Stigge Workload Models + Analysis 13

Page 17: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Restrictions of RRT

• Tasks are still recurrent

• Always revisit source J1

• No cycles allowed!

J1

J2

J3

J4

J5

J6

• Consequences:

• No local loops• Not compositional

(for modes etc.)

Martin Stigge Workload Models + Analysis 14

Page 18: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Restrictions of RRT

• Tasks are still recurrent

• Always revisit source J1

• No cycles allowed!

J1

J2

J3

J4

J5

J6

• Consequences:

• No local loops• Not compositional

(for modes etc.)

Martin Stigge Workload Models + Analysis 14

Page 19: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Restrictions of RRT

• Tasks are still recurrent

• Always revisit source J1

• No cycles allowed!

J1

J2

J3

J4

J5

J6

• Consequences:

• No local loops• Not compositional

(for modes etc.)

Martin Stigge Workload Models + Analysis 14

Page 20: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

The Digraph Real-Time (DRT) Task Model(S. et al., 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 Workload Models + Analysis 15

Page 21: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)Path π = (v4, v2)Path π = (v4, v2, v3)

0 10 20 28

20

35 43

15

5

10

1

8

3

8...

t

Martin Stigge Workload Models + Analysis 16

Page 22: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

Path π = (v4, v2)Path π = (v4, v2, v3)

0 10

20 28

20

35 43

15

5

10

1

8

3

8...

t

Martin Stigge Workload Models + Analysis 16

Page 23: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

Path π = (v4, v2)

Path π = (v4, v2, v3)

0 10 20 28

20

35 43

15

5

10

1

8

3

8...

t

Martin Stigge Workload Models + Analysis 16

Page 24: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)Path π = (v4, v2)

Path π = (v4, v2, v3)

0 10 20 28

20

35 43

15

5

10

1

8

3

8...

t

Martin Stigge Workload Models + Analysis 16

Page 25: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

A Hierarchy of Models

Liu & Layland(e, d = p)

sporadic(e, d , p)

multiframe(ei , d = p)

generalized multiframe (GMF)(ei , di , pi )

recurring branching (RB)(tree, p)

recurring RT (RRT)(DAG, p)

non-cyclic GMF(order arbitrary)

non-cyclic RRT(DAG, pi )

Digraph (DRT)(arbitrary graph)

efficient

Sch

edu

lab

ility

An

alys

is

difficult

low

Exp

ress

iven

ess

high

Martin Stigge Workload Models + Analysis 17

Page 26: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

A Hierarchy of Models

Liu & Layland(e, d = p)

sporadic(e, d , p)

multiframe(ei , d = p)

generalized multiframe (GMF)(ei , di , pi )

recurring branching (RB)(tree, p)

recurring RT (RRT)(DAG, p)

non-cyclic GMF(order arbitrary)

non-cyclic RRT(DAG, pi )

Digraph (DRT)(arbitrary graph)

efficient

Sch

edu

lab

ility

An

alys

is

difficult

low

Exp

ress

iven

ess

high

Strongly (co)NP-hard

Pseudo-Polynomial

Martin Stigge Workload Models + Analysis 17

Page 27: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Extended DRT (EDRT)

• Extends DRT with global delay constraints

• 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)• k global constraints (u, v , γ)

v1

v2

v3

v4

v5

52

23

72

2

9

6

Theorem (S. et al., 2011)

For k-EDRT task systems with bounded utilization, feasibility is

1 decidable in pseudo-polynomial time if k is constant, and

2 strongly coNP-hard in general.

Martin Stigge Workload Models + Analysis 18

Page 28: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Extended DRT (EDRT)

• Extends DRT with global delay constraints

• 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)• k global constraints (u, v , γ)

v1

v2

v3

v4

v5

52

23

72

2

9

6

Theorem (S. et al., 2011)

For k-EDRT task systems with bounded utilization, feasibility is

1 decidable in pseudo-polynomial time if k is constant, and

2 strongly coNP-hard in general.

Martin Stigge Workload Models + Analysis 18

Page 29: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

A Hierarchy of Models

Liu & Layland(e, d = p)

sporadic(e, d , p)

multiframe(ei , d = p)

generalized multiframe (GMF)(ei , di , pi )

recurring branching (RB)(tree, p)

recurring RT (RRT)(DAG, p)

non-cyclic GMF(order arbitrary)

non-cyclic RRT(DAG, pi )

Digraph (DRT)(arbitrary graph)

k-EDRT(k constraints)

Extended DRT (EDRT)(constraints)

efficient

Sch

edu

lab

ility

An

alys

is

difficult

low

Exp

ress

iven

ess

high

Strongly (co)NP-hard

Pseudo-Polynomial

Martin Stigge Workload Models + Analysis 19

Page 30: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

DRT Examples

v

〈e, d〉

p

Sporadic Task

v

〈e, p〉

p

Sporadic Task(implicit deadline)

u

〈e1, d1〉

v

〈e2, p2〉

p1 p2

p1

p2

Sporadic Taskwith 2 modes

v1

v2

v3

v4

v5

GMF Task

v1

v2

v3 v4

v5

Branching Task

Martin Stigge Workload Models + Analysis 20

Page 31: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

DRT Examples

v

〈e, d〉

p

Sporadic Task

v

〈e, p〉

p

Sporadic Task(implicit deadline)

u

〈e1, d1〉

v

〈e2, p2〉

p1 p2

p1

p2

Sporadic Taskwith 2 modes

v1

v2

v3

v4

v5

GMF Task

v1

v2

v3 v4

v5

Branching Task

Martin Stigge Workload Models + Analysis 20

Page 32: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

DRT Examples

v

〈e, d〉

p

Sporadic Task

v

〈e, p〉

p

Sporadic Task(implicit deadline)

u

〈e1, d1〉

v

〈e2, p2〉

p1 p2

p1

p2

Sporadic Taskwith 2 modes

v1

v2

v3

v4

v5

GMF Task

v1

v2

v3 v4

v5

Branching Task

Martin Stigge Workload Models + Analysis 20

Page 33: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

DRT Examples

v

〈e, d〉

p

Sporadic Task

v

〈e, p〉

p

Sporadic Task(implicit deadline)

u

〈e1, d1〉

v

〈e2, p2〉

p1 p2

p1

p2

Sporadic Taskwith 2 modes

v1

v2

v3

v4

v5

GMF Task

v1

v2

v3 v4

v5

Branching Task

Martin Stigge Workload Models + Analysis 20

Page 34: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

DRT Examples

v

〈e, d〉

p

Sporadic Task

v

〈e, p〉

p

Sporadic Task(implicit deadline)

u

〈e1, d1〉

v

〈e2, p2〉

p1 p2

p1

p2

Sporadic Taskwith 2 modes

v1

v2

v3

v4

v5

GMF Task

v1

v2

v3 v4

v5

Branching Task

Martin Stigge Workload Models + Analysis 20

Page 35: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Adaptive Variable-Rate (AVR) Tasks

• Rate-Adaptive Tasks (Buttazzo et al., DATE 2014)

• Variable Rate-dependent Behaviour (VRB) (Davis et al., RTAS 2014)

• Adaptive Variable-Rate (AVR) Tasks (Biondi et al., ECRTS 2014)

• . . .

(Biondi, ECRTS 2014)

Martin Stigge Workload Models + Analysis 21

Page 36: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

AVR Tasks: Execution Modes

(Biondi, ECRTS 2014)

Martin Stigge Workload Models + Analysis 22

Page 37: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

AVR Business

(This morning in Pisa)

Martin Stigge Workload Models + Analysis 23

Page 38: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 24

Page 39: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 24

Page 40: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Theorem

Theorem

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t

What is dbfT (t)? How to compute it?

Martin Stigge Workload Models + Analysis 25

Page 41: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Theorem

Theorem

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t

What is dbfT (t)? How to compute it?

Martin Stigge Workload Models + Analysis 25

Page 42: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand-Bound Functions

dbfT (t): Maximal demand in any window of size t

0 10 20 28 35 43

5 1 3...

t

43

Demand: 5 + 1 + 3 = 9

Martin Stigge Workload Models + Analysis 26

Page 43: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Test

Theorem (Feasibility Theorem)

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t∑dbfT (t)

t

1 How to calculate dbfT (t)?

2 How to check existence of violating t?

Martin Stigge Workload Models + Analysis 27

Page 44: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Test

Theorem (Feasibility Theorem)

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t∑dbfT (t)

t

t

1 How to calculate dbfT (t)?

2 How to check existence of violating t?

Martin Stigge Workload Models + Analysis 27

Page 45: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Test

Theorem (Feasibility Theorem)

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t∑dbfT (t)

t

t

1 How to calculate dbfT (t)?

2 How to check existence of violating t?

Martin Stigge Workload Models + Analysis 27

Page 46: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Test

Theorem (Feasibility Theorem)

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t∑dbfT (t)

t

t

1 How to calculate dbfT (t)?

2 How to check existence of violating t?

Martin Stigge Workload Models + Analysis 27

Page 47: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for Sporadic Tasks

Sporadic task T = (e, d , p)∑dbfT (t)

te

d p

dbfT (t) = max

{0,

⌊t − d

p+ 1

⌋· e}

Martin Stigge Workload Models + Analysis 28

Page 48: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for Sporadic Tasks

Sporadic task T = (e, d , p)∑dbfT (t)

te

d p

dbfT (t) = max

{0,

⌊t − d

p+ 1

⌋· e}

Martin Stigge Workload Models + Analysis 28

Page 49: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for DRT: From G (T ) to dbfT

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path Abstraction: Demand Pair

0 10 20 30 40 50 600369

12

dbfT (t)

t

〈9, 43〉

Martin Stigge Workload Models + Analysis 29

Page 50: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for DRT: From G (T ) to dbfT

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path Abstraction: Demand Pair

0 10 20 30 40 50 600369

12

dbfT (t)

t

〈9, 43〉

Martin Stigge Workload Models + Analysis 29

Page 51: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for DRT: From G (T ) to dbfT

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path Abstraction: Demand Pair

0 10 20 30 40 50 600369

12

dbfT (t)

t

〈9, 43〉

Martin Stigge Workload Models + Analysis 29

Page 52: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for DRT: From G (T ) to dbfT

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path Abstraction: Demand Pair

0 10 20 30 40 50 600369

12

dbfT (t)

t

〈9, 43〉

Martin Stigge Workload Models + Analysis 29

Page 53: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

dbf for DRT: From G (T ) to dbfT

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path Abstraction: Demand Pair

0 10 20 30 40 50 600369

12

dbfT (t)

t

〈9, 43〉

Martin Stigge Workload Models + Analysis 29

Page 54: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand Pairs

Formally:

• Given path π = (π0, . . . , πl)

• Execution demand: e(π) :=∑l

i=0 e(πi )

• Deadline: d(π) :=∑l−1

i=0 p(πi , πi+1) + d(πl)

• 〈e(π), d(π)〉 is a demand pair for π

dbfT (t) = max {e | 〈e, d〉 demand pair with d 6 t}

How to compute all demand pairs?

• Enumerate paths: Too expensive! (Exponential..)

• Better: Iteration using abstraction

Martin Stigge Workload Models + Analysis 30

Page 55: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand Pairs

Formally:

• Given path π = (π0, . . . , πl)

• Execution demand: e(π) :=∑l

i=0 e(πi )

• Deadline: d(π) :=∑l−1

i=0 p(πi , πi+1) + d(πl)

• 〈e(π), d(π)〉 is a demand pair for π

dbfT (t) = max {e | 〈e, d〉 demand pair with d 6 t}

How to compute all demand pairs?

• Enumerate paths: Too expensive! (Exponential..)

• Better: Iteration using abstraction

Martin Stigge Workload Models + Analysis 30

Page 56: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand Triples• Idea: Start with 0-paths (one vertex), extend stepwise• We need: Abstraction which

1 allows to extend paths,2 contains demand pair information,3 without visiting/storing all paths

• Idea: Demand triples• Execution demand e(π)• Deadline d(π)• Last vertex πl

• Demand triple 〈e(π), d(π), πl〉 is another abstraction!

v1〈2, 5〉

v2

〈1, 8〉v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path (v4)

; 〈5, 10, v4〉

Path (v4, v2)

; 〈6, 28, v2〉

Path (v4, v2, v3)

; 〈9, 43, v3〉

Martin Stigge Workload Models + Analysis 31

Page 57: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand Triples• Idea: Start with 0-paths (one vertex), extend stepwise• We need: Abstraction which

1 allows to extend paths,2 contains demand pair information,3 without visiting/storing all paths

• Idea: Demand triples• Execution demand e(π)• Deadline d(π)• Last vertex πl

• Demand triple 〈e(π), d(π), πl〉 is another abstraction!

v1〈2, 5〉

v2

〈1, 8〉v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path (v4)

; 〈5, 10, v4〉

Path (v4, v2)

; 〈6, 28, v2〉

Path (v4, v2, v3)

; 〈9, 43, v3〉

Martin Stigge Workload Models + Analysis 31

Page 58: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand Triples• Idea: Start with 0-paths (one vertex), extend stepwise• We need: Abstraction which

1 allows to extend paths,2 contains demand pair information,3 without visiting/storing all paths

• Idea: Demand triples• Execution demand e(π)• Deadline d(π)• Last vertex πl

• Demand triple 〈e(π), d(π), πl〉 is another abstraction!

v1〈2, 5〉

v2

〈1, 8〉v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path (v4)

; 〈5, 10, v4〉

Path (v4, v2)

; 〈6, 28, v2〉

Path (v4, v2, v3)

; 〈9, 43, v3〉

Martin Stigge Workload Models + Analysis 31

Page 59: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Demand Triples• Idea: Start with 0-paths (one vertex), extend stepwise• We need: Abstraction which

1 allows to extend paths,2 contains demand pair information,3 without visiting/storing all paths

• Idea: Demand triples• Execution demand e(π)• Deadline d(π)• Last vertex πl

• Demand triple 〈e(π), d(π), πl〉 is another abstraction!

v1〈2, 5〉

v2

〈1, 8〉v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

Path (v4)

; 〈5, 10, v4〉

Path (v4, v2)

; 〈6, 28, v2〉

Path (v4, v2, v3)

; 〈9, 43, v3〉

Martin Stigge Workload Models + Analysis 31

Page 60: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Iterative Procedure

• Create all demand triples up to some D:

1 Start with all 0-paths, i.e., 〈e(v), d(v), v〉 for all vertices v

2 Pick some stored demand triple 〈e, d , u〉3 Create new demand triple:

• Choose successor vertex v of u• e′ = e + e(v)• d ′ = d − d(u) + p(u, v) + d(v)• 〈e′, d ′, v〉 is new demand triple!

4 Store 〈e′, d ′, v〉 if• not stored yet, and• d ′ 6 D

5 Repeat from 2 until no change

• Efficient procedure!• Note: Actual paths never stored• Optimizations: Discard non-critical triples along the way

• Exercise: What’s dbfτi (26) for graph on previous slide?

Martin Stigge Workload Models + Analysis 32

Page 61: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 62: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 63: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 64: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

〈6, 30, v4〉〈6, 20, v4〉

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 65: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

〈6, 30, v4〉〈6, 20, v4〉

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 66: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 67: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 68: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 69: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 70: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 71: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 72: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Example

0 10 20 30 40 50 60 700

3

6

9

12

dbfT (t)

t

v1〈2, 5〉

v2

〈1, 8〉 v3 〈3, 8〉

v4 〈5, 10〉

v5

〈1, 5〉

10

15

20

20

20

11

10

D

Optimization: Discard dominated triples

(e, d , v) < (e ′, d ′, v) ⇐⇒ e > e ′ ∧ d 6 d ′

Martin Stigge Workload Models + Analysis 33

Page 73: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Test Revisited

Theorem (Feasibility Theorem)

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t∑dbfT (t)

t

t

1 How to calculate dbfT (t)?

2 How to check existence of violating t?

Martin Stigge Workload Models + Analysis 34

Page 74: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Feasibility Test Revisited

Theorem (Feasibility Theorem)

For a task set τ , the following three properties are equivalent.

1 Task set τ is feasible.

2 Task set τ is EDF schedulable.

3 The following condition holds: ∀t > 0 :∑

T∈τ dbfT (t) 6 t∑dbfT (t)

t

t

D

1 How to calculate dbfT (t)?

2 How to check existence of violating t?

Martin Stigge Workload Models + Analysis 34

Page 75: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Calculating the Bound

∑dbfT (t)

t

dbf(t)

t

D

Linear bou

nd for dbf(t)

• Linear bound for dbf(t)• Slope: Less than 1

• Intersection with t gives bound D

• Check only up to D

J1

J2

J3 J4

J5

J6

J7

J8

“Most dense” cycle

dbf(t) 6 t · U(τ) + esum

Martin Stigge Workload Models + Analysis 35

Page 76: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Calculating the Bound

∑dbfT (t)

t

dbf(t)

t

D

Linear bou

nd for dbf(t)

• Linear bound for dbf(t)• Slope: Less than 1

• Intersection with t gives bound D

• Check only up to D

J1

J2

J3 J4

J5

J6

J7

J8

“Most dense” cycle

dbf(t) 6 t · U(τ) + esum

Martin Stigge Workload Models + Analysis 35

Page 77: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Calculating the Bound

∑dbfT (t)

t

dbf(t)

t

D

Linear bou

nd for dbf(t)

• Linear bound for dbf(t)• Slope: Less than 1

• Intersection with t gives bound D

• Check only up to D

J1

J2

J3 J4

J5

J6

J7

J8

“Most dense” cycle

dbf(t) 6 t · U(τ) + esum

Martin Stigge Workload Models + Analysis 35

Page 78: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Complexity Result

Theorem (S. et al., 2011)

For DRT task systems τ with a utilization bounded by any c < 1,feasibility can be decided in pseudo-polynomial time.

Pseudo-polynomial time = Tractable/efficient

Martin Stigge Workload Models + Analysis 36

Page 79: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Evaluation: Runtime vs. Utilization

0% 20% 40% 60% 80% 100%Task Set Utilization

0.0

0.2

0.4

0.6

0.8

1.0

1.2

1.4

Ana

lysi

sR

un-T

ime

(sec

onds

)EDF

Setting:

• Randomly generated task sets

• 1-30 tasks, 5-10 vertices per task, branching degree 1-3, . . .

Martin Stigge Workload Models + Analysis 37

Page 80: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 38

Page 81: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 38

Page 82: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Complexity of Schedulability Tests

• Pseudo-polynomial schedulability tests possible?

EDF SP

L&L YesGMF YesDRT Yes

EDRT No

• ∗ = Takada & Sakamura, 1997

• Flawed!

• Replaced by:

Theorem (S. et al., 2012)

For GMF task systems, the schedulability problem for static priorityschedulers is strongly coNP-hard.

Martin Stigge Workload Models + Analysis 39

Page 83: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Complexity of Schedulability Tests

• Pseudo-polynomial schedulability tests possible?

EDF SP

L&L Yes YesGMF Yes Yes∗

DRT Yes ?EDRT No ?

• ∗ = Takada & Sakamura, 1997

• Flawed!

• Replaced by:

Theorem (S. et al., 2012)

For GMF task systems, the schedulability problem for static priorityschedulers is strongly coNP-hard.

Martin Stigge Workload Models + Analysis 39

Page 84: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Complexity of Schedulability Tests

• Pseudo-polynomial schedulability tests possible?

EDF SP

L&L Yes YesGMF Yes Yes∗No!DRT Yes No

EDRT No No

• ∗ = Takada & Sakamura, 1997

• Flawed!

• Replaced by:

Theorem (S. et al., 2012)

For GMF task systems, the schedulability problem for static priorityschedulers is strongly coNP-hard.

Martin Stigge Workload Models + Analysis 39

Page 85: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Hardness Result: Proof Sketch

3-PARTITION instance I :

m bins 3m items

Possible to (exactly) fit all items? (strongly NP-hard)

Reduction to GMF schedulability:

One GMF task

for each item

Packing possible ⇐⇒ Busy interval

t

Thus: τ(I ) unsched. ⇐⇒ I ∈ 3-PARTITION

Martin Stigge Workload Models + Analysis 40

Page 86: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Hardness Result: Proof Sketch

3-PARTITION instance I :

m bins 3m items

Possible to (exactly) fit all items? (strongly NP-hard)

Reduction to GMF schedulability:

One GMF task

for each item

Packing possible ⇐⇒ Busy interval

t

Thus: τ(I ) unsched. ⇐⇒ I ∈ 3-PARTITION

Martin Stigge Workload Models + Analysis 40

Page 87: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Model Hierarchy Revisited

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

EDF SP

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

Martin Stigge Workload Models + Analysis 41

Page 88: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Response-Time Analysis (RTA)

Use RTA for SP Schedulability Analysis.

Response time

Standard RTA for static priorities + periodic/sporadic tasks:

Rj = Cj +∑

i∈hp(j)

⌈Rj

Ti

⌉Ci

Martin Stigge Workload Models + Analysis 42

Page 89: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 43

Page 90: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 43

Page 91: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Intuition: No Task-Local Worst Cases

Task Thigh:v1〈2, 5〉 v2 〈6, 10〉

5

10

Which path is worse: (v1, v2) or (v2, v1)?

It depends! T1: u〈2, 7〉 versus T2: w〈4, 10〉

v1 v2

Thigh:

v2 v1

Thigh:

T1:

0 2 4 6 8 10 12

T1:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

Martin Stigge Workload Models + Analysis 44

Page 92: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Intuition: No Task-Local Worst Cases

Task Thigh:v1〈2, 5〉 v2 〈6, 10〉

5

10

Which path is worse: (v1, v2) or (v2, v1)?

It depends! T1: u〈2, 7〉 versus T2: w〈4, 10〉

v1 v2

Thigh:

v2 v1

Thigh:

T1:

0 2 4 6 8 10 12

T1:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

Martin Stigge Workload Models + Analysis 44

Page 93: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Intuition: No Task-Local Worst Cases

Task Thigh:v1〈2, 5〉 v2 〈6, 10〉

5

10

Which path is worse: (v1, v2) or (v2, v1)?

It depends! T1: u〈2, 7〉 versus T2: w〈4, 10〉

v1 v2

Thigh:

v2 v1

Thigh:

T1:

0 2 4 6 8 10 12

T1:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

Martin Stigge Workload Models + Analysis 44

Page 94: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Intuition: No Task-Local Worst Cases

Task Thigh:v1〈2, 5〉 v2 〈6, 10〉

5

10

Which path is worse: (v1, v2) or (v2, v1)?

It depends! T1: u〈2, 7〉 versus T2: w〈4, 10〉

v1 v2

Thigh:

v2 v1

Thigh:

T1:

0 2 4 6 8 10 12

T1:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

T2:

0 2 4 6 8 10 12

Martin Stigge Workload Models + Analysis 44

Page 95: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

t0 5 10 15 20 25 30 35 40

02468

10 rf (v4,v2,v3)

rf π(t) := max{e(π′) | π′ is prefix of π and p(π′) < t

}Martin Stigge Workload Models + Analysis 45

Page 96: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Request Functions (cont.)

Useful for deriving response time:

RSP(v , r̄f ) = min

{t > 0 | e(v) +

∑T ′>T

rf (T ′)(t) 6 t

}RSP(v) = max

r̄f ∈RF (τ)RSP(v , r̄f )

Combinatorial Explosion?!

Martin Stigge Workload Models + Analysis 46

Page 97: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Request Functions (cont.)

Useful for deriving response time:

RSP(v , r̄f ) = min

{t > 0 | e(v) +

∑T ′>T

rf (T ′)(t) 6 t

}RSP(v) = max

r̄f ∈RF (τ)RSP(v , r̄f )

Combinatorial Explosion?!

Martin Stigge Workload Models + Analysis 46

Page 98: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

t0 5 10 15 20 25 30 35 40

02468

10 rf (v4,v2,v3)

rf (v5,v4,v2)

arf

Martin Stigge Workload Models + Analysis 47

Page 99: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

t0 5 10 15 20 25 30 35 40

02468

10 rf (v4,v2,v3)

rf (v5,v4,v2)

arf

Martin Stigge Workload Models + Analysis 47

Page 100: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

t0 5 10 15 20 25 30 35 40

02468

10 rf (v4,v2,v3)

rf (v5,v4,v2)

arf

Martin Stigge Workload Models + Analysis 47

Page 101: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 48

Page 102: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 48

Page 103: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 48

Page 104: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 48

Page 105: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 48

Page 106: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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 Workload Models + Analysis 48

Page 107: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 108: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 109: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 110: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safe

In T1:

rf ′ rf ′′

rf

In T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 111: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safe

In T1:

rf ′ rf ′′

rf

In T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 112: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safe

In T1:

rf ′ rf ′′

rf

In T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 113: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 114: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 115: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rf

In T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 116: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rf

In T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 117: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rf

In T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 118: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safeIn T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 119: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safe

In T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 120: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Refinement Algorithm

r̄f = (rf (T1), rf (T2), rf (T3))Tuple:

RSP(v , r̄f ) = 23Response time:

r̄f 1 = (rf (T1), rf (T2), rf (T3))

r̄f 2 = (rf ′(T1), rf (T2), rf (T3))

r̄f 3 = (rf ′′(T1), rf (T2), rf (T3))

Step:

→ 18

→ 21

r̄f 2 = (rf (T1), rf (T2), rf (T3))

r̄f 4 = (rf (T1), rf ′(T2), rf (T3))

r̄f 5 = (rf (T1), rf ′′(T2), rf (T3))

→ 20

→ 17

Initialization:• Most abstract functions

Each iteration:

• Replace functions along abstraction trees

Termination:

• All functions are concreteOR:

• Estimate is already safe

In T1:

rf ′ rf ′′

rfIn T2:

rf ′ rf ′′

rf

Store

(23, r̄f 1)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(18, r̄f 3)

(21, r̄f 2)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

(20, r̄f 4)

(18, r̄f 3)

(17, r̄f 5)

...

Using: RSP(v , r̄f ) = min{t > 0 | e(v) +

∑T ′>T rf (T ′)(t) 6 t

}

Martin Stigge Workload Models + Analysis 49

Page 121: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Evaluation: Run-time Scaling

0% 20% 40% 60% 80% 100%Task Set Utilization

0.0

0.2

0.4

0.6

0.8

1.0

1.2

1.4A

naly

sis

Run

-Tim

e(s

econ

ds)

EDFSP

1-30 tasks with 5-10 vertices each, branching degree 1-3

Martin Stigge Workload Models + Analysis 50

Page 122: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Evaluation: Precision Improvement

0% 20% 40% 60% 80% 100%Fraction of improved RT estimates

5%

10%

15%

20%A

vera

geim

prov

emen

t Type AType B

Type A: lower parameter varianceType B: higher parameter variance

Martin Stigge Workload Models + Analysis 51

Page 123: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Generality

• Exact solution for NP-hard problem• Efficient method• Iterative refinement

• General!• Apply to any combinatorial problem• ... with monotonic abstraction lattice

rf 1 rf 2 rf 5

rf 3 rf 4

Martin Stigge Workload Models + Analysis 52

Page 124: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Fahrplan

1 DRT Tasks in the Model HierarchyLiu and Layland and Sporadic TasksFrames and BranchingThe Digraph Real-Time (DRT) Task ModelAdaptive Variable-Rate (AVR) Tasks

2 Feasibility Analysis of DRTFeasibility TheoremDemand PairsTest TerminationEvaluation

3 Static Priority Schedulability Analysis of DRTResponse-Time AnalysisRequest FunctionsRefinement AlgorithmEvaluation

Martin Stigge Workload Models + Analysis 53

Page 125: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Summary

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

EDF SP

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

Martin Stigge Workload Models + Analysis 54

Page 126: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Summary

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

EDF SP

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

Martin Stigge Workload Models + Analysis 54

Page 127: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Summary

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

EDF

SP

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

Martin Stigge Workload Models + Analysis 54

Page 128: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Summary

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

EDF SP

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

Martin Stigge Workload Models + Analysis 54

Page 129: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Summary

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

EDF SP

coNP-hard

p.p.

L&L

sporadicMF

GMF

RB

RRT

ncGMF

ncRRT

DRT

k-EDRT

EDRT

Martin Stigge Workload Models + Analysis 54

Page 130: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Q & A

Thanks!

Martin Stigge Workload Models + Analysis 55

Page 131: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Backup Slides Coming Up . . .

Martin Stigge Workload Models + Analysis 56

Page 132: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Path Abstractions: SP + EDF

Martin Stigge Workload Models + Analysis 57

Page 133: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

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)

t0 5 10 15 20 25 30 35 40

02468

10 rf (v4,v2,v3)

rf π(t) := max{e(π′) | π′ is prefix of π and p(π′) < t

}Martin Stigge Workload Models + Analysis 58

Page 134: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Path Abstractions: EDF

T2

v

t ′

T1

v

t

wf π(t, t ′) := max{e(π′) | π′ is prefix of π,

p(π′) < t and d(π′) 6 t ′}.

Martin Stigge Workload Models + Analysis 59

Page 135: Real-Time Workload Models with E cient Analysis · The Digraph Real-Time (DRT) Task Model Adaptive Variable-Rate (AVR) Tasks 2 Feasibility Analysis of DRT Feasibility Theorem Demand

Path Abstractions: EDF

T2

v

t ′

T1

v

t

wf π(t, t ′) := max{e(π′) | π′ is prefix of π,

p(π′) < t and d(π′) 6 t ′}.

Martin Stigge Workload Models + Analysis 59