43
Network Calculus Tests – Feed Forward Network Settings Version 2.0 beta (2015-Jul-11) © Steen Bondorf 2013 - 2015, Some Rights Reserved. Except where otherwise noted, this work is licensed under Creative Commons Attribution-ShareAlike 4.0. See http://creativecommons.org/licenses/by-sa/4.0/ 1

disco.cs.uni-kl.de filedisco.cs.uni-kl.de

  • Upload
    ngoliem

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Network Calculus Tests – Feed Forward Network Settings

Version 2.0 beta (2015-Jul-11)

© Steffen Bondorf 2013 - 2015, Some Rights Reserved.

Except where otherwise noted, this work is licensed under Creative Commons Attribution-ShareAlike 4.0.See http://creativecommons.org/licenses/by-sa/4.0/

1

Page 2: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

General Information• The network calculus analyses presented in this document were created for the purpose of testing the Disco

Deterministic Network Calculator (DiscoDNC)1 – an open-source deterministic network calculus tool developedby the Distributed Computer Systems (DISCO) Lab at the University of Kaiserslautern.

• Naming of the individual network settings depicts the name of the according functional test for the DiscoDNC.

• The naming scheme used in this document is detailed in NetworkCalculus_NamingScheme.pdf.

• Arrival bounds for PmooArrivalBound.java and analyses using them are listed only if results differ fromPbooArrivalBound_Concatenation.java.

Changelog:Version 1.1 (2014-Dec-30):

• Streamlined the PMOO left-over latency T l.o.f

e2e

computation.

• Adaption to naming scheme version 1.1.

Version 2.0 beta (2015-Jul-11):

• Rework of Arrival Bounds documentation

– Parameters: see DiscoDNC’s computeArrivalBounds( Server server, Set<Flow> flows_to_bound, Flowflow_of_interest ).

– Bounding arrivals moved to the analysis requiring the specific bounds if they differ between flows of interest(may cause duplication).

– The algebraic derivations is included within many tabular bounding procedures. They are adapted toPbooArrivalBound_Concatenation.java, yet, in contrast to the current DiscoDNC code, they may reuseknown results.

• The naming scheme was slightly updated to include sets of servers S and sets of Flows F.

• Minor consistency fixes for variable names.

1http://disco.cs.uni-kl.de/index.php/projects/disco-dnc

Page 3: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

FeedForward_1SC_3Flows_1AC_3Paths

s0 s1

s2 s3f1

f0

f2

S = {s0, s1, s2, s3} with

�s0 = �

s1 = �s2 = �

s3 = �Rsi ,Tsi

= �20,20, i 2 {0, 1, 2}

F = {f0, f1, f2} with

↵f0= ↵f1

= ↵f2= �

r

fn,b

fn = �5,25, n 2 {0, 1, 2}

Page 4: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f0

Total Flow AnalysisArrival Bounds

(s1, {f0} , ;) =: ↵f0s1

FIFO Multiplexing Arbitrary Multiplexing↵f0s1

= ↵f0 ↵ �l.o.f0s0

↵x(f0)s0 = �0,0

�l.o.f0s0

= �s0 ↵x(f0)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

= �s0 = �20,20

↵f0s1

= ↵f0 ↵ �l.o.f0s0

= �r

f0s1 ,b

f0s1

rf0s1

= 5

bf0s1

= ↵f0�T l.o.

�= 5 · 20 + 25

= 125

= = �5,125

(s3, {f1} , ;) =: ↵f1s3

FIFO Multiplexing Arbitrary Multiplexing(s1, {f2} , ;) =: ↵f2s1

=

: ↵fnsi

with (n, i) 2 {(1, 3) , (2, 1)}↵fnsi

= ↵fn ↵ �l.o.fns2

↵x(fn)s2 = �5,25

�l.o.fns2

= �s2 ↵x(fn)

s2

= �R

l.o.fns2 ,T

l.o.fns2

Rl.o.fns2

hR

s2 � rx(fn)s2

i+= 20� 5

= 15

T l.o.fns2

�s2 = bx(fn)

s2

20 · [t� 20]

+= 25

t = 21

1

4

�s2 = ↵x(fn)

s2

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

↵fnsi

= ↵fn ↵ �l.o.fns2

= �r

fnsi

,b

fnsi

rfnsi

= 5

bfnsi

= ↵fn(T l.o.fn

s2)

= 5 · 2114

+ 25

= 131

1

4

= ↵fn(T l.o.fn

s2)

= 5 · 2813

+ 25

= 166

2

3

= = �5,131 14

= �5,166 23

Page 5: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

(s3, {f0} , ;) =: ↵f0s3

FIFO Multiplexing Arbitrary Multiplexing↵f0s3

= ↵f0 ↵��l.o.f0s0

⌦ �l.o.f0s1

�(reuse of previous result)

= ↵f0 ↵ �l.o.f0s0

↵ �l.o.f0s1

= ↵f0s1↵ �l.o.f0

s1

↵x(f0)s1 = ↵f2

s1= �5,131 1

4= ↵f2

s1= �5,166 2

3

�l.o.f0s1

= �s1 ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 20� 5

= 15

T l.o.f0s1

�s1 = bx(f0)

s1

20 · [t� 20]

+= 131

1

4

t = 26

9

16

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 166

2

3

t = 37

7

8

= = �15,26 916

= �15,37 78

↵f0s1

= �5,125

↵f0s3

= ↵f0 ↵ �l.o.f0s1

= �r

f0s3 ,b

f0s3

rf0s3

= 5

bf0s3

= ↵f0s1

�T l.o.f0s1

�= 5 · 26 9

16

+ 125

= 257

13

16

= ↵f0s1

�T l.o.f0s1

�= 5 · 377

8

+ 125

= 313

8

9

= = �5,257 1316

= �5,313 89

Page 6: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analysis

TFA FIFO Multiplexing Arbitrary Multiplexing

s0

↵s0 = ↵f0

s0= �5,25

Df0s0

�s0 = b

s0

20 · [t� 20]

+= 25

t = 21

1

4

FIFO per micro flow�s0 = b

s0

20 · [t� 20]

+= 25

t = 21

1

4

Bf0s0

↵s0 (Ts0) = 20 · 5 + 25

= 125

s1

↵s1

= ↵f0s1

+ ↵f2s1

= �5,125 + �5,131 14

= �10,256 14

= ↵f0s1

+ ↵f2s1

= �5,125 + �5,166 23

= �10,291 23

Df0s1

�s1 = b

s1

20 · [t� 20]

+= 256

1

4

t = 32

13

16

�s1 = ↵

s1

20 · [t� 20]

+= 10 · t+ 291

2

3

t = 69

1

6

Bf0s1

↵s1 (Ts1) = 10 · 20 + 256

1

4

= 456

1

4

↵s1 (Ts1) = 10 · 20 + 291

2

3

= 491

2

3

s3

↵s3

= ↵f0s3

+ ↵f1s3

= �5,257 1316

+ �5,131 14

= �10,389 116

= ↵f0s3

+ ↵f1s3

= �5,313 89+ �5,166 2

3

= �10,480 59

Df0s3

�s3 = b

s3

20 · [t� 20]

+= 389

1

16

t = 39

29

64

�s3 = ↵

s3

20 · [t� 20]

+= 10 · t+ 480

5

9

t = 88

5

90

Bf0s3

↵s3 (Ts3) = 10 · 20 + 389

1

16

= 589

1

16

↵s3 (Ts3) = 10 · 20 + 480

5

9

= 680

5

9

Df0

=

Xi={0,1,3}

Df0si

= 93

33

64

=

Xi={0,1,3}

Df0si

= 178

17

36

Bf0

= max

i={0,1,3}Bf0

si

= 589

1

16

= max

i={0,1,3}Bf0

si

= 680

5

9

Page 7: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Separate Flow Analysis and PMOO AnalysisArrival Bounds

(s3, {f1} , f0) =: ↵f1s3

FIFO Multiplexing Arbitrary Multiplexing(s1, {f2} , f0) =: ↵f2s1

=

: ↵fnsi

with (n, i) 2 {(1, 3) , (2, 1)}↵fnsi

= ↵fn ↵ �l.o.fns2

↵x(fn)s2 = �5,25

�l.o.fns2

= �s2 ↵x(fn)

s2

= �R

l.o.fns2 ,T

l.o.fns2

Rl.o.fns2

hR

s2 � rx(fn)s2

i+= 20� 5

= 15

T l.o.fns2

�s2 = bx(fn)

s2

20 · [t� 20]

+= 25

t = 21

1

4

�s2 = ↵x(fn)

s2

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

↵fnsi

= ↵fn ↵ �l.o.fns2

= �r

fnsi

,b

fnsi

rfnsi

= 5

bfnsi

= ↵fn�T l.o.fns2

�= 5 · 211

4

+ 25

= 131

1

4

= ↵fn�T l.o.fns2

�= 5 · 281

3

+ 25

= 166

2

3

= = �5,131 14

= �5,166 23

Remark:In this network setting, we have (s3, {f1} , f0) = (s3, {f1} , ;) and (s1, {f2} , f0) = (s1, {f2} , ;) becauseneither (cross-)flow f1 nor f2 interferes with the flow of interest f0 on multiple consecutive hops.

Page 8: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s0↵x(f0)s0 = �0,0

�l.o.f0s0

= �s0 ↵x(f0)

s0 = �20,20

s1

↵x(f0)s1 = ↵f2

s1= �5,131 1

4= ↵f2

s1= �5,166 2

3

�l.o.f0s1

= �s1 ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 20� 5

= 15

T l.o.f0s1

�s1 = bx(f0)

s1

20 · [t� 20]

+= 131

1

4

t = 26

9

16

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 166

2

3

t = 37

7

9

= = �15,26 916

= �15,37 79

s3

↵x(f0)s3 = ↵f1

s3= �5,131 1

4= ↵f1

s3= �5,166 2

3

�l.o.f0s3

= �s3 ↵x(f0)

s3

= �R

l.o.f0s3 ,T

l.o.f0s3

Rl.o.f0s3

hR

s3 � rx(f0)s3

i+= 20� 5

= 15

T l.o.f0s3

�s3 = bx(f0)

s3

20 · [t� 20]

+= 131

1

4

t = 26

9

16

�s3 = ↵x(f0)

s3

20 · [t� 20]

+= 5 · t+ 166

2

3

t = 37

7

9

= = �15,26 916

= �15,37 79

�l.o.f0

hs0,s1,s3i = �R

l.o.f0hs0,s1,s3i,T

l.o.f0hs0,s1,s3i

=

Oi={0,1,3}

�l.o.f0si

= �15,73 18

=

Oi={0,1,3}

�l.o.f0si

= �15,95 59

Df0

�l.o.f0

hs0,s1,s3i = bf0

15 ·t� 73

1

8

�+= 25

t = 74

19

24

�l.o.f0

hs0,s1,s3i = bf0

15 ·t� 95

5

9

�+= 25

t = 97

2

9

Bf0

↵f0

⇣T l.o.f0

hs0,s1,s3i

⌘= 5 · 731

8

+ 25

= 390

5

8

↵f0

⇣T l.o.f0

hs0,s1,s3i

⌘= 5 · 955

9

+ 25

= 502

7

9

Page 9: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PMOO Arbitrary Multiplexing

s0↵x(f0)s0

= �0,0↵x̄(f0)s0

s1↵x(f0)s1

= ↵f2s1

= �5,166 23↵x̄(f0)

s1

s3↵x(f0)s3

= ↵f1s3

= �5,166 23↵x̄(f0)

s3

�l.o.f0

hs0,s1,s3i = �R

l.o.f0hs0,s1,s3i,T

l.o.f0hs0,s1,s3i

Rl.o.f0

hs0,s1,s3i

=

^i2{0,1,3}

⇣R

si � rx(f0)si

⌘= (20� 5) ^ (20� 5) ^ (20� 5)

= 15

T l.o.f0

hs0,s1,s3i

=

Xi2{0,1,3}

Tsi +

bx̄(f0)si + rx(f0)

si · Tsi

Rl.o.f0e2e

!

= 20 +

0 + 0 · 2015

+ 20 +

166

23 + 5 · 2015

+ 20 +

166

23 + 5 · 2015

= 60 +

533

13

15

= 95

5

9

= = �15,95 59

Df0

�l.o.f0

hs0,s1,s3i = bf0

15 ·t� 95

5

9

�+= 25

t = 97

2

9

Bf0

↵f0

⇣T l.o.f0

hs0,s1,s3i

⌘= 5 · 955

9

+ 25

= 502

7

9

Page 10: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f1

Total Flow AnalysisArrival Bounds

(s3, {f1} , ;) =: ↵f1s3

FIFO Multiplexing Arbitrary Multiplexing(s1, {f2} , ;) =: ↵f2s1

=

: ↵fnsi

with (n, i) 2 {(1, 3) , (2, 1)}↵fnsi

= ↵fn ↵ �l.o.fns2

↵x(fn)s2 = �5,25

�l.o.fns2

= �s2 ↵x(fn)

s2

= �R

l.o.fns2 ,T

l.o.fns2

Rl.o.fns2

hR

s2 � rx(fn)s2

i+= 20� 5

= 15

T l.o.fns2

�s2 = bx(fn)

s2

20 · [t� 20]

+= 25

t = 21

1

4

�s2 = ↵x(fn)

s2

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

↵fnsi

= ↵fn ↵ �l.o.fns2

= �r

fnsi

,b

fnsi

rfnsi

= 5

bfnsi

= ↵fn�T l.o.fns2

�= 5 · 211

4

+ 25

= 131

1

4

= ↵fn�T l.o.fns2

�= 5 · 281

3

+ 25

= 166

2

3

= = �5,131 14

= �5,166 23

(s3, {f0} , ;) =: ↵f0s3

FIFO Multiplexing Arbitrary Multiplexing↵f0s3

= ↵f0 ↵��l.o.f0s0

⌦ �l.o.f0s1

�↵x(f0)s0 = �0,0

�l.o.f0s0

= �s0 ↵x(f0)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

= �s0 = �20,20

↵x(f0)s1 = ↵f2

s1= �5,131 1

4= ↵f2

s1= �5,166 2

3

�l.o.f0s1

= �s1 ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 20� 5

= 15

T l.o.f0s1

�s1 = bx(f0)

s1

20 · [t� 20]

+= 131

1

4

t = 26

9

16

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 166

2

3

t = 37

7

8

= = �15,26 916

= �15,37 78

�l.o.f0s0

⌦ �l.o.f0s1

= �l.o.f0

hs0,s1i

= �20,20 ⌦ �15,26 916

= �15,46 916

= �20,20 ⌦ �15,37 78

= �15,57 78

↵f0s3

= ↵f0 ↵��l.o.f0s0

⌦ �l.o.f0s1

� rf0s3

= 5

bf0s3

= ↵f0s1

⇣T l.o.f0

hs0,s1i

⌘= 5 · 46 9

16

+ 25

= 257

13

16

= ↵f0s1

⇣T l.o.f0

hs0,s1i

⌘= 5 · 577

8

+ 25

= 313

8

9

= = �5,257 1316

= �5,313 89

Remark:PmooArrivalBound.java will have the same result as PbooArrivalBound_Concatenation.javabecause f0 does not have cross-traffic interfering on multiple consecutive hops.

Page 11: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analysis

TFA FIFO Multiplexing Arbitrary Multiplexing

s2

↵s2

= ↵f1s2

+ ↵f2s2

= �5,25 + �5,25

= �10,50

Df1s2

�s2 = b

s2

20 · [t� 20]

+= 50

t = 22

1

2

�s2 = ↵

s2

20 · [t� 20]

+= 10 · t+ 50

t = 45

Bf1s2

↵s2 (Ts2) = 20 · 10 + 50

= 250

s3

↵s3

= ↵f0s3

+ ↵f1s3

= �5,257 1316

+ �5,131 14

= �10,389 116

= ↵f0s3

+ ↵f1s3

= �5,313 89+ �5,166 2

3

= �10,480 59

Df1s3

�s3 = b

s3

20 · [t� 20]

+= 389

1

16

t = 39

29

64

�s3 = ↵

s3

20 · [t� 20]

+= 10 · t+ 480

5

9

t = 88

5

90

Bf1s3

↵s3 (Ts3) = 10 · 20 + 389

1

16

= 589

1

16

↵s3 (Ts3) = 10 · 20 + 480

5

9

= 680

5

9

Df1

=

3Xi=2

Df1si

= 61

61

64

=

3Xi=2

Df1si

= 185

5

9

Bf1

= max

i={2,3}Bf1

si

= 589

1

16

= max

i={2,3}Bf1

si

= 680

5

9

Page 12: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Separate Flow Analysis and PMOO AnalysisArrival Bounds

(s1, {f2} , ;) =: ↵f2s1

FIFO Multiplexing Arbitrary Multiplexing↵f2s1

= ↵f2 ↵ �l.o.f2s2

↵x(f2)s2 = �5,25

�l.o.f2s2

= �s2 ↵x(f2)

s2

= �R

l.o.f2s2 ,T

l.o.f2s2

Rl.o.fns2

hR

s2 � rx(f2)s2

i+= 20� 5

= 15

T l.o.fns2

�s2 = bx(f2)

s2

20 · [t� 20]

+= 25

t = 21

1

4

�s2 = ↵x(f2)

s2

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

↵f2s1

= ↵f2 ↵ �l.o.f2s2

= �r

f2s1 ,b

f2s1

rf2s1

= 5

bf2s1

= ↵f2�T l.o.f2s2

�= 5 · 211

4

+ 25

= 131

1

4

= ↵f2�T l.o.f2s2

�= 5 · 281

3

+ 25

= 166

2

3

= = �5,131 14

= �5,166 23

(s3, {f0} , ;) =: ↵f0s3

FIFO Multiplexing Arbitrary Multiplexing↵f0s3

= ↵f0 ↵��l.o.f0s0

⌦ �l.o.f0s1

�↵x(f0)s0 = �0,0

�l.o.f0s0

= �s0 ↵x(f0)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

= �s0 = �20,20

↵x(f0)s1 = ↵f2

s1= �5,131 1

4= ↵f2

s1= �5,166 2

3

�l.o.f0s1

= �s1 ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 20� 5

= 15

T l.o.f0s1

�s1 = bx(f0)

s1

20 · [t� 20]

+= 131

1

4

t = 26

9

16

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 166

2

3

t = 37

7

8

= = �15,26 916

= �15,37 78

�l.o.f0s0

⌦ �l.o.f0s1

= �l.o.f0

hs0,s1i

= �20,20 ⌦ �15,26 916

= �15,46 916

= �20,20 ⌦ �15,37 78

= �15,57 78

↵f0s3

= ↵f0 ↵��l.o.f0s0

⌦ �l.o.f0s1

� rf0s3

= 5

bf0s3

= ↵f0s1

⇣T l.o.f0

hs0,s1i

⌘= 5 · 46 9

16

+ 25

= 257

13

16

= ↵f0s1

⇣T l.o.f0

hs0,s1i

⌘= 5 · 577

8

+ 25

= 313

8

9

= = �5,257 1316

= �5,313 89

Remark:PmooArrivalBound.java will have the same result as PbooArrivalBound_Concatenation.javabecause f0 does not have cross-traffic interfering on multiple consecutive hops.

Page 13: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s2↵x(f1)s2 = ↵f2

= �5,25�l.o.f1s2

= �s2 ↵x(f1)

s2

= �R

l.o.f1s2 ,T

l.o.f1s2

= �15,21 14

= �15,28 13

s3

↵x(f1)s3 = ↵f0

s3= �5,257 13

16= �5,313 8

9

�l.o.f1s3

= �s3 ↵x(f1)

s3

= �R

l.o.f1s3 ,T

l.o.f1s3

Rl.o.f1s3

hR

s3 � rx(f1)s3

i+= 20� 5

= 15

T l.o.f1s3

�s3 = bx(f1)

s3

20 · [t� 20]

+= 257

13

16

t = 32

57

64

�s3 = ↵x(f1)

s3

20 · [t� 20]

+= 5 · t+ 313

8

9

t = 47

16

27

= = �15,32 5764

= �15,47 1627

�l.o.f1

hs2,s3i = �R

l.o.f1hs2,s3i,T

l.o.f1hs2,s3i

=

3Oi=2

�l.o.f1si

= �15,54 964

=

3Oi=2

�l.o.f1si

= �15,75 2527

Df1

�l.o.f1

hs2,s3i = bf1

15 ·t� 54

9

64

�+= 25

t = 55

155

192

�l.o.f1

hs2,s3i = bf1

15 ·t� 75

25

27

�+= 25

t = 77

16

27

Bf1

↵f1

⇣T l.o.f1

hs2,s3i

⌘= 5 · 54 9

64

+ 25

= 295

45

64

↵f1

⇣T l.o.f1

hs2,s3i

⌘= 5 · 7525

27

+ 25

= 404

17

27

PMOO Arbitrary Multiplexing

s2↵x(f1)s2

= ↵f2s2

= �5,25↵x̄(f1)s2

s3↵x(f1)s3

= ↵f0s3

= �5,313 89↵x̄(f1)

s3

�l.o.f1

hs2,s3i = �R

l.o.f1hs2,s3i,T

l.o.f1hs2,s3i

Rl.o.f1

hs2,s3i

=

^i2{2,3}

⇣R

si � rx(f1)si

⌘= (20� 5) ^ (20� 5)

= 15

T l.o.f1

hs2,s3i

=

Xi2{2,3}

Tsi +

bx̄(f1)si + rx(f1)

si · Tsi

Rl.o.f1e2e

!

= 20 +

25 + 5 · 2015

+ 20 +

313

89 + 5 · 2015

= 40 +

538

89

15

= 75

25

27

= = �15,75 2527

Df1

�l.o.f1

hs2,s3i = bf1

15 ·t� 75

25

27

�+= 25

t = 77

16

27

Bf1

↵f1

⇣T l.o.f1

hs2,s3i

⌘= 5 · 7525

27

+ 25

= 404

17

27

Page 14: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f2

Total Flow AnalysisArrival Bounds

(s1, {f0} , ;) =: ↵f0s1

FIFO Multiplexing Arbitrary Multiplexing↵f0s1

= ↵f0 ↵ �l.o.f0s0

↵x(f0)s0 = �0,0

�l.o.f0s0

= �s0 ↵x(f0)

s0= �

s0 = �20,20

↵f0s1

= ↵f0 ↵ �l.o.f0s0

= �r

f0s1 ,b

f0s1

rf0s1

= 5

bf0s1

= ↵f0�T l.o.

s0

�= 5 · 20 + 25

= 125

= = �5,125

(s1, {f2} , ;) =: ↵f2s1

FIFO Multiplexing Arbitrary Multiplexing↵f2s1

= ↵f2 ↵ �l.o.f2s2

↵x(f2)s2 ↵f1

= �5,25

�l.o.f2s2

= �s2 ↵x(f2)

s2

= �R

l.o.f2s2 ,T

l.o.f2s2

Rl.o.f2s2

hR

s2 � rx(f2)s2

i+= 20� 5

= 15

T l.o.f2s2

�s2 = bx(f2)

s2

20 · [t� 20]

+= 25

t = 21

1

4

�s2 = ↵x(f2)

s2

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

↵f2s1

= ↵f2 ↵ �l.o.f2s2

= �r

f2s1 ,b

f2s1

rf2s1

= 5

bf2s1

= ↵f2�T l.o.f2s2

�= 5 · 211

4

+ 25

= 131

1

4

= ↵f2�T l.o.f2s2

�= 5 · 281

3

+ 25

= 166

2

3

= = �5,131 14

= �5,166 23

Page 15: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analysis

TFA FIFO Multiplexing Arbitrary Multiplexing

s2

↵s2

= ↵f1+ ↵f2

= �5,25 + �5,25

= �10,50

Df2s2

�s2 = b

s2

20 · [t� 20]

+= 50

t = 22

1

2

�s2 = ↵

s2

20 · [t� 20]

+= 10 · t+ 50

t = 45

Bf2s2

↵s2 (Ts2) = 20 · 10 + 50

= 250

s1

↵s3

= ↵f0s3

+ ↵f1s3

= �5,125 + �5,131 14

= �10,256 14

= ↵f0s3

+ ↵f1s3

= �5,125 + �5,166 23

= �10,291 23

Df2s1

�s1 = b

s1

20 · [t� 20]

+= 256

1

4

t = 32

13

16

�s1 = ↵

s1

20 · [t� 20]

+= 10 · t+ 291

2

3

t = 69

1

6

Bf2s1

↵s1 (Ts1) = 10 · 20 + 256

1

4

= 456

1

4

↵s1 (Ts1) = 10 · 20 + 291

2

3

= 491

2

3

Df2

=

2Xi=1

Df2si

= 55

5

16

=

2Xi=1

Df2si

= 114

1

6

Bf2

= max

i={1,2}Bf2

si

= 456

1

4

= max

i={1,2}Bf2

si

= 491

2

3

Page 16: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Separate Flow Analysis and PMOO AnalysisArrival Bounds

(s1, {f0} , f2) =: ↵f0s1

FIFO Multiplexing Arbitrary Multiplexing↵f0s1

= ↵f0 ↵ �l.o.f0s0

↵x(f0)s0 = �0,0

�l.o.f0s0

= �s0 ↵x(f0)

s0= �

s0 = �20,20

↵f0s1

= ↵f0 ↵ �l.o.f0s0

= �r

f0s1 ,b

f0s1

rf0s1

= 5

bf0s1

= ↵f0�T l.o.

s0

�= 5 · 20 + 25

= 125

= = �5,125

Analyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s2↵x(f2)s2 = ↵f1

= �5,25�l.o.f2s2

= �s2 ↵x(f1)

s2 = �15,21 14

= �15,28 13

s1

↵x(f2)s1 = ↵f0

s1= �5,125

�l.o.f2s1

= �s1 ↵x(f2)

s1

= �R

l.o.f2s1 ,T

l.o.f2s1

Rl.o.f2s1

hR

s1 � rx(f2)s1

i+= 20� 5

= 15

T l.o.f2s1

�s1 = b

s1

20 · [t� 20]

+= 125

t = 26

1

4

�s1 = ↵x(f2)

s1

20 · [t� 20]

+= 5 · t+ 125

t = 35

= = �15,26 14

= �15,35

�l.o.f2

hs2,s1i = �R

l.o.f2hs2,s1i,T

l.o.f2hs2,s1i

=

2Oi=1

�l.o.f2si

= �15,47 12

=

2Oi=1

�l.o.f2si

= �15,63 13

Df2

�l.o.f2e2e

= bf2

15 ·t� 47

1

2

�+= 25

t = 49

1

6

�l.o.f2e2e

= bf2

15 ·t� 63

1

3

�+= 25

t = 65

Bf2

↵f2

⇣T l.o.f2

e2e

⌘= 5 · 471

2

+ 25

= 262

1

2

↵f2

⇣T l.o.f2

e2e

⌘= 5 · 631

3

+ 25

= 341

2

3

Page 17: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PMOO Arbitrary Multiplexing

s2↵x(f2)s2

= ↵f1= �5,25

↵x̄(f2)s2

s1↵x(f2)s1

= ↵f0s1

= �5,125↵x̄(f2)s1

�l.o.f2

hs2,s1i = �R

l.o.f2hs2,s1i,T

l.o.f2hs2,s1i

Rl.o.f2

hs2,s1i

=

^i2{2,1}

⇣R

si � rx(f2)si

⌘= (20� 5) ^ (20� 5)

= 15

T l.o.f2

hs2,s1i

=

Xi2{2,1}

Tsi +

bx̄(f2)si + rx(f2)

si · Tsi

Rl.o.f2e2e

!

= 20 +

25 + 5 · 2015

+ 20 +

125 + 5 · 2015

= 40 +

350

15

= 63

1

3

= = �15,63 13

Df2

�l.o.f2

hs2,s1i = bf2

15 ·t� 63

1

3

�+= 25

t = 65

Bf2

↵f2

⇣T l.o.f2

hs2,s1i

⌘= 5 · 631

3

+ 25

= 341

2

3

Page 18: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

FeedForward_1SC_4Flows_1AC_4Paths

s0 s1

s2 s3

f1

f0

f2

f3

S = {s0, s1, s2, s3} with

�s0 = �

s1 = �s2 = �

s3 = �Rsi ,Tsi

= �20,20, i 2 {0, 1, 2, 3}

F = {f0, f1, f2, f3} with

↵fn= �

r

fn,b

fn = �5,25, n 2 {0, 1, 2, 3}

Page 19: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Arrival Bounds

(s0, {f3} , ;) =: ↵f3s0

FIFO Multiplexing Arbitrary Multiplexing(s1, {f2} , ;) =: ↵f2s1

(s3, {f1} , ;) =: ↵f1s3

=

: ↵fnsi

with (n, i) 2 {(3, 0) , (2, 1) , (1, 3)}↵fnsi

= ↵fn ↵ �l.o.fns2

↵x(fn)s2 = �5,25 + �5,25 = �10,50

�l.o.fns2

= �s2 ↵x(fn)

= �R

l.o.fns2 ,T

l.o.fns2

Rl.o.fns2

hR

s2 � rx(fn)s2

i+= 20� 5

= 15

T l.o.fns2

�s2 = bx(fn)

s2

20 · [t� 20]

+= 50

t = 22

1

2

�s2 = ↵x(fn)

s2

20 · [t� 20]

+= 10 · t+ 50

t = 45

= = �10,22 12

= �10,45

↵fnsi

= ↵fn ↵ �l.o.fns2

= �r

fnsi

,b

fnsi

rfnsi

= 5

bfnsi

↵fn�T l.o.fns2

�= 5 · 22 1

2 + 25 = 137

12 ↵fn

�T l.o.fns2

�= 5 · 45 + 25 = 250

= = �5,137 12

= �5,250

(s3, {f0} , ;) = ↵f0s1

FIFO Multiplexing Arbitrary Multiplexing↵f0s1

= ↵f0 ↵ �l.o.f0s0

↵f0s0

= ↵f0= �5,25

↵x(f0)s0 = ↵f3

s0= �5,137 1

2= ↵f3

s0= �5,250

�l.o.f0s0

= �s0 ↵x(f0)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

Rl.o.f0s0

hR

s0 � rx(f0)s0

i+= 20� 5

= 15

T l.o.f0s0

�s0 = bx(f0)

s0

20 · [t� 20]

+= 137

1

2

t = 26

7

8

�s0 = ↵x(f0)

s0

20 · [t� 20]

+= 5 · t+ 250

t = 43

1

3

= = �15,26 78

= �15,43 13

↵f0s1

= ↵f0 ↵ �l.o.f0s0

= �r

f0s1 ,b

f0s1

rf0s1

= 5

bf0s1

↵f0�T l.o.f0s0

�= 5 · 26 7

8 + 25 = 159

38 ↵f0

�T l.o.f0s0

�= 5 · 43 1

3 + 25 = 241

23

= = �5,159 38

= �5,241 23

(s3, {f0} , ;) = ↵f0s3

FIFO Multiplexing Arbitrary Multiplexing↵f0s3

= ↵f0 ↵��l.o.f0s0

⌦ �l.o.f0s1

�(reuse of previous result)

= ↵f0 ↵ �l.o.f0s0

↵ �l.o.f0s1

= ↵f0s1↵ �l.o.f0

s1

↵f0s1

= �5,159 38

= �5,241 23

↵x(f0)s1 = ↵f2

s1= �5,137 1

2= ↵f2

s1= �5,250

�l.o.f0s1

= �s1 ⌦ ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 20� 5

= 15

T l.o.f0s1

�s1 = bx(f0)

s1

20 · [t� 20]

+= 137

1

2

t = 26

7

8

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 250

t = 43

1

3

= = �15,26 78

= �15,43 13

↵f0s3

= ↵f0s1↵ �l.o.f0

s1

= �r

f0s3 ,b

f0s3

rf0s3

= 5

bf0s3

↵f0s1

�T l.o.f0s1

�= 5 · 26 7

8 + 159

38 = 293

34 ↵f0

s1

�T l.o.f0s1

�= 5 · 43 1

3 + 241

23 = 458

13

= = �5,293 34

= �5,458 13

Page 20: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

(s3, {f3} , ;) = ↵f3s3

FIFO Multiplexing Arbitrary MultiplexingPbooArrivalBound_Concatenation.java

↵f3s3

= ↵f3 ↵��l.o.f3s2

⌦ �l.o.f3s0

�(reuse of previous result)

= ↵f3 ↵ �l.o.f3s2

↵ �l.o.f3s0

= ↵f3s0↵ �l.o.f3

s0

↵x(f3)s0 = ↵f0

= �5,25

�l.o.f3s0

= �s0 ↵x(f3)

s0

= �R

l.o.f3s0 ,T

l.o.f3s0

Rl.o.f3s0

hR

s0 � rx(f3)s0

i+= 20� 5

= 15

T l.o.f3s0

�s0 = bf0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵f0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

↵f3s0

= �5,137 12

= �5,250

↵f3s3

= ↵f3s0↵ �l.o.f3

s0

= �r

f3s3 ,b

f3s3

rf3s3

= 5

bf3s3

= ↵f3s0

�T l.o.f3s0

�= 5 · 211

4

+ 137

1

2

= 243

3

4

= ↵f3s0

�T l.o.f3s0

�= 5 · 281

3

+ 250

= 391

2

3

= = �5,243 34

= �5,391 23

PmooArrivalBound.java

↵f3s3

= ↵f3 ↵ �l.o.f3

hs2,s0i

s2↵x(f3)s2 = ↵f1

+ ↵f2

= �5,25 + �5,25

= �10,50

↵x̄(f3)s2

s0↵x(f3)s

0

= ↵f0= �5,25

↵x̄(f3)s

0

�l.o.f3

hs2,s0i = �R

l.o.f3hs2,s0i,T

l.o.f3hs2,s0i

Rl.o.f3

hs2,s0i

=

^i2{2,0}

⇣R

si � rx(f3)si

⌘= (20� 10) ^ (20� 5)

= 10

T l.o.f3

hs2,s0i

=

Xi2{2,0}

Tsi +

bx̄(f3)si + rx(f3)

si · Tsi

Rl.o.f3

hs2,s0i

!

= 20 +

50 + 10 · 2010

+ 20 +

25 + 5 · 2010

= 77

1

2

= = �10,77 12

↵f3s3

= ↵f3 ↵ �l.o.f3

hs2,s0i

rf3s3

= 5

bf3s3

= ↵f3(T l.o.f3

hs2,s0i)

= 5 · 7712

+ 25

= 412

1

2

= = �5,412 12

Page 21: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f0

Total Flow AnalysisAnalysis

TFA FIFO Multiplexing Arbitrary MultiplexingPbooArrivalBound_Concatenation.java PmooArrivalBound.java

s0

↵s0

= ↵f0s0

+ ↵f3s0

= �5,25 + �5,137 12

= �10,162 12

= ↵f0s0

+ ↵f3s0

= �5,25 + �5,250

= �10,275

Df0s0

�s0 = b

s0

20 · [t� 20]

+= 162

1

2

t = 28

1

8

�s0 = ↵

s0

20 · [t� 20]

+= 10 · t+ 275

t = 67

1

2

Bf0s0

↵s0 (Ts0) = 10 · 20 + 162

1

2

= 262

1

2

↵s0 (Ts0) = 10 · 20 + 275

= 475

s1

↵s1

= ↵f0s1

+ ↵f2s1

= �5,159 38+ �5,137 1

2

= �10,296 78

= ↵f0s1

+ ↵f2s1

= �5,241 23+ �5,250

= �10,491 23

Df0s1

�s1 = b

s1

20 · [t� 20]

+= 296

7

8

t = 34

27

32

�s1 = ↵

s1

20 · [t� 20]

+= 10 · t+ 491

2

3

t = 89

1

6

Bf0s1

↵s1 (Ts1) = 10 · 20 + 296

7

8

= 496

7

8

↵s1 (Ts1) = 10 · 20 + 491

2

3

= 691

2

3

s3

↵s3

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,293 34+ �5,137 1

2+ �5,243 3

4

= �15,675

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,458 13+ �5,250 + �5,391 2

3

= �15,1100

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,458 13+ �5,250 + �5,412 1

2

= �15,1120 56

Df0s3

�s3 = b

s3

20 · [t� 20]

+= 675

t = 53

3

4

�s3 = ↵

s3

20 · [t� 20]

+= 15 · t+ 1100

t = 300

�s3 = ↵

s3

20 · [t� 20]

+= 15 · t+ 1120

5

6

t = 304

1

6

Bf0s3

↵s3 (Ts3) = 15 · 20 + 675

= 975

↵s3 (Ts3) = 15 · 20 + 1100

= 1400

↵s3 (Ts3) = 15 · 20 + 1120

5

6

= 1420

5

6

Df0 Df0s0

+Df0s1

+Df0s3

= 116

2332 Df0

s0+Df0

s1+Df0

s3= 456

23 Df0

s0+Df0

s1+Df0

s3= 460

56

Bf0max

�Bf0

s0, Bf0

s1, Bf0

s3

= 975 max

�Bf0

s0, Bf0

s1, Bf0

s3

= 1400 max

�Bf0

s0, Bf0

s1, Bf0

s3

= 1420

56

Page 22: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Separate Flow Analysis and PMOO AnalysisAnalyses

PbooArrivalBound_Concatenation.java

SFA FIFO Multiplexing Arbitrary Multiplexing

s0

↵x(f0)s0 = ↵f3

s0= �5,137 1

2= ↵f3

s0= �5,250

�l.o.f0s0

= �s0 ↵x(f3)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

Rl.o.f0s0

hR

s0 � rx(f0)s0

i+= 15

T l.o.f0s0

�s0 = bx(f0)

s0

20 · [t� 20]

+= 137

1

2

t = 26

7

8

�s0 = ↵x(f0)

s0

20 · [t� 20]

+= 5 · t+ 250

t = 43

1

3

= = �15,26 78

= �15,43 13

s1

↵x(f0)s1 = ↵f1

s1= �5,137 1

2= ↵f1

s1= �5,250

�l.o.f0s1

= �s1 ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 15

T l.o.f0s1

�s1 = bx(f0)

s1

20 · [t� 20]

+= 137

1

2

t = 26

7

8

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 250

t = 43

1

3

= = �15,26 78

= �15,43 13

s3

↵x(f0)s3

= ↵f2s3

+ ↵f3s3

= �5,137 12+ �5,243 3

4

= �10,381 14

= ↵f2s3

+ ↵f3s3

= �5,250 + �5,391 23

= �10,641 23

�l.o.f0s3

= �s3 ↵x(f0)

s3

= �R

l.o.f0s3 ,T

l.o.f0s3

Rl.o.f0s3

hR

s3 � rx(f0)s3

i+= 10

T l.o.f0s3

�s3 = bx(f0)

s3

20 · [t� 20]

+= 381

1

4

t = 39

1

16

�s3 = ↵x(f0)

s3

20 · [t� 20]

+= 10 · t+ 641

2

3

t = 104

1

6

= = �10,39 116

= �10,104 16

�l.o.f0e2e

= �R

l.o.f0e2e

,T

l.o.f0e2e

Ni={0,1,3} �

l.o.f0si

= �10,92 1316

Ni={0,1,3} �

l.o.f0si

= �10,190 56

Df0

�l.o.f0e2e

= bf0

10 ·t� 92

13

16

�+= 25

t = 95

5

16

�l.o.f0e2e

= bf0

10 ·t� 190

5

6

�+= 25

t = 193

1

3

Bf0

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 9213

16

+ 25

= 489

1

16

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 1905

6

+ 25

= 979

1

6

Page 23: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PmooArrivalBound.java

SFA Arbitrary Multiplexing

s0

↵x(f0)s0 = ↵f3

s0= �5,250

�l.o.f0s0

= �s0 ↵x(f3)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

Rl.o.f0s0

hR

s0 � rx(f0)s0

i+= 15

T l.o.f0s0

�s0 = ↵x(f0)

s0

20 · [t� 20]

+= 5 · t+ 250

t = 43

1

3

= = �15,43 13

s1

↵x(f0)s1 = ↵f1

s1= �5,250

�l.o.f0s1

= �s1 ↵x(f0)

s1

= �R

l.o.f0s1 ,T

l.o.f0s1

Rl.o.f0s1

hR

s1 � rx(f0)s1

i+= 15

T l.o.f0s1

�s1 = ↵x(f0)

s1

20 · [t� 20]

+= 5 · t+ 250

t = 43

1

3

= = �15,43 13

s3

↵x(f0)s3 = ↵f2

s3+ ↵f3

s3= �5,250 + �5,412 1

2= �10,662 1

2

�l.o.f0s3

= �s3 ↵x(f0)

s3

= �R

l.o.f0s3 ,T

l.o.f0s3

Rl.o.f0s3

hR

s3 � rx(f0)s3

i+= 10

T l.o.f0s3

�s3 = ↵x(f0)

s3

20 · [t� 20]

+= 10 · t+ 662

1

2

t = 106

1

4

= = �10,106 14

�l.o.f0e2e

= �R

l.o.f0e2e

,T

l.o.f0e2e

Ni={0,1,3} �

l.o.f0si

= �10,192 1112

Df0

�l.o.f0e2e

= bf0

10 ·t� 192

11

12

�+= 25

t = 195

5

12

Bf0

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 19211

12

+ 25

= 989

7

12

Page 24: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PbooArrivalBound_Concatenation.java

PMOO Arbitrary Multiplexing

s0↵x(f0)s0

= ↵f3s0

= �5,250↵x̄(f0)s0

s1↵x(f0)s1

= ↵f2s1

= �5,250↵x̄(f0)s1

s3↵x(f0)s3

= ↵f2s3

+ ↵f3s3

= �5,250 + �5,391 23

= �5,641 23

↵x̄(f0)s3

�l.o.f0e2e

= �R

l.o.f0e2e

,T

l.o.f0e2e

Rl.o.f0e2e

=

^i2{0,1,3}

⇣R

si � rx(f0)si

⌘= (20� 5) ^ (20� 5) ^ (20� 10)= 10

T l.o.f0e2e

=

Xi2{0,1,3}

Tsi +

bx̄(f0)si + rx(f0)

si · Tsi

Rl.o.f0e2e

!

= 20 +

250 + 5 · 2010

+ 20 +

250 + 5 · 2010

+ 20 +

641

23 + 10 · 2010

= 60 +

1541

23

10

= 214

1

6

= = �10,214 16

Df0

�l.o.f0e2e

= bf0

10 ·t� 214

1

6

�+= 25

t = 216

2

3

Bf0

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 2141

6

+ 25

= 1095

5

6

Page 25: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PmooArrivalBound.java

PMOO Arbitrary Multiplexing

s0↵x(f0)s0

= ↵f3s0

= �5,250↵x̄(f0)s0

s1↵x(f0)s1

= ↵f2s1

= �5,250↵x̄(f0)s1

s3↵x(f0)s3

= ↵f2s3

+ ↵f3s3

= �5,250 + �5,412 12

= �10,662 12

↵x̄(f0)s3

�l.o.f0e2e

= �R

l.o.f0e2e

,T

l.o.f0e2e

Rl.o.f0e2e

=

^i2{0,1,3}

⇣R

si � rx(f0)si

⌘= (20� 5) ^ (20� 5) ^ (20� 10)= 10

T l.o.f0e2e

=

Xi2{0,1,3}

Tsi +

bx̄(f0)si + rx(f0)

si · Tsi

Rl.o.f0e2e

!

= 20 +

250 + 5 · 2010

+ 20 +

250 + 5 · 2010

+ 20 +

662

12 + 10 · 2010

= 60 +

1462

12

10

= 216

1

4

= = �10,216 14

Df0

�l.o.f0e2e

= bf0

10 ·t� 216

1

4

�+= 25

t = 218

3

4

Bf0

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 2161

4

+ 25

= 1106

1

4

Page 26: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f1

Total Flow AnalysisAnalysis

PbooArrivalBound_Concatenation.java

TFA FIFO Multiplexing Arbitrary Multiplexing

s2

↵s2

↵f3s3

= ↵f1s2

+ ↵f2s2

+ ↵f3s2

= �5,25 + �5,25 + �5,25

= �15,75

Df1s2

�s2 = b

s2

20 · [t� 20]

+= 75

t = 23

3

4

�s2 = ↵

s2

20 · [t� 20]

+= 15 · t+ 75

t = 95

Bf1s2

↵s2 (Ts2) = 15 · 20 + 75

= 375

s3

↵s3

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,137 12+ �5,293 3

4+ �5,243 3

4

= �15,675

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,250 + �5,458 13+ �5,391 2

3

= �15,1100

Df1s3

�s3 = b

s3

20 · [t� 20]

+= 675

t = 53

3

4

�s3 = ↵

s3

20 · [t� 20]

+= 15 · t+ 1100

t = 300

Bf1s3

↵s3 (Ts3) = 15 · 20 + 675

= 975

↵s3 (Ts3) = 15 · 20 + 1100

= 1400

Df1 Df1s2

+Df1s3

= 77

12 Df1

s2+Df1

s3= 395

Bf1max

�Bf1

s2, Bf1

s3

= 975 max

�Bf1

s2, Bf1

s3

= 1400

Page 27: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PmooArrivalBound.java

TFA Arbitrary Multiplexing

s2

↵s2

↵f3s3

= ↵f1s2

+ ↵f2s2

+ ↵f3s2

= �5,25 + �5,25 + �5,25

= �15,75

Df1s2

�s2 = ↵

s2

20 · [t� 20]

+= 15 · t+ 75

t = 95

Bf1s2

↵s2 (Ts2) = 15 · 20 + 75

= 375

s3

↵s3

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,250 + �5,458 13+ �5,412 1

2

= �15,1120 56

Df1s3

�s3 = ↵

s3

20 · [t� 20]

+= 15 · t+ 1120

5

6

t = 304

1

6

Bf1s3

↵s3 (Ts3) = 15 · 20 + 1120

5

6

= 1420

5

6

Df1 Df1s2

+Df1s3

= 399

16

Bf1max

�Bf1

s2, Bf1

s3

= 1420

56

Page 28: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Separate Flow Analysis and PMOO AnalysisAnalyses

PbooArrivalBound_Concatenation.java

SFA FIFO Multiplexing Arbitrary Multiplexing

s2↵x(f1)s2

= ↵f2s2

+ ↵f3s2

= �5,25 + �5,25

= �10,50�l.o.f1s2

= �s2 ↵x(f1)

s2 = �10,22 12

= �10,45

s3

↵x(f1)s3

= ↵f0s3

+ ↵f3s3

= �5,293 34+ �5,243 3

4

= �10,537 13

= ↵f0s3

+ ↵f3s3

= �5,458 13+ �5,391 2

3

= �10,850

�l.o.f1s3

= �s3 ↵x(f1)

s3

= �R

l.o.f1s3 ,T

l.o.f1s3

Rl.o.f1s3

hR

s3 � rx(f1)s3

i+= 10

T l.o.f1s3

�s3 = bx(f1)

s3

20 · [t� 20]

+= 537

1

2

t = 46

7

8

�s3 = ↵x(f1)

s3

20 · [t� 20]

+= 10 · t+ 850

t = 125

= = �10,46 78

= �10,125

�l.o.f1e2e

= �R

l.o.f1e2e

,T

l.o.f1e2e

N3i=2 �

l.o.f1si

= �10,69 38

N3i=2 �

l.o.f1si

= �10,170

Df1

�l.o.f1e2e

= bf1

10 ·t� 69

3

8

�+= 25

t = 71

7

8

�l.o.f1e2e

= bf1

10 · [t� 170]

+= 25

t = 172

1

2

Bf1

↵f1

⇣T l.o.f1

e2e

⌘= 5 · 693

8

+ 25

= 371

7

8

↵f1

⇣T l.o.f1

e2e

⌘= 5 · 170 + 25

= 875

Page 29: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PmooArrivalBound.java

SFA Arbitrary Multiplexing

s2↵x(f1)s2

= ↵f2s2

+ ↵f3s2

= �5,25 + �5,25

= �10,50�l.o.f1s2

= �s2 ↵x(f1)

s2 = �10,45

s3

↵x(f1)s3

= ↵f0s3

+ ↵f3s3

= �5,458 13+ �5,412 1

2

= �10,870 56

�l.o.f1s3

= �s3 ↵x(f1)

s3

= �R

l.o.f1s3 ,T

l.o.f1s3

Rl.o.f1s3

hR

s3 � rx(f1)s3

i+= 10

T l.o.f1s3

�s3 = ↵x(f1)

s3

20 · [t� 20]

+= 10 · t+ 870

5

6

t = 127

1

12

= = �10,127 112

�l.o.f1e2e

= �R

l.o.f1e2e

,T

l.o.f1e2e

N3i=2 �

l.o.f1si

= �10,172 112

Df1

�l.o.f1e2e

= bf1

10 ·t� 172

1

12

�+= 25

t = 174

7

12

Bf1

↵f1

⇣T l.o.f1e2e

⌘= 5 · 172 1

12

+ 25

= 885

5

12

Page 30: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PbooArrivalBound_Concatenation.java

PMOO Arbitrary Multiplexing

s2↵x(f1)s2

= ↵f2s2

+ ↵f3s2

= �5,25 + �5,25

= �10,50↵x̄(f1)s2

s3↵x(f1)s3

= ↵f0s3

+ ↵f3s3

= �5,458 13+ �5,391 2

3

= �10,850↵x̄(f1)s3

�l.o.f1e2e

= �R

l.o.f1e2e

,T

l.o.f1e2e

Rl.o.f1e2e

=

^i2{2,3}

⇣R

si � rx(f1)si

⌘= (20� 10) ^ (20� 10)

= 10

T l.o.f1e2e

=

Xi2{2,3}

Tsi +

bx̄(f1)si + rx(f1)

si · Tsi

Rl.o.f1e2e

!

= 20 +

50 + 10 · 2010

+ 20 +

850 + 10 · 2010

= 40 +

1300

10

= 170

= = �10,170

Df1

�l.o.f1e2e

= bf1

10 · [t� 170]

+= 25

t = 172

1

2

Bf1↵f1

⇣T l.o.f1

e2e

⌘= 5 · 170 + 25

= 875

Page 31: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PmooArrivalBound.java

PMOO Arbitrary Multiplexing

s2↵x(f1)s2

= ↵f2s2

+ ↵f3s2

= �5,25 + �5,25

= �10,50↵x̄(f1)s2

s3↵x(f1)s3

= ↵f0s3

+ ↵f3s3

= �5,458 13+ �5,412 1

2

= �10,870 56

↵x̄(f1)s3

�l.o.f1e2e

= �R

l.o.f1e2e

,T

l.o.f1e2e

Rl.o.f1e2e

=

^i2{2,3}

⇣R

si � rx(f1)si

⌘= (20� 10) ^ (20� 10)

= 10

T l.o.f1e2e

=

Xi2{2,3}

Tsi +

bx̄(f1)si + rx(f1)

si · Tsi

Rl.o.f1e2e

!

= 20 +

50 + 10 · 2010

+ 20 +

870

56 + 10 · 2010

= 40 +

1320

56

10

= 172

1

12

= = �10,172 112

Df1

�l.o.f1e2e

= bf1

10 ·t� 172

1

12

�+= 25

t = 174

7

12

Bf1

↵f1

⇣T l.o.f1

e2e

⌘= 5 · 172 1

12

+ 25

= 885

5

12

Page 32: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f2

Total Flow AnalysisAnalysis

TFA FIFO Multiplexing Arbitrary Multiplexing

s2

↵s2

= ↵f2s2

+ ↵f1s2

+ ↵f3s2

= �5,25 + �5,25 + �5,25

= �15,75

Df2s2

�s2 = b

s2

20 · [t� 20]

+= 75

t = 23

3

4

�s2 = ↵

s2

20 · [t� 20]

+= 15 · t+ 75

t = 95

Bf2s2

↵s2 (Ts2) = 15 · 20 + 75

= 375

s1

↵s1

= ↵f2s1

+ ↵f0s1

= �5,137 12+ �5,159 3

8

= �10,296 78

= ↵f2s1

+ ↵f0s1

= �5,250 + �5,241 23

= �10,491 23

Df2s1

�s1 = b

s1

20 · [t� 20]

+= 296

7

8

t = 34

27

32

�s1 = ↵

s1

20 · [t� 20]

+= 10 · t+ 491

2

3

t = 89

1

6

Bf2s1

↵s1 (Ts1) = 10 · 20 + 296

7

8

= 496

7

8

↵s1 (Ts1) = 10 · 20 + 491

2

3

= 691

2

3

Df2 Df2s2

+Df2s1

= 58

1932 Df2

s2+Df2

s1= 184

16

Bf2max

�Bf2

s2, Bf2

s1

= 496

78 max

�Bf2

s2, Bf2

s1

= 691

23

Separate Flow Analysis and PMOO AnalysisAnalyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s2↵x(f2)s2

= ↵f1s2

+ ↵f3s2

= �5,25 + �5,25

= �10,50�l.o.f2s2

= �s2 ↵x(f2)

s2 = �10,22 12

= �10,45

s1

↵x(f2)s1 = ↵f0

s1= �5,159 3

8= ↵f0

s1= �5,241 2

3

�l.o.f2s1

= �s1 ↵x(f2)

s1

= �R

l.o.f2s1 ,T

l.o.f2s1

Rl.o.f2s1

hR

s2 � rx(f2)s2

i+= 15

T l.o.f2s1

�s1 = bx(f2)

s1

20 · [t� 20]

+= 159

3

8

t = 27

31

32

�s1 = ↵x(f2)

s1

20 · [t� 20]

+= 5 · t+ 241

2

3

t = 42

7

9

= = �10,27 3132

= �10,42 79

�l.o.f2e2e

= �R

l.o.f2e2e

,T

l.o.f2e2e

N2i=1 �

l.o.f2si

= �10,50 1532

N2i=1 �

l.o.f2si

= �10,87 79

Df2

�l.o.f2e2e

= bf2

10 ·t� 50

15

32

�+= 25

t = 52

31

32

�l.o.f2e2e

= bf2

10 ·t� 87

7

9

�+= 25

t = 90

5

18

Bf2

↵f2

⇣T l.o.f2

e2e

⌘= 5 · 5015

32

+ 25

= 277

11

32

↵f2

⇣T l.o.f2

e2e

⌘= 5 · 877

9

+ 25

= 463

8

9

Page 33: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PMOO Arbitrary Multiplexing

s2↵x(f2)s2

= ↵f1s2

+ ↵f3s2

= �5,25 + �5,25

= �10,50↵x̄(f2)s2

s1↵x(f2)s1

= ↵f0s1

= �5,241 23↵x̄(f2)

s1

�l.o.f2e2e

= �R

l.o.f2e2e

,T

l.o.f2e2e

Rl.o.f2e2e

=

^i2{2,1}

⇣R

si � rx(f2)si

⌘= (20� 10) ^ (20� 5)

= 10

T l.o.f2e2e

=

Xi2{2,1}

Tsi +

bx̄(f2)si + rx(f2)

si · Tsi

Rl.o.f2e2e

!

= 20 +

50 + 10 · 2010

+ 20 +

241

23 + 5 · 2010

= 40 +

591

23

10

= 99

1

6

= = �10,99 16

Df2

�l.o.f2e2e

= bf2

10 ·t� 99

1

6

�= 25

t = 101

2

3

Bf2

↵f2

⇣T l.o.f2

e2e

⌘= 5 · 991

6

+ 25

= 520

5

6

Page 34: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f3

Total Flow AnalysisAnalysis

PbooArrivalBound_Concatenation.java

TFA FIFO Multiplexing Arbitrary MultiplexingPbooArrivalBound_Concatenation.java PmooArrivalBound.java

s2

↵s2

= ↵f3s2

+ ↵f1s2

+ ↵f2s2

= �5,25 + �5,25 + �5,25

= �15,75

Df3s2

�s2 = b

s2

20 · [t� 20]

+= 75

t = 23

3

4

�s2 = ↵

s2

20 · [t� 20]

+= 15 · t+ 75

t = 95

Bf3s2

↵s2 (Ts2) = 15 · 20 + 75

= 375

s0

↵s0

= ↵f0s0

+ ↵f3s0

= �5,25 + �5,137 12

= �10,162 12

= ↵f0s0

+ ↵f3s0

= �5,25 + �5,250

= �10,275

Df3s0

�s0 = b

s0

20 · [t� 20]

+= 162

1

2

t = 28

1

8

�s0 = ↵

s0

20 · [t� 20]

+= 10 · t+ 275

t = 67

1

2

Bf3s0

↵s0 (Ts0) = 10 · 20 + 162

1

2

= 262

1

2

↵s0 (Ts0) = 10 · 20 + 275

= 475

s3

↵s3

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,293 34+ �5,137 1

2+ �5,243 3

4

= �15,675

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,458 13+ �5,250 + �5,391 2

3

= �15,1100

= ↵f0s3

+ ↵f1s3

+ ↵f3s3

= �5,458 13+ �5,250 + �5,412 1

2

= �15,1120 56

Df3s3

�s3 = b

s3

20 · [t� 20]

+= 675

t = 53

3

4

�s3 = ↵

s3

20 · [t� 20]

+= 15 · t+ 1100

t = 300

�s3 = ↵

s3

20 · [t� 20]

+= 15 · t+ 1120

5

6

t = 304

1

6

Bf3s3

↵s3 (Ts3) = 15 · 20 + 675

= 975

↵s3 (Ts3) = 15 · 20 + 1100

= 1400

↵s3 (Ts3) = 15 · 20 + 1120

5

6

= 1420

5

6

Df3 Df3s2

+Df3s0

+Df3s3

= 105

58 Df3

s2+Df3

s0+Df3

s3= 462

12 Df3

s2+Df3

s0+Df3

s3= 466

23

Bf3max

�Bf3

s2, Bf3

s0, Bf3

s3

= 975 max

�Bf3

s2, Bf3

s0, Bf3

s3

= 1400 max

�Bf3

s2, Bf3

s0, Bf3

s3

= 1420

56

Page 35: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Separate Flow Analysis and PMOO AnalysisAnalyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s2↵x(f3)s2

= ↵f1s2

+ ↵f2s2

= �5,25 + �5,25

= �10,50�l.o.f3s2

= �s2 ↵x(f3)

s2 = �10,22 12

= �10,45

s0↵x(f3)s0 = ↵f0

s0= �5,25

�l.o.f3s0

= �s0 ↵x(f3)

s0 = �15,21 14

= �15,28 13

s3

↵x(f3)s3

= ↵f0s3

+ ↵f1s3

= �5,293 34+ �5,137 1

2

= �10,431 14

= ↵f0s3

+ ↵f1s3

= �5,458 13+ �5,250

= �10,708 13

�l.o.f3s3

= �s3 ↵x(f3)

s3

= �R

l.o.f3s3 ,T

l.o.f3s3

Rl.o.f3s3

hR

s3 � rx(f3)s3

i+= 10

T l.o.f3s3

�s3 = bx(f3)

s3

20 · [t� 20]

+= 431

1

4

t = 41

9

16

�s3 = ↵x(f3)

s3

20 · [t� 20]

+= 10 · t+ 708

1

3

t = 110

5

6

= = �10,41 916

= �10,110 56

�l.o.f3e2e

= �R

l.o.f3e2e

,T

l.o.f3e2e

Ni={2,0,3} �

l.o.f3si

= �10,85 516

Ni={2,0,3} �

l.o.f3si

= �10,184 16

Df3

�l.o.f3e2e

= bf3

10 ·t� 85

5

16

�+= 25

t = 87

13

16

�l.o.f3e2e

= bf3

10 ·t� 184

1

6

�+= 25

t = 186

2

3

Bf3

↵f3

⇣T l.o.f3

e2e

⌘= 5 · 85 5

16

+ 25

= 451

9

16

↵f3

⇣T l.o.f3

e2e

⌘= 5 · 1841

6

+ 25

= 945

5

6

Page 36: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PMOO Arbitrary Multiplexing

s2↵x(f3)s2

= ↵f1s2

+ ↵f2s2

= �5,25 + �5,25

= �10,50↵x̄(f3)s2

s0↵x(f3)s0

= ↵f0s0

= �5,25↵x̄(f3)s0

s3↵x(f3)s3

= ↵f0s3

+ ↵f1s3

= �5,458 13+ �5,250

= �10,708 13

↵x̄(f3)s3

�l.o.f3e2e

= �R

l.o.f3e2e

,T

l.o.f3e2e

Rl.o.f3e2e

=

^i2{2,0,3}

⇣R

si � rx(f3)si

⌘= (20� 10) ^ (20� 5) ^ (20� 10)

= 10

T l.o.f3e2e

=

Xi2{2,0,3}

Tsi +

bx̄(f3)si + rx(f3)

si · Tsi

Rl.o.f3e2e

!

= 20 +

50 + 10 · 2010

+ 20 +

25 + 5 · 2010

+ 20 +

708

13 + 10 · 2010

= 60 +

1283

13

10

= 188

1

3

= = �10,188 13

Df3

�l.o.f3e2e

= bf3

10 ·t� 188

1

3

�+= 25

t = 190

5

6

Bf3

↵f3

⇣T l.o.f3

e2e

⌘= 5 · 1881

3

+ 25

= 966

2

3

Page 37: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

FeedForward_1SC_2Flows_1AC_2Paths

s2s0

s1

f0

f1

S = {s0, s1, s2} with

�s0 = �

s1 = �s2 = �

Rsi ,Tsi= �20,20, i 2 {0, 1, 2}

F = {f0, f1} with

↵f0= ↵f1

= �r

fn,b

fn = �5,25, n 2 {0, 1}

Flow f0

Total Flow AnalysisArrival Bounds

(s1, {f1} , ;) =: ↵f1s1

FIFO Multiplexing Arbitrary Multiplexing(s2, {f0} , ;) =: ↵f0s2

=

: ↵fnsi

with (n, i) 2 {(1, 1) , (0, 2)}↵fnsi

= ↵fn ↵ �l.o.fns0

↵x(fn)s0 = �5,25

�l.o.fns0

= �s0 ↵x(fn)

s0

= �R

l.o.fns0 ,T

l.o.fns0

Rl.o.fns0

= 15

T l.o.fns0

�s0 = bx(fn)

s0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵x(fn)

s0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

=

=�15,21 14

=�15,28 13

↵fnsi

= ↵fn ↵ �l.o.fns0

= �r

fnsi

,b

fnsi

rfnsi

= 5

bfnsi

↵f0�T l.o.fns0

�= 5 · 211

4

+ 25

= 131

1

4

↵f0�T l.o.fns0

�= 5 · 281

3

+ 25

= 166

2

3

= = �5,131 14

= �5,166 23

(s2, {f1} , ;) =: ↵f1s2

FIFO Multiplexing Arbitrary Multiplexing↵f1s2

= ↵f1 ↵��l.o.f1s0

⌦ �l.o.f1s1

�(reuse of previous result)

= ↵f1 ↵ �l.o.f1s0

↵ �l.o.f1s1

= ↵f1s1↵ �l.o.f1

s1

↵x(f1)s1 = �0,0

�l.o.f1s1

= �s1 ↵x(f1)

s1 = �s1 =�20,20

↵f1s1

= �5,131 14

= �5,166 23

↵f1s2

= ↵f1 ↵ �l.o.f1s1

= �r

f1s2 ,b

f1s2

rf1s2

= 5

bf1s2

↵f0�T l.o.f0s0

�= 5 · 20 + 131

1

4

= 231

1

4

↵f0�T l.o.f0s0

�= 5 · 20 + 166

2

3

= 266

2

3

= = �5,231 14

= �5,266 23

Page 38: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Remark:PmooArrivalBound.java will have the same result as PbooArrivalBound_Concatenation.javabecause f0 does not have cross-traffic interfering on multiple consecutive hops.

Analysis

TFA FIFO Multiplexing Arbitrary Multiplexing

s0

↵s0

= ↵f0+ ↵f1

= �5,25 + �5,25

= �10,50

Df0s0

�s0 = b

s0

20 · [t� 20]

+= 50

t = 22

1

2

�s0 = ↵

s0

20 · [t� 20]

+= 10 · t+ 50

t = 45

Bf0s0

↵s0 (Ts0) = 10 · 20 + 50

= 250

s2

↵s2

= ↵f0s2

+ ↵f1s2

= �5,231 14+ �5,131 1

4

= �10,362 12

= ↵f0s2

+ ↵f1s2

= �5,266 23+ �5,166 2

3

= �10,433 13

Df0s2

�s2 = b

s2

20 · [t� 20]

+= 362

1

2

t = 38

1

8

�s2 = ↵

s2

20 · [t� 20]

+= 10 · t+ 433

1

3

t = 83

1

3

Bf0s2

↵s2 (Ts2) = 10 · 20 + 362

1

2

= 562

1

2

↵s2 (Ts2) = 10 · 20 + 433

1

3

= 633

1

3

Df0P

i={0,2} Df0si

= 60

58

Pi={0,2} D

f0si

= 128

13

Bf0max

i={0,2} Bf0si

= 562

12 max

i={0,2} Bf0si

= 633

13

Separate Flow Analysis and PMOO AnalysisArrival Bounds

(s2, {f1} , f0) =: ↵f1s2

FIFO Multiplexing Arbitrary Multiplexing↵f1s2

= ↵f1 ↵��l.o.f1s0

⌦ �l.o.f1s1

�↵x(f0)s0 = �5,25

�l.o.f1s0

= �s0 ↵x(f1)

s0

= �R

l.o.f1s0 ,T

l.o.f1s0

Rl.o.f1s0

= 15

T l.o.f1s0

�s0 = bx(f1)

s0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵x(f1)

s0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

=

=�15,21 14

=�15,28 13

↵x(f1)s1 = �0,0

�l.o.f1s1

= �s1 ↵x(f1)

s1 = �s1 =�20,20

�l.o.f1s0

⌦ �l.o.f1s1

= �l.o.f1

hs0,s1i

= �R

l.o.f1hs0,s1i,T

l.o.f1hs0,s1i

= �l.o.f1s0

⌦ �s1

= �15,21 14⌦ �20,20

= �15,41 14

= �l.o.f1s0

⌦ �s1

= �15,28 13⌦ �20,20

= �15,48 13

↵f1s2

= ↵f1 ↵��l.o.f1s0

⌦ �l.o.f1s1

�= �

r

f1hs0,s1i,b

f1hs0,s1i

rf1hs0,s1i = 5

bf1hs0,s1i

↵f1

⇣T l.o.f1

hs0,s1i

⌘= 5 · 411

4

+ 25

= 231

1

4

↵f1

⇣T l.o.f1

hs0,s1i

⌘= 5 · 481

3

+ 25

= 266

2

3

= = �5,231 14

= �5,266 23

Remark:PmooArrivalBound.java will have the same result as PbooArrivalBound_Concatenation.javabecause f0 does not have cross-traffic interfering on multiple consecutive hops.

Page 39: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s0

↵x(f0)s0 = ↵f1

= �5,25

�l.o.f0s0

= �s0 ↵x(f0)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

Rl.o.f0s0

hR

s0 � rx(f0)s0

i+= 15

T l.o.f0s0

�s0 = bx(f0)

s0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵x(f0)

s0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

s2

↵x(f0)s2 = �5,231 1

4= �5,266 2

3

�l.o.f0s2

= �s2 ↵x(f0)

s2

= �R

l.o.f0s2 ,T

l.o.f0s2

Rl.o.f0s2

hR

s2 � rx(f0)s2

i+= 15

T l.o.f0s2

�s2 = bx(f0)

s2

20 · [t� 20]

+= 231

1

4

t = 31

9

16

�s2 = ↵x(f0)

s2

20 · [t� 20]

+= 5 · t+ 266

2

3

t = 44

4

9

= = �15,31 916

= �15,44 49

�l.o.f0e2e

= �R

l.o.f0e2e

,T

l.o.f0e2e

Ni={0,2} �

l.o.f0si

= �15,52 1316

Ni={0,2} �

l.o.f0si

= �15,72 79

Df0

�l.o.f0e2e

= bf0

15 ·t� 52

13

16

�+= 25

t = 54

23

48

�l.o.f0e2e

= bf0

15 ·t� 72

7

9

�+= 25

t = 74

4

9

Bf0

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 5213

16

+ 25

= 289

1

16

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 727

9

+ 25

= 388

8

9

PMOO Arbitrary Multiplexing

s0↵x(f0)s

0

= �5,25↵x̄(f0)s

0

s2↵x(f0)s2

= �5,266 23↵x̄(f0)

s2

�l.o.f0e2e

= �R

l.o.f0e2e

,T

l.o.f0e2e

Rl.o.f0e2e

=

^i2{0,2}

⇣R

si � rx(f0)si

⌘= (20� 5) ^ (20� 5)

= 15

T l.o.f0e2e

=

Xi2{0,2}

Tsi +

bx̄(f0)si + rx(f0)

si · Tsi

Rl.o.f0e2e

!

= 20 +

25 + 5 · 2015

+ 20 +

266

23 + 5 · 2015

= 40 +

491

23

15

= 72

7

9

= = �15,72 79

Df0

�l.o.f0e2e

= bf0

15 ·t� 72

7

9

�+= 25

t = 74

4

9

Bf0

↵f0

⇣T l.o.f0

e2e

⌘= 5 · 727

9

+ 25

= 388

8

9

Page 40: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Flow f1

Total Flow AnalysisArrival Bounds

(s1, {f1} , ;) =: ↵f1s1

FIFO Multiplexing Arbitrary Multiplexing(s2, {f0} , ;) =: ↵f0s2

=

: ↵fnsi

with (n, i) 2 {(1, 1) , (0, 2)}↵fnsi

= ↵fn ↵ �l.o.fns0

↵x(fn)s0 = �5,25

�l.o.fns0

= �s0 ↵x(fn)

s0

= �R

l.o.fns0 ,T

l.o.fns0

Rl.o.fns0

= 15

T l.o.fns0

�s0 = bx(fn)

s0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵x(fn)

s0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

=

=�15,21 14

=�15,28 13

↵fnsi

= ↵fn ↵ �l.o.fns0

rfnsi

= 5

bfnsi

↵f0�T l.o.fns0

�= 131

14 ↵f0

�T l.o.fns0

�= 166

23

= = �5,131 14

= �5,166 23

(s2, {f1} , ;) =: ↵f1s2

FIFO Multiplexing Arbitrary Multiplexing↵f1s2

= ↵f1 ↵��l.o.f1s0

⌦ �l.o.f1s1

�= ↵f1 ↵ �l.o.f1

s0↵ �l.o.f1

s1= ↵f1

s1↵ �l.o.f1

s1

↵x(f1)s1 = �0,0

�l.o.f1s1

= �s1 ↵x(f1)

s1 = �s1 =�20,20

↵f1s1

= �5,131 14

= �5,166 23

↵f1s2

= ↵f1s1↵ �l.o.f1

s1

= ↵f1 ↵ �l.o.f1s1

rf1s2

= 5

bf1s2

↵f0�T l.o.f0s0

�= 231

14 ↵f0

�T l.o.f0s0

�= 266

23

= = �5,231 14

= �5,266 23

Remark:PmooArrivalBound.java will have the same result as PbooArrivalBound_Concatenation.javabecause f1 does not have cross-traffic interfering on multiple consecutive hops.

Page 41: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analysis

TFA FIFO Multiplexing Arbitrary Multiplexing

s0

↵s0 = ↵f0

+ ↵f1= �5,25 + �5,25 = �10,50

Df0s0

�s0 = b

s0

20 · [t� 20]

+= 50

t = 22

1

2

�s0 = ↵

s0

20 · [t� 20]

+= 10 · t+ 50

t = 45

Bf0s0

↵s0 (Ts0) = 10 · 20 + 50

= 250

s1

↵s1 = ↵f1

s1= �5,131 1

4= ↵f1

s1= �5,166 2

3

Df1s1

�s1 = b

s1

20 · [t� 20]

+= 131

1

4

t = 26

9

16

FIFO per micro flow�s1 = b

s1

20 · [t� 20]

+= 166

2

3

t = 28

1

3

Bf1s1

↵s1 (Ts1) = 5 · 20 + 131

1

4

= 231

1

4

↵s1 (Ts1) = 5 · 20 + 166

2

3

= 266

2

3

s2

↵s2

= ↵f0s2

+ ↵f1s2

= �5,231 14+ �5,131 1

4

= �10,362 12

= ↵f0s2

+ ↵f1s2

= �5,266 23+ �5,166 2

3

= �10,433 13

Df1s2

�s2 = b

s2

20 · [t� 20]

+= 362

1

2

t = 38

1

8

�s2 = ↵

s2

20 · [t� 20]

+= 10 · t+ 433

1

3

t = 83

1

3

Bf1s2

↵s2 (Ts2) = 10 · 20 + 362

1

2

= 562

1

2

↵s2 (Ts2) = 10 · 20 + 433

1

3

= 633

1

3

Df1P2

i=0 �f1si

= 87

316

P2i=0 �

f1si

= 156

23

Bf1max

2i=0 B

f1si

= 562

12 max

2i=0 B

f1si

= 633

13

Separate Flow Analysis and PMOO AnalysisArrival Bounds

(s2, {f0} , ;) =: ↵f0s2

FIFO Multiplexing Arbitrary Multiplexing↵f0s2

= ↵f0 ↵ �l.o.f0s0

↵x(f0)s0 = �5,25

�l.o.f0s0

= �s0 ↵x(f0)

s0

= �R

l.o.f0s0 ,T

l.o.f0s0

Rl.o.f0s0

= 15

T l.o.f0s0

�s0 = bx(f0)

s0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵x(f0)

s0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

=

=�15,21 14

=�15,28 13

↵f0s2

= ↵f0 ↵ �l.o.f0s2

= ↵f0 ↵ �l.o.f0s2

rf0s2

= 5

bf0s2

↵f0�T l.o.f0s0

�= 131

14 ↵f0

�T l.o.f0s0

�= 166

23

= = �5,131 14

= �5,166 23

Remark:PmooArrivalBound.java will have the same result as PbooArrivalBound_Concatenation.javabecause f1 does not have cross-traffic interfering on multiple consecutive hops.

Page 42: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

Analyses

SFA FIFO Multiplexing Arbitrary Multiplexing

s0

↵x(f1)s0 = ↵f0

= �5,25

�l.o.f1s0

= �s0 ↵x(f1)

s0

Rl.o.f1s0

hR

s0 � rx(f1)s0

i+= 15

T l.o.f1s0

�s0 = bx(f1)

s0

20 · [t� 20]

+= 25

t = 21

1

4

�s0 = ↵x(f1)

s0

20 · [t� 20]

+= 5 · t+ 25

t = 28

1

3

= = �15,21 14

= �15,28 13

s1↵x(f1)s1 = �0,0

�l.o.f1s1

= �s1 ↵x(f1)

s1 = �s1 = �20,20

s2

↵x(f1)s2 = �5,131 1

4= �5,166 2

3

�l.o.f1s2

= �s2 ↵x(f1)

s2

Rl.o.f1s2

hR

s2 � rx(f1)s2

i+= 15

T l.o.f1s2

�s2 = bx(f1)

s2

20 · [t� 20]

+= 131

1

4

t = 26

9

16

�s2 = ↵x(f1)

s2

20 · [t� 20]

+= 5 · t+ 166

2

3

t = 37

7

9

= = �15,26 916

= �15,37 79

�l.o.f1e2e

= �R

l.o.f1e2e

,T

l.o.f1e2e

N2i=0 �

l.o.f1si

= �15,67 1316

N2i=0 �

l.o.f1si

= �15,86 19

Df1

�l.o.f1e2e

= bf1

15 ·t� 67

13

16

�+= 25

t = 69

23

48

�l.o.f1e2e

= bf1

15 ·t� 86

1

9

�+= 25

t = 87

7

9

Bf1

↵f1

⇣T l.o.f1

e2e

⌘= 5 · 6713

16

+ 25

= 364

1

16

↵f1

⇣T l.o.f1

e2e

⌘= 5 · 861

9

+ 25

= 455

5

9

Page 43: disco.cs.uni-kl.de filedisco.cs.uni-kl.de

PMOO Arbitrary Multiplexing

s0↵x(f1)s0

= �5,25↵x̄(f1)s0

s1↵x(f1)s0

= �0,0↵x̄(f1)s0

s2↵x(f1)s2

= �5,166 23↵x̄(f1)

s2

�l.o.f1e2e

= �R

l.o.f1e2e

,T

l.o.f1e2e

Rl.o.f1e2e

=

^i2{0,1,2}

⇣R

si � rx(f1)si

⌘= (20� 5) ^ (20� 0) ^ (20� 5)

= 15

T l.o.f3e2e

=

Xi2{0,1,2}

Tsi +

bx̄(f1)si + rx(f1)

si · Tsi

Rl.o.f1e2e

!

= 20 +

25 + 5 · 2015

+ 20 +

0 + 0 · 2015

+ 20 +

166

23 + 5 · 2015

= 60 +

391

23

15

= 86

1

9

= = �15,86 19

Df1

�l.o.f1e2e

= bf1

15 ·t� 86

1

9

�+= 25

t = 87

7

9

Bf1

↵f1

⇣T l.o.f1

e2e

⌘= 5 · 861

9

+ 25

= 455

5

9