Efficiently Approximating the Probability of Deadline Misses in - - PowerPoint PPT Presentation

efficiently approximating the probability of deadline
SMART_READER_LITE
LIVE PREVIEW

Efficiently Approximating the Probability of Deadline Misses in - - PowerPoint PPT Presentation

Efficiently Approximating the Probability of Deadline Misses in Real-Time Systems Georg von der Br uggen, Nico Piatkowski, Kuan-Hsun Chen, Jian-Jia Chen, and Katharina Morik Department of Computer Science TU Dortmund University, Germany 04


slide-1
SLIDE 1

Efficiently Approximating the Probability of Deadline Misses in Real-Time Systems

Georg von der Br¨ uggen, Nico Piatkowski, Kuan-Hsun Chen, Jian-Jia Chen, and Katharina Morik

Department of Computer Science TU Dortmund University, Germany

04 July 2018

Supported by DFG, Collaborative Research Center SFB876, subproject A1.

von der Br¨ uggen et al. (TU Dortmund) 1 / 19

slide-2
SLIDE 2

Table of Contents

Motivation and Problem Definition Job-Level Convolution Task-Level Convolution Runtime Improvement Evaluation

von der Br¨ uggen et al. (TU Dortmund) 2 / 19

slide-3
SLIDE 3

Rare Deadline Misses in Real-Time Systems

  • Usual assumption: hard real-time constraints

von der Br¨ uggen et al. (TU Dortmund) 3 / 19

slide-4
SLIDE 4

Rare Deadline Misses in Real-Time Systems

  • Usual assumption: hard real-time constraints
  • Rare deadline misses often acceptable
  • Industrial safety standards
  • IEC-61508
  • ISO-26262

von der Br¨ uggen et al. (TU Dortmund) 3 / 19

slide-5
SLIDE 5

Rare Deadline Misses in Real-Time Systems

  • Usual assumption: hard real-time constraints
  • Rare deadline misses often acceptable
  • Industrial safety standards
  • IEC-61508
  • ISO-26262
  • Soft real-time systems

von der Br¨ uggen et al. (TU Dortmund) 3 / 19

slide-6
SLIDE 6

Rare Deadline Misses in Real-Time Systems

  • Usual assumption: hard real-time constraints
  • Rare deadline misses often acceptable
  • Industrial safety standards
  • IEC-61508
  • ISO-26262
  • Soft real-time systems
  • Important criteria: probability of deadline miss

von der Br¨ uggen et al. (TU Dortmund) 3 / 19

slide-7
SLIDE 7

Rare Deadline Misses in Real-Time Systems

  • Usual assumption: hard real-time constraints
  • Rare deadline misses often acceptable
  • Industrial safety standards
  • IEC-61508
  • ISO-26262
  • Soft real-time systems
  • Important criteria: probability of deadline miss
  • Safe upper bound

von der Br¨ uggen et al. (TU Dortmund) 3 / 19

slide-8
SLIDE 8

Task Model and Notation

τi(Ci, Di, Ti)

C N

i

τi

  • Uniprocessor, fixed priority
  • Sporadic tasks

von der Br¨ uggen et al. (TU Dortmund) 4 / 19

slide-9
SLIDE 9

Task Model and Notation

τi(Ci, Di, Ti)

C N

i

τi

  • Uniprocessor, fixed priority
  • Sporadic tasks, implicit deadlines: Di = Ti ∀τi

von der Br¨ uggen et al. (TU Dortmund) 4 / 19

slide-10
SLIDE 10

Task Model and Notation

τi((C N

i , C A i ), Di, Ti)

Normal Case

C N

i

τi

Rare, Special Case

C A

i

C A

i

τi

  • Uniprocessor, fixed priority
  • Sporadic tasks, implicit deadlines: Di = Ti ∀τi
  • C A

i ≥ C N i

here: C A

i = 2 · C N i

von der Br¨ uggen et al. (TU Dortmund) 4 / 19

slide-11
SLIDE 11

Task Model and Notation

τi((C N

i , C A i , P(C A i ), P(C N i )), Di, Ti)

Normal Case

C N

i

τi

Rare, Special Case

C A

i

C A

i

τi

  • Uniprocessor, fixed priority
  • Sporadic tasks, implicit deadlines: Di = Ti ∀τi
  • C A

i ≥ C N i

here: C A

i = 2 · C N i

  • P(C A

i ) ≪ P(C N i )

  • P(C A

i ) + P(C N i ) = 1

von der Br¨ uggen et al. (TU Dortmund) 4 / 19

slide-12
SLIDE 12

Task Model and Notation

τi((C N

i , C A i , P(C A i ), P(C N i )), Di, Ti)

Normal Case

C N

i

τi

Rare, Special Case

C A

i

C A

i

τi

  • Uniprocessor, fixed priority
  • Sporadic tasks, implicit deadlines: Di = Ti ∀τi
  • C A

i ≥ C N i

here: C A

i = 2 · C N i

  • P(C A

i ) ≪ P(C N i )

  • P(C A

i ) + P(C N i ) = 1

  • Probabilities independent

von der Br¨ uggen et al. (TU Dortmund) 4 / 19

slide-13
SLIDE 13

Task Model and Notation

Normal Case

C N

i

τi

Rare, Special Case

C A

i

C A

i

τi

  • Uniprocessor, fixed priority
  • Sporadic tasks, implicit deadlines: Di = Ti ∀τi
  • C A

i ≥ C N i , here: C A i = 2 · C N i

  • P(C A

i ) ≪ P(C N i )

  • P(C A

i ) + P(C N i ) = 1

  • Probabilities independent

von der Br¨ uggen et al. (TU Dortmund) 4 / 19

slide-14
SLIDE 14

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-15
SLIDE 15

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-16
SLIDE 16

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t)

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-17
SLIDE 17

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t)

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-18
SLIDE 18

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t)

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-19
SLIDE 19

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t)

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-20
SLIDE 20

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t) for 0 < t ≤ Dk

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-21
SLIDE 21

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t) for 0 < t ≤ Dk
  • Probability of Deadline Miss: Φk = min0<t≤Dk P(St > t)

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-22
SLIDE 22

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t) for 0 < t ≤ Dk
  • Probability of Deadline Miss: Φk = min0<t≤Dk P(St > t)
  • Upper bound: any subset of points in (0, Dk]

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-23
SLIDE 23

Probability of Deadline Miss

τ1 = (1, 6) τ2 = (2, 9) τ3 = (2, 12) τ4 = (1, 19) 5 10 15 20

t

τ5 = (3, 22)

  • Looking at lowest priority task
  • Normally: TDA binary decision
  • P(St > t) for 0 < t ≤ Dk
  • Probability of Deadline Miss: Φk = min0<t≤Dk P(St > t)
  • Upper bound: any subset of points in (0, Dk]
  • Convolution-based approach: enumerate the state space

von der Br¨ uggen et al. (TU Dortmund) 5 / 19

slide-24
SLIDE 24

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

von der Br¨ uggen et al. (TU Dortmund) 6 / 19

slide-25
SLIDE 25

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

  • von der Br¨

uggen et al. (TU Dortmund) 6 / 19

slide-26
SLIDE 26

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

8

0.72

  • von der Br¨

uggen et al. (TU Dortmund) 6 / 19

slide-27
SLIDE 27

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

8

0.72 9 0.18

  • von der Br¨

uggen et al. (TU Dortmund) 6 / 19

slide-28
SLIDE 28

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

8

0.72 9 0.18 10 0.08

  • von der Br¨

uggen et al. (TU Dortmund) 6 / 19

slide-29
SLIDE 29

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

8

0.72 9 0.18 10 0.08 11 0.02

  • von der Br¨

uggen et al. (TU Dortmund) 6 / 19

slide-30
SLIDE 30

Convolution

C1 P1 =

3

0.9 5 0.1

5

0.8 6 0.2

  • = C2

P2

8

0.72 9 0.18 10 0.08 11 0.02

  • State-of-the-art: job-wise convolution from 0 to Dk

von der Br¨ uggen et al. (TU Dortmund) 6 / 19

slide-31
SLIDE 31

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • von der Br¨

uggen et al. (TU Dortmund) 7 / 19

slide-32
SLIDE 32

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • t = 0

t = 8 t = 14

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-33
SLIDE 33

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 1
  • t = 0

t = 8 t = 14

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-34
SLIDE 34

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 1
  • 3

0.9

  • 5

0.1

  • t = 0

t = 8 t = 14

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-35
SLIDE 35

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 1
  • 3

0.9

  • 5

0.1

  • 8

0.72

  • 9

0.18

  • 10

0.08

  • 11

0.02

  • t = 0

t = 8 t = 14 P(S8 > 8) = 0.28

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-36
SLIDE 36

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 8

0.72

  • 9

0.18

  • 10

0.08

  • 11

0.02

  • 11

0.648

  • 13

0.072

  • 12

0.162

  • 14

0.018

  • 13

0.072

  • 14

0.018

  • 16

0.002

  • 15

0.008

  • t = 0

t = 8 t = 14 P(S8 > 8) = 0.28 P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-37
SLIDE 37

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 8

0.72

  • 9

0.18

  • 10

0.08

  • 11

0.02

  • 11

0.648

  • 13

0.072

  • 12

0.162

  • 14

0.018

  • 13

0.072

  • 14

0.018

  • 16

0.002

  • 15

0.008

  • t = 0

t = 8 t = 14 P(S8 > 8) = 0.28 P(S14 > 14) = 0.01

3 tasks → 38 jobs → 238 = 274 877 906 944

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-38
SLIDE 38

Job-Level Convolution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 8

0.72

  • 9

0.18

  • 10

0.08

  • 11

0.02

  • 11

0.648

  • 13

0.072

  • 12

0.162

  • 14

0.018

  • 13

0.072

  • 14

0.018

  • 16

0.002

  • 15

0.008

  • 13

0.144

  • 14

0.036

  • t = 0

t = 8 t = 14 P(S8 > 8) = 0.28 P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 7 / 19

slide-39
SLIDE 39

Performance: Job-Level Convolution

3 4 5 6 7 8 9 10 Number of Tasks 100 200 300 400 500 600 Average Analysis Runtime (seconds) Job-Level Convolution

von der Br¨ uggen et al. (TU Dortmund) 8 / 19

slide-40
SLIDE 40

Considering Time Points Individually

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 8

0.72

  • 9

0.18

  • 10

0.08

  • 11

0.02

  • 11

0.648

  • 13

0.072

  • 12

0.162

  • 14

0.018

  • 13

0.072

  • 14

0.018

  • 16

0.002

  • 15

0.008

  • 13

0.144

  • 14

0.036

  • t = 14

P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 9 / 19

slide-41
SLIDE 41

Considering Time Points Individually

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 8

0.72

  • 9

0.18

  • 10

0.08

  • 11

0.02

  • 11

0.648

  • 12

0.162

  • 14

0.018

  • 13

0.072

  • 14

0.018

  • 16

0.002

  • 15

0.008

  • 13

0.072

  • 13

0.072

  • 13

0.144

  • 14

0.036

  • t = 14

P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 9 / 19

slide-42
SLIDE 42

Considering Time Points Individually

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • t = 14

P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 9 / 19

slide-43
SLIDE 43

Considering Time Points Individually

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 10

0.01

  • 8

0.09

  • 8

0.09

  • t = 14

P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 9 / 19

slide-44
SLIDE 44

Considering Time Points Individually

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 10

0.01

  • 8

0.18

  • t = 14

P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 9 / 19

slide-45
SLIDE 45

Considering Time Points Individually

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 14

τ2

C2 P2 =

5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 5

0.8 6 0.2

  • 3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 10

0.01

  • 8

0.18

  • 11

0.648

  • 12

0.162

  • 13

0.144

  • 14

0.036

  • 15

0.008

  • 16

0.002

  • t = 14

P(S14 > 14) = 0.01

von der Br¨ uggen et al. (TU Dortmund) 9 / 19

slide-46
SLIDE 46

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-47
SLIDE 47

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-48
SLIDE 48

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-49
SLIDE 49

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-50
SLIDE 50

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243 0.027

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-51
SLIDE 51

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243 0.027 0.001

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-52
SLIDE 52

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243 0.027 0.001

  • Set of equivalence classes

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-53
SLIDE 53

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243 0.027 0.001

  • Set of equivalence classes
  • For one equivalence class:
  • Execution time
  • Number of paths
  • Probability of each path

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-54
SLIDE 54

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243 0.027 0.001

  • Set of equivalence classes
  • For one equivalence class:
  • Execution time
  • Number of paths
  • Probability of each path
  • Multinomial distribution
  • Probability of each path:

Pi(1)ℓi,1 ·Pi(2)ℓi,2 ·...·Pi(h)ℓi,h

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-55
SLIDE 55

Equivalence Classes and Multinomial Distribution

D1 = T1 = 8

τ1

C1 P1 =

3

0.9 5 0.1

  • 1
  • 3

0.9

  • 5

0.1

  • 6

0.81

  • 8

0.09

  • 8

0.09

  • 10

0.01

  • 9

0.729

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 11

0.081

  • 11

0.081

  • 13

0.009

  • 15

0.001

  • 13

0.009

  • t = 19

# C A

i

jobs 1 2 3 Total Ci 9 11 13 15 Probability 0.729 0.243 0.027 0.001

  • Set of equivalence classes
  • For one equivalence class:
  • Execution time
  • Number of paths
  • Probability of each path
  • Multinomial distribution
  • Probability of each path:

Pi(1)ℓi,1 ·Pi(2)ℓi,2 ·...·Pi(h)ℓi,h

  • Number of paths:

ρi,t! ℓi,1!ℓi,2!...ℓi,h!

von der Br¨ uggen et al. (TU Dortmund) 10 / 19

slide-56
SLIDE 56

Task-Level Convolution

D1 = T1 = 15

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

von der Br¨ uggen et al. (TU Dortmund) 11 / 19

slide-57
SLIDE 57

Task-Level Convolution

D1 = T1 = 15

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D1 = T1 = 15

τ1

C1 P1 =

6

0.81 8 0.18 10 0.01

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

von der Br¨ uggen et al. (TU Dortmund) 11 / 19

slide-58
SLIDE 58

Task-Level Convolution

D1 = T1 = 15

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D1 = T1 = 15

τ1

C1 P1 =

6

0.81 8 0.18 10 0.01

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24
  • 1
  • von der Br¨

uggen et al. (TU Dortmund) 11 / 19

slide-59
SLIDE 59

Task-Level Convolution

D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24
  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • von der Br¨

uggen et al. (TU Dortmund) 11 / 19

slide-60
SLIDE 60

Task-Level Convolution

D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24
  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 12

0.648

  • 16

0.162

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • von der Br¨

uggen et al. (TU Dortmund) 11 / 19

slide-61
SLIDE 61

Task-Level Convolution

t = 24

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 12

0.648

  • 16

0.162

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • 17

0.4536

  • 19

0.1944

  • 21

0.1134

  • 23

0.0486

  • 19

0.1008

  • 21

0.0432

  • 23

0.0252

  • 25

0.0108

  • 21

0.0056

  • 23

0.0024

  • 25

0.0014

  • 27

0.0006

  • von der Br¨

uggen et al. (TU Dortmund) 11 / 19

slide-62
SLIDE 62

Task-Level Convolution

t = 24

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 12

0.648

  • 16

0.162

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • 17

0.4536

  • 19

0.1944

  • 21

0.1134

  • 23

0.0486

  • 19

0.1008

  • 21

0.0432

  • 23

0.0252

  • 25

0.0108

  • 21

0.0056

  • 23

0.0024

  • 25

0.0014

  • 27

0.0006

  • von der Br¨

uggen et al. (TU Dortmund) 11 / 19

slide-63
SLIDE 63

Performance: Task-Level Convolution

3 4 5 6 7 8 9 10 Number of Tasks 100 200 300 400 500 600 Average Analysis Runtime (seconds) Job-Level Convolution Task-Level Convolution

von der Br¨ uggen et al. (TU Dortmund) 12 / 19

slide-64
SLIDE 64

State Space Pruning

t = 24

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 12

0.648

  • 16

0.162

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • 17

0.4536

  • 19

0.1944

  • 21

0.1134

  • 23

0.0486

  • 19

0.1008

  • 21

0.0432

  • 23

0.0252

  • 25

0.0108

  • 21

0.0056

  • 23

0.0024

  • 25

0.0014

  • 27

0.0006

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-65
SLIDE 65

State Space Pruning

t = 24

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 12

0.648

  • 16

0.162

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • 17

0.4536

  • 19

0.1944

  • 21

0.1134

  • 23

0.0486

  • 19

0.1008

  • 21

0.0432

  • 23

0.0252

  • 25

0.0108

  • 21

0.0056

  • 23

0.0024

  • 25

0.0014

  • 27

0.0006

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-66
SLIDE 66

State Space Pruning

t = 24

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 12

0.648

  • 16

0.162

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • 17

0.4536

  • 19

0.1944

  • 21

0.1134

  • 23

0.0486

  • 19

0.1008

  • 21

0.0432

  • 23

0.0252

  • 25

0.0108

  • 21

0.0056

  • 23

0.0024

  • 25

0.0014

  • 27

0.0006

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-67
SLIDE 67

State Space Pruning

D1 = T1 = 15

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D1 = T1 = 15

τ1

C1 P1 =

6

0.81 8 0.18 10 0.01

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24
  • 1
  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-68
SLIDE 68

State Space Pruning

D1 = T1 = 15

τ1

C1 P1 =

3

0.9 5 0.1

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D1 = T1 = 15

τ1

C1 P1 =

6

0.81 8 0.18 10 0.01

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

min = 6 + 5 = 11 max = 10 + 7 = 17 min = 5 max = 7

  • 1
  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-69
SLIDE 69

State Space Pruning

D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

min = 6 + 5 = 11 max = 10 + 7 = 17

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-70
SLIDE 70

State Space Pruning

D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D2 = T2 = 30

τ2

C2 P2 =

6

0.8 10 0.2

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

min = 6 + 5 = 11 max = 10 + 7 = 17

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-71
SLIDE 71

State Space Pruning

D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

min = 6 + 5 = 11 max = 10 + 7 = 17 min = 5 max = 7

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-72
SLIDE 72

State Space Pruning

D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • D3 = T3 = 24

τ3

C3 P3 =

5

0.7 7 0.3

  • t = 24

min = 6 + 5 = 11 max = 10 + 7 = 17 min = 5 max = 7

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-73
SLIDE 73

State Space Pruning

t = 24 min = 6 + 5 = 11 max = 10 + 7 = 17 min = 5 max = 7

  • 1
  • 6

0.81

  • 8

0.18

  • 10

0.01

  • 14

0.144

  • 18

0.036

  • 16

0.008

  • 20

0.002

  • 23

0.0252

  • 25

0.0108

  • von der Br¨

uggen et al. (TU Dortmund) 13 / 19

slide-74
SLIDE 74

Performance: Job-Level Convolution with Pruning

3 4 5 6 7 8 9 10 Number of Tasks 100 200 300 400 500 600 Average Analysis Runtime (seconds) Job-Level Convolution Task-Level Convolution Pruning

von der Br¨ uggen et al. (TU Dortmund) 14 / 19

slide-75
SLIDE 75

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • 12

1.9·10−07

  • 13

1.6·10−09

  • 14

6.1·10−12

  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-76
SLIDE 76

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • 12

1.9·10−07

  • 13

1.6·10−09

  • 14

6.1·10−12

  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-77
SLIDE 77

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • 12

1.9·10−07

  • 13

1.6·10−09

  • 14

6.1·10−12

  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-78
SLIDE 78

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12 # C A

i

jobs 1 2 3 4 Total Ci 7 8 9 10 11 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-79
SLIDE 79

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12 # C A

i

jobs 1 2 3 4 5, 6, or 7 Total Ci 7 8 9 10 11 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-80
SLIDE 80

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • 14
  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12 # C A

i

jobs 1 2 3 4 5, 6, or 7 Total Ci 7 8 9 10 11 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-81
SLIDE 81

Union of Equivalence Classes

  • 1
  • 7

0.84

  • 8

0.15

  • 9

0.012

  • 10

4.9·10−04

  • 11

1.3·10−05

  • 14

1.916061·10−07

  • # C A

i

jobs 1 2 3 4 5 6 7 Total Ci 7 8 9 10 11 12 13 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.9 · 10−07 1.6 · 10−09 6.1 · 10−12 # C A

i

jobs 1 2 3 4 5, 6, or 7 Total Ci 7 8 9 10 11 14 Probability 0.84 0.15 0.012 4.9 · 10−04 1.3 · 10−05 1.916061 · 10−07

von der Br¨ uggen et al. (TU Dortmund) 15 / 19

slide-82
SLIDE 82

Evaluation: Setup

  • Utilization: 70%
  • Periods: UUniFast, 10ms-1000ms
  • Pi(A) = 0.025, Pi(N) = 0.975
  • For 5-20 tasks: 20 task sets
  • For 25-35 tasks: 5 task sets

1 Pruning: multinomial-based task-level convolution with pruning 2 Unify: pruning and union of equivalence classes (max error 10−6) 3 Approx: only considering Dk and last release times 4 Analytical approach with Chernoff bounds (Chen and Chen) 5 Analytical approach with Hoeffding’s inequality (this paper) 6 Analytical approach with Bernstein inequalities (this paper)

von der Br¨ uggen et al. (TU Dortmund) 16 / 19

slide-83
SLIDE 83

Evaluation: Runtime

5 10 15 20 25 30 35 Number of Tasks - Runtime Comparison 10−2 10−1 100 101 102 103 104 Average Runtime (sec)

Pruning Unify Approx Chernoff Hoeffding Bernstein von der Br¨ uggen et al. (TU Dortmund) 17 / 19

slide-84
SLIDE 84

Evaluation: Precision

0.0 0.2 0.4 0.6 0.8 1.0 0.0 0.2 0.4 0.6 0.8 1.0

5 10 15 20 25 30 35 Number of Tasks - Runtime Comparison 10−2 10−1 100 101 102 103 104 Average Runtime (sec)

Pruning Unify Approx Chernoff Hoeffding Bernstein

Set 1 Set 2 Set 3 Set 4 Set 5 Sets with 15 Tasks - Approximation Quality 10−6 10−5 10−4 10−3 10−2 10−1 Calculated Probability

von der Br¨ uggen et al. (TU Dortmund) 18 / 19

slide-85
SLIDE 85

Conclusion

  • Probability of deadline miss important in system design
  • For multiple execution times: no binary schedulability decision
  • Job-level convolution not scalable (not more than 10 tasks)
  • Idea: Task-level convolution
  • Multinomial distribution
  • Pruning improves runtime without precision loss
  • Union improves runtime with bounded precision loss
  • With pruning: approach scalable
  • 75 tasks: average 621.6 sec per time point
  • 100 tasks: average 791.1 sec per time point
  • Easy parallelization
  • Analytical bounds: Hoeffding’s and Bernstein inequality
  • Precision roughly proportional to runtime

von der Br¨ uggen et al. (TU Dortmund) 19 / 19

slide-86
SLIDE 86

Conclusion

  • Probability of deadline miss important in system design
  • For multiple execution times: no binary schedulability decision
  • Job-level convolution not scalable (not more than 10 tasks)
  • Idea: Task-level convolution
  • Multinomial distribution
  • Pruning improves runtime without precision loss
  • Union improves runtime with bounded precision loss
  • With pruning: approach scalable
  • 75 tasks: average 621.6 sec per time point
  • 100 tasks: average 791.1 sec per time point
  • Easy parallelization
  • Analytical bounds: Hoeffding’s and Bernstein inequality
  • Precision roughly proportional to runtime

Thank You!

von der Br¨ uggen et al. (TU Dortmund) 19 / 19