Combinatorial Abstraction Refinement for Feasibility Analysis - - PowerPoint PPT Presentation

combinatorial abstraction refinement for feasibility
SMART_READER_LITE
LIVE PREVIEW

Combinatorial Abstraction Refinement for Feasibility Analysis - - PowerPoint PPT Presentation

Combinatorial Abstraction Refinement for Feasibility Analysis Martin Stigge Uppsala University, Sweden Joint work with Wang Yi Problem Overview Workload Model Scheduler Model Task A Task B EDF/Static Prio/... Task C Task A t Task B t


slide-1
SLIDE 1

Combinatorial Abstraction Refinement for Feasibility Analysis

Martin Stigge

Uppsala University, Sweden

Joint work with Wang Yi

slide-2
SLIDE 2

Problem Overview

Workload Model

Task A Task B Task C

Scheduler Model

EDF/Static Prio/...

Task A

t

Task B

t Schedulable?

Martin Stigge Combinatorial Abstraction Refinement 2

slide-3
SLIDE 3

Problem Overview

Workload Model DRT

High priority A1 A2 A3 A4 Medium priority B1 B2 B3 Low priority C

Scheduler Model

EDF/Static Prio/...

Task A

t

Task B

t Schedulable? Our Setting:

  • DRT tasks
  • Static Priorities
  • Precise Test

Martin Stigge Combinatorial Abstraction Refinement 2

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 J: jobs to be released (with WCET and deadline)
  • Edges (Ji, Jj): minimum inter-release delays p(Ji, Jj)

J1 J2 J3 J4 J5

13 29 100 25 12 10 18 50 Martin Stigge Combinatorial Abstraction Refinement 3

slide-5
SLIDE 5

DRT: Semantics

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

Martin Stigge Combinatorial Abstraction Refinement 4

slide-6
SLIDE 6

DRT: Semantics

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

Path π = (J1)

t

10

6 10

Martin Stigge Combinatorial Abstraction Refinement 4

slide-7
SLIDE 7

DRT: Semantics

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

Path π = (J1, J2)

t

10 13 38

13 6 10 5 25

Martin Stigge Combinatorial Abstraction Refinement 4

slide-8
SLIDE 8

DRT: Semantics

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

Path π = (J1, J2, J3)

t

10 13 38

13

44 54

29 6 10 5 25 1 10 ...

Martin Stigge Combinatorial Abstraction Refinement 4

slide-9
SLIDE 9

Complexity Results for DRT Schedulability

EDF

  • Pseudo-polynomial
  • Dbf-based analysis

[RTAS 2011]

  • Equivalent to Feasibility

Static Priorities

  • Strongly coNP-hard
  • Already for trees or cycles

[ECRTS 2012]

  • Efficient solution?

Martin Stigge Combinatorial Abstraction Refinement 5

slide-10
SLIDE 10

Complexity Results for DRT Schedulability

EDF

  • Pseudo-polynomial
  • Dbf-based analysis

[RTAS 2011]

  • Equivalent to Feasibility

Static Priorities

  • Strongly coNP-hard
  • Already for trees or cycles

[ECRTS 2012]

  • Efficient solution?

Martin Stigge Combinatorial Abstraction Refinement 5

slide-11
SLIDE 11

Fahrplan

1

Problem Introduction Digraph Real-Time Tasks Complexity Results

2

Analysis Approach Request Functions Rf-based Test

3

Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure

4

Evaluation

Martin Stigge Combinatorial Abstraction Refinement 6

slide-12
SLIDE 12

Fahrplan

1

Problem Introduction Digraph Real-Time Tasks Complexity Results

2

Analysis Approach Request Functions Rf-based Test

3

Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure

4

Evaluation

Martin Stigge Combinatorial Abstraction Refinement 6

slide-13
SLIDE 13

Testing the Scheduling Window

High priority

A1 A2 A3 A4

Medium priority

B1 B2 B3

Low priority

C

Is C schedulable? t Scheduling window of C

Martin Stigge Combinatorial Abstraction Refinement 7

slide-14
SLIDE 14

Testing the Scheduling Window

B2 B3

High priority

A1 A2 A3 A4

Medium priority

B1 B2 B3

Low priority

C

Is C schedulable? t A2, B1 A2 B2 A1 A1 B3 B3 A3 A3 Scheduling window of C

Martin Stigge Combinatorial Abstraction Refinement 7

slide-15
SLIDE 15

Request Functions

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

rf (t) t

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

rf (J1,J2,J3)

Martin Stigge Combinatorial Abstraction Refinement 8

slide-16
SLIDE 16

Request Functions: Schedulability Test

Lemma

A job J is schedulable iff for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +

  • T∈τ

rf (T)(t) t. (1)

e(J) + rf (T)(t) t

d(J) Scheduling window

Martin Stigge Combinatorial Abstraction Refinement 9

slide-17
SLIDE 17

Request Functions: Schedulability Test

Lemma

A job J is schedulable iff for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +

  • T∈τ

rf (T)(t) t. (1)

e(J) + rf (T)(t) t

d(J) Scheduling window

Martin Stigge Combinatorial Abstraction Refinement 9

slide-18
SLIDE 18

Request Functions: Schedulability Test

Lemma

A job J is schedulable iff for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +

  • T∈τ

rf (T)(t) t. (1)

e(J) + rf (T)(t) t

d(J) Scheduling window

Martin Stigge Combinatorial Abstraction Refinement 9

Problem: Naive test double exponential!

1 Number of paths per task 2 Number of combinations

slide-19
SLIDE 19

Request Functions: Domination

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

rf (t) t

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

rf (J1,J2,J3)

Martin Stigge Combinatorial Abstraction Refinement 10

slide-20
SLIDE 20

Request Functions: Domination

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

rf (t) t

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

rf (J1,J2,J3) rf (J3,J4,J2)

Martin Stigge Combinatorial Abstraction Refinement 10

slide-21
SLIDE 21

Request Functions: Domination

J1

6, 10

J2

5, 25

J3

1, 10

J4

2, 12

J5

10, 50 13 29 100 25 12 10 18 50

rf (t) t

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

rf (J1,J2,J3) rf (J3,J4,J2)

  • Martin Stigge

Combinatorial Abstraction Refinement 10

slide-22
SLIDE 22

Combinatorial Explosion

Lemma

A job J is schedulable if for all combinations of request functions rf (T) of higher priority tasks: ∃t d(J) : e(J) +

  • T∈τ

rf (T)(t) t. (1) What about the Combinatorial Explosion?

Martin Stigge Combinatorial Abstraction Refinement 11

slide-23
SLIDE 23

Overapproximation: mrf

  • Approach: Define an overapproximation
  • mrf (T)(t): Maximum of all rf (T)(t) for a task T
  • “Request-Bound Function”
  • “Workload-Arrival Function”
  • New test:

∃t d(J) : e(J) +

  • T∈τ

mrf (T)(t) t.

  • Efficient: Only one test, no combinatorial explosion

Martin Stigge Combinatorial Abstraction Refinement 12

slide-24
SLIDE 24

Overapproximation: mrf

  • Approach: Define an overapproximation
  • mrf (T)(t): Maximum of all rf (T)(t) for a task T
  • “Request-Bound Function”
  • “Workload-Arrival Function”
  • New test:

∃t d(J) : e(J) +

  • T∈τ

mrf (T)(t) t.

  • Efficient: Only one test, no combinatorial explosion
  • Problem: Imprecise!

J1

2, 5

J2

6, 30 20 5 50 30 rf (t) t

2 4 6 8 2 4 6 8 10

rf (v1,v2) rf (v2,v1) mrf

Martin Stigge Combinatorial Abstraction Refinement 12

slide-25
SLIDE 25

Overapproximation: mrf

  • Approach: Define an overapproximation
  • mrf (T)(t): Maximum of all rf (T)(t) for a task T
  • “Request-Bound Function”
  • “Workload-Arrival Function”
  • New test:

∃t d(J) : e(J) +

  • T∈τ

mrf (T)(t) t.

  • Efficient: Only one test, no combinatorial explosion
  • Problem: Imprecise!

J1

2, 5

J2

6, 30 20 5 50 30 rf (t) t

2 4 6 8 2 4 6 8 10

rf (v1,v2) rf (v2,v1) mrf

Martin Stigge Combinatorial Abstraction Refinement 12

How can we get efficiency and precision?

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 mrf , maximum of all rf

Martin Stigge Combinatorial Abstraction Refinement 13

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 mrf , maximum of all rf

Martin Stigge Combinatorial Abstraction Refinement 13

slide-28
SLIDE 28

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 mrf , maximum of all rf

Martin Stigge Combinatorial Abstraction Refinement 13

slide-29
SLIDE 29

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 mrf , maximum of all rf

Martin Stigge Combinatorial Abstraction Refinement 13

slide-30
SLIDE 30

Abstraction Tree

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

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

Martin Stigge Combinatorial Abstraction Refinement 13

slide-31
SLIDE 31

Combinatorial Abstraction Refinement

Task T mrf (T) rf (T)

1

rf (T)

2

rf (T)

5

rf (T)

3

rf (T)

4

Task T ′ mrf (T ′) rf (T ′)

1

rf (T ′)

2

rf (T ′)

3

New Algorithm:

  • Test one combination of all mrf .
  • If schedulable: done
  • Otherwise: Replace one mrf with all child nodes,
  • 2 new combinations to test
  • Repeat until:
  • All combinations show schedulability, or
  • A combination of leaves shows non-schedulability

Martin Stigge Combinatorial Abstraction Refinement 14

slide-32
SLIDE 32

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15

slide-33
SLIDE 33

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

?

Martin Stigge Combinatorial Abstraction Refinement 15

Test:

∃t d(J) : e(J) +

T∈τ rf (T)(t) t

slide-34
SLIDE 34

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

Martin Stigge Combinatorial Abstraction Refinement 15

slide-35
SLIDE 35

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

( C ,

A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15

slide-36
SLIDE 36

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

?

( C ,

A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15

Test:

∃t d(J) : e(J) +

T∈τ rf (T)(t) t

slide-37
SLIDE 37

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A ) Martin Stigge Combinatorial Abstraction Refinement 15

slide-38
SLIDE 38

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

?

Martin Stigge Combinatorial Abstraction Refinement 15

Test:

∃t d(J) : e(J) +

T∈τ rf (T)(t) t

slide-39
SLIDE 39

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

Martin Stigge Combinatorial Abstraction Refinement 15

slide-40
SLIDE 40

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

( C ,

A , B , A )

( C ,

A , C , A ) Martin Stigge Combinatorial Abstraction Refinement 15

slide-41
SLIDE 41

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

( C ,

A , B , A )

?

( C ,

A , C , A ) Martin Stigge Combinatorial Abstraction Refinement 15

Test:

∃t d(J) : e(J) +

T∈τ rf (T)(t) t

slide-42
SLIDE 42

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

( C ,

A , B , A )

SCHED

( C ,

A , C , A ) Martin Stigge Combinatorial Abstraction Refinement 15

slide-43
SLIDE 43

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

( C ,

A , B , A )

SCHED

( C ,

A , C , A )

?

Martin Stigge Combinatorial Abstraction Refinement 15

Test:

∃t d(J) : e(J) +

T∈τ rf (T)(t) t

slide-44
SLIDE 44

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

( C ,

A , B , A )

SCHED

( C ,

A , C , A )

SCHED

Result: Schedulable!

Martin Stigge Combinatorial Abstraction Refinement 15

slide-45
SLIDE 45

Combinatorial Abstraction Refinement: Example

Task T1

A B C D E

Task T3

A B C

Task T3

A B C D E F G

Task T4

A B C D E

Testing rf tuples: ( A ,

A , A , A )

UNSCHED

( B ,

A , A , A )

SCHED

( C ,

A , A , A )

UNSCHED

( C ,

A , B , A )

SCHED

( C ,

A , C , A )

SCHED

Result: Schedulable!

Total combinations: 3 · 2 · 4 · 3 = 72; Tested: 5 (!)

Martin Stigge Combinatorial Abstraction Refinement 15

slide-46
SLIDE 46

Fahrplan

1

Problem Introduction Digraph Real-Time Tasks Complexity Results

2

Analysis Approach Request Functions Rf-based Test

3

Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure

4

Evaluation

Martin Stigge Combinatorial Abstraction Refinement 16

slide-47
SLIDE 47

Fahrplan

1

Problem Introduction Digraph Real-Time Tasks Complexity Results

2

Analysis Approach Request Functions Rf-based Test

3

Combinatorial Abstraction Refinement Abstraction Trees Refinement Procedure

4

Evaluation

Martin Stigge Combinatorial Abstraction Refinement 16

slide-48
SLIDE 48

Evaluation: Runtime vs. Utilization

0.0 0.2 0.4 0.6 0.8 1.0 Task Set Utilization 2 4 6 8 10 12 14 Analysis Run-Time (seconds)

EDF SP

Comparing runtimes of

  • EDF-test using dbf (pseudo-polynomial)
  • SP-test based on Combinatorial Abstraction Refinement

Martin Stigge Combinatorial Abstraction Refinement 17

slide-49
SLIDE 49

Evaluation: Tested vs. Total Combinations

100 101 102 103 104 105 106 107 108 109 1010 1011 1012 Total Combinations 100 101 102 103 104 Tested Combinations

UNSCHED SCHED

105 samples of single-job tests.

  • Executed tests: in 99.9% of all cases, less than 100
  • Total combinations possible: 1012 or more

Martin Stigge Combinatorial Abstraction Refinement 18

slide-50
SLIDE 50

Summary and Outlook

  • Solve coNP-hard problem
  • Previously unsolved
  • Efficient method
  • Abstraction refinement
  • General method
  • Combinatorial problems
  • Needs abstraction lattice
  • Ongoing work:
  • Response-Time Analysis (submitted)
  • Apply to other problems

mrf rf 1 rf 2 rf 5 rf 3 rf 4

Martin Stigge Combinatorial Abstraction Refinement 19

slide-51
SLIDE 51

Q & A Thanks!

Martin Stigge Combinatorial Abstraction Refinement 20