deterministic network calculus p.2
DESCRIPTION
Deterministic Network Calculus p.2. DNC arrival results. Accumulated arrival functions R(t): traffic recieved in [0,t] Arrival function may be constrained: R(t)-R(s)TRANSCRIPT
![Page 1: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/1.jpg)
Deterministic Network Calculus p.2
![Page 2: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/2.jpg)
DNC arrival results
• Accumulated arrival functions R(t): traffic recieved in [0,t]
• Arrival function may be constrained:
R(t)-R(s) <= (t-s)
• (t-s) is typically either affine or staircase
• Packet spacing with period T and tolerance is constrained by staircase arrival curve.
• For fixed length packets affine and staircase constraints are equivalent.
• Leaky buckets and GCRAs are euqivalent and are affine and staircase constrained.
![Page 3: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/3.jpg)
DNC arrival results
• Arrival curves and their left limits L are equivalent.
• Good functions have (0)=0 and are subadditive:
(t+s) <= (t) + (s)
• Arrival curves and their subadditive closures are equivalent.
• Good functions are sufficient as arrival functions.
• Affine and staircase functions are good.
• R R (t) = sup {R(t+v)-R(v)} (for all positive v) is the smallest arrival curve for R
![Page 4: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/4.jpg)
Service curves (definition)
Service curves specify in the worst service to be experienced by some service element in a network. Service curves play the role of transfer functions (system impulse responses in our network calculus)
Definition (of service curve)
An input flow R is guaranteed a service from som network element iff:
R >= R* >= R = inf {(t-s)+R(s)} (for all s <= t)
Where R* is the output flow from the network element.
![Page 5: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/5.jpg)
Service curves (motivation)Consider a service element where the output rate is constantly r within busy periods. Input flow is R and output flow is R*
We have directly for t0 < t
R*(t)-R*(t0) = r(t-t0)
when t and t0 are in the same busy period.
If t0 is the beginning of the busy period:
R(t0)=R*(t0)
so that
R*(t)-R(t0) = r(t-t0)
R*(t)=R(t0)+r(t-t0)
R*(t) >= inf {r(t-s)+R(s)} (for all s <= t)
![Page 6: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/6.jpg)
Service Curves (motivation)Consider a service element where every bit is delayed constantly d.
We have directly for t0 < t
R*(t)=R(t-d)
Consider the funtion d defined by
d(t)=0 for t <=d
d(t)=infinity for t > d
Then
R*(t) =R(t-d) = inf {d(t-s)+R(s)} (for all s <= t)
(s must be the smallest value for which t-s <= d i.e. s = t-d)
d
infinity
![Page 7: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/7.jpg)
Service curves (motivation)(strict service curves)
Consider a network element where the output from the beginning of the present busy period is above (t-t0) (t0 – beginning of busy period) when t is in busy period.
Then for some t in a busy period:
R*(t)-R*(t0) >= (t-t0)
R*(t) >= R*(t0) + (t-t0)
R*(t) >= R(t0) + (t-t0) >= inf {(t-s)+R(s)} (for all s <= t)
Then for some t in an idle period:
R*(t) = R(t) >= inf {(t-s)+R(s)} (for all s <= t)
![Page 8: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/8.jpg)
Service Curves (Concatenation)
Consider the following tandem configuration of network elements
R(t) R**(t)R*(t)
Then the tandem guarantees a service curve
What we need to prove is that is monotone and associative, i.e.
R** >= R* R R (
![Page 9: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/9.jpg)
Concatenation (associativity)R infst {(t-s) +inf <= s{(sR(infst {inf <= s{(t-s) +(sR(infst, <= s {(t-s) + (sR(
R (infst {inf <= t-s {(t-s-)+ (R(s) }}= infst {inf <= t-s {(t-s-) + (R(s) }} infst, <= t-s {(t-s-) + (R(s) }
(t- = = t-= inft, s<= {-s) + (tR(s) }= inft, s<= {(t(-sR(s) }
(-> s, s -> = infst, <= s {(t-s(sR }= R
![Page 10: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/10.jpg)
Concatenating Constant Rates
= inf s <= t{(t-s1s)}= inf s <= t {r2(t-s) + r1(s)}= inf s <= t {r2(t-s) + r1(s)}
r2 t for r1>r2 (s=0)r1 t for r2>r1 (s=t)
= min{r1,r2} t
CONSITENT WITH BOTTLENECK INTUITION
![Page 11: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/11.jpg)
Concatenating with max. Delay
d = inf s <= t{(t-sds)}
= min{inf s <= d {(t-s)},inf}
= inf s <= d {(t-s)}= (t-d)
or in fact [(t-d)]+
d
![Page 12: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/12.jpg)
Prioritizing Servers (preemptive)
H = c t
L = [c t – H]+
H
H = c t
L
![Page 13: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/13.jpg)
Queue Lengths
R
t
R*
time
q(t)
q
![Page 14: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/14.jpg)
Queue Lengths from Specifications
qmax
![Page 15: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/15.jpg)
Proof
R(t)-R*(t) <= R(t)-inf s<=t {(t-s)+R(s)}
= sup s<=t {R(t) - (t-s) - R(s)}
= sup s<=t {R(t) – R(s) - (t-s)}
<= sup s<=t {(t-s) - (t-s)}
= sup 0<=t-s {(t-s) - (t-s)}
![Page 16: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/16.jpg)
Waiting Times
R
t
R*
time
w(t)
![Page 17: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/17.jpg)
Waiting Times from Specifications
wmax
![Page 18: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/18.jpg)
Output FlowLet the inflow R to some service element be constrained by and the service element guarantee a service curve
Then
The output flow R* is constrained by
sup u>=0 {(t+u) – (u)}
![Page 19: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/19.jpg)
Output Flow (example)
sup u>=0 {(t+u) – (u)}=sup u>=0 {r(t+u)+b – [s u – p]+}=
max{sup 0<=u<d {r(t+u)+b}, sup u>=d {r(t+u)+b – s u + p}}=max{{r(t+d)+b},{r (t+d) – (s d – p)}}=r(t+d) + b = rt + rd + b = rt + r (p/s) + b
d
rd
![Page 20: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/20.jpg)
Converging Flows
n+x <= n + x
![Page 21: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/21.jpg)
Loops (example)
RL
cc
LlowRlow
LhighRhigh
Lhigh= Rhigh=c t,
Llow= [c t- Rlow]+, Rlow= [c t- Llow]+,
![Page 22: Deterministic Network Calculus p.2](https://reader036.vdocument.in/reader036/viewer/2022062309/56813ac8550346895da2e030/html5/thumbnails/22.jpg)
Loops (example)Lhigh= Rhigh=c t,
Llow= [c t- Rlow]+, Rlow= [c t- Llow]+
L = rL t + bL , R = rR t + bR
Rlow = rRlow t + bRlow , Llow = rLlow t + bLlow
rRlow = rR , rLlow = rL
bRlow = bR + rR bLlow /(c- rLlow) = bR + bLlow rR /(c- rLlow)
bLlow = bL + rL bRlow /(c- rRlow) = bL + bRlow rL /(c- rRlow)