89-850 communication networks network calculus: deterministic traffic analysis
DESCRIPTION
89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis. Last updated: Tuesday, August 26, 2014 Prof. Amir Herzberg Dept of Computer Science, Bar Ilan University http://AmirHerzberg.com. Network Calculus: Topics. Introduction Voice call processing example - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/1.jpg)
89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis
Last updated: Monday, April 24, 2023
Prof. Amir HerzbergDept of Computer Science, Bar Ilan Universityhttp://AmirHerzberg.com
![Page 2: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/2.jpg)
Network Calculus: Topics 1. Introduction
• Voice call processing example• Network calculus• Fixed-rate service and Reich’s equation• Min-Plus Convolution
2. Arrival curves3. Service curves
Backlog, delay bounds, IntServ routers (Latency-Rate servers), Shapers
![Page 3: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/3.jpg)
Voice Call Processing & Delays Sound sampled and encoded
Constant Bit Rate (CBR), e.g. 64Kbps (8000*8b) Voice activity detection (and compression?) Discard (long, e.g. >0.2s) inactive periods On-off Variable Bit Rate (VBR)
Question: what link rate C is needed? R
buffer fills when source rate > service rate
r- < C < R
r-
![Page 4: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/4.jpg)
Voice Call Processing & Delays (cont’) Sound sampled and CBR-encoded Voice activity detection, compression VBR Shaping Specifications of sent traffic Allows efficient rates, buffers
Packetization (and padding if necessary) R
buffer fills when source rate > service rate
r- < C < R
r-
![Page 5: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/5.jpg)
Voice Call Processing & Delays (cont’) Sender:
Sampling and CBR-encoding Voice Activity Detection, compression VBR Shaping Packetization (and padding if necessary)
Network (queues, transmission, propagation) Receiver Immediate or delayed playout?
![Page 6: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/6.jpg)
Voice Transport over Packet Network Deterministic vs. stochastic analysis
ARBRSource Playout SinkDecoderShaper Packetizer
R
R
Packet network
Coderwith VAD
![Page 7: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/7.jpg)
Playout Delay to `Hide` Jitter Lines: actual packet delays Is output Ok? What size of buffer (backlog)?
packet send time
this target end-to-end delay Twill avoid any packet loss
![Page 8: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/8.jpg)
Playout Buffer Model Network system S:
CBR input: R(t)=rt Delay variation (jitter) bounded by Δ Namely for some D>0 holds:
R(t) ≦R*(t+D+Δ) and R*(t+D-Δ)≦R(t)
Playout buffer S’: Receive first bit at d(0), delay it by Δ Then, serve at constant rate r , when not empty if never empty after d(0), then S(t)=r(t-Δ-d(0))+
![Page 9: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/9.jpg)
Playout Buffer Analysis Claim: for every t>d(0) holds
0<R*(t)-S(t)<2Δr Playout buffer always non-
empty, produces at rate r Buffer size of 2Δr is sufficient
(to avoid overflow) Proof:
(omitted)
![Page 10: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/10.jpg)
Network Calculus Deterministic analysis of scheduling/ queuing /
flow Uses min, max as binary operators and
integrals (min-plus. max-plus algebra) Worst-case wasteful [cf. probabilistic queuing analysis –
later] Applicable to many problems Voice, audio, data, …
Only `traffic flow`, no processing/control Discrete or continuous time (bit or fluid model,
resp.)
![Page 11: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/11.jpg)
Network Calculus Network Calculus: Worst-case analysis of
Arrivals, Service, Buffering and Departures Used in design of QoS protocols
Internet: mainly IntServ, DiffServ ATM
Arrivals A(t)
Departures D(t)Service
Buffer X(t)
![Page 12: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/12.jpg)
L5
L4L3L1
slope C
a1a2a3 a4 a5 a6
Buffer Analysis: Fixed Rate Queue Bits sent (removed) at C bits/second (unless empty)
ak: arrival of (complete) packet k Lk[0,∞) : bit-length of packet k A(t), D(t): total arrivals (deliveries)
till time t; A(0-)=0 t- : just before time t
X(t): queued bits at time t
X(t)
![Page 13: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/13.jpg)
Reich’s Equation:
Work-conserving schedule with output rate C
))()()((sup)(0
stCsAtAtXts
))()()(()(],[at Departs],[at Arrives
tsts
stCsAtAtX
))()()((sup)(0
stCsAtAtXts
hence... ,0)'()0'( tAt
t
A(t)
X(t)A(s)
timev(t)
this line has slope C,and value A(s) + C.(t s) at t
s
Proof:
![Page 14: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/14.jpg)
Reich’s Equation: ))()()((sup)(0
stCsAtAtXts
))()()(()(],[at Departs],[at Arrives
tsts
stCsAtAtX
))()()((sup)(0
stCsAtAtXts
hence... ,0)'()0'( tAt
Let v be earliest time after which buffer was not empty:
}0)(:0sup{ sXtsv
Hence:
))()()((sup)()()()(0
stCsAtAvtCvAtAtXts
![Page 15: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/15.jpg)
Reich’s Equation: Illustration))()()((sup)(
0stCsAtAtX
ts
t
A(t)
X(t)A(s)
timeb
this line has slope C,and value A(s) + C.(t s) at t
s
D(time)
![Page 16: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/16.jpg)
Reich’s Equation: Departures
))()((inf
))()()((sup)()()()(
0
0
stCsA
stCsAtAtAtXtAtD
ts
ts
t
A(t)
X(t)
D(t)
time
![Page 17: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/17.jpg)
Departures and Convolutions))()((inf)(
0stCsAtD
ts
))()((inf)(
stCsAtD
s
A(s)=0 for s<0, and (t-s)+=0 for s≥t, hence…
Definition: The convolution A*B of two non-decreasing functions A(t), B(t):+ is:
))()((inf))(*( stBsAtBAs
Note: compare to linear systems theory convolution:dsstBsAtBA
s )()())(*(
Two equivalent notations: A*B, A B⊗
![Page 18: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/18.jpg)
Convolution Operation - Visualization
))()((inf))(*( stBsAtBAs
slope ρB (t )
st
slope C
t
slope ρτ t
slope C
A (t)
(A * B)(t)
A(τ ) + B(t τ)
B(t-τ)
A(t)=Ct +
]0[)()( tIttB
![Page 19: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/19.jpg)
Convolution Operator: Properties Convolution operator * is… Commutative: A*B=B*A Associative:
(A*B)*C=A*(B*C) Distributive over min function:
A*min{B,C} = = min {(A*B), (A*C)}
The convolution A*B is: ))()((inf))(*( stBsAtBAs
slope ρτ t
slope C
A (t)
(A * B)(t)
A(τ ) + B(t τ)
![Page 20: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/20.jpg)
Convolutions and the δ (delay) function
The convolution A*B is: ))()((inf))(*( stBsAtBAs
Define the delay function as:
elsefor0
)(dt
td
Since A(t) is non-decreasing:
)())()((inf))(*( dtAstsAtA dsd
B(t)≥0 is causal if B(t)=0 for t<0; If A, B are causal then…
)())(*())(*( 0 tAtAtBA AAA )*(
![Page 21: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/21.jpg)
Network Calculus: Topics 1. Introduction2. Arrival curves
Arrival curve and min-plus convolution Leaky bucket Good arrival curves are sub-additive Minimal arrival curve and min-plus deconvolution
3. Service curves Backlog, delay bounds, IntServ routers (Latency-
Rate servers), Shapers
![Page 22: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/22.jpg)
Cumulative flows Cumulative flow R(t) F , t real (or integer) F = { x(t) | x(t) is non decreasing and x(t) = 0 for t < 0 } Models:
time t
bits
12 567 time t
bits
1 55.5
R1(t) R2(t)
Fluid model (continuous) Packet model (left continuous)
![Page 23: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/23.jpg)
Arrival Curves Flow R has arrival curve (envelope) iff
∀0 s t:R(t) -R(s) (t-s) and (x<0)(α(x)=0)
Example 1: affine arrival curve r,b
(t) = r,b(t) = rt+b for t>0, r,b≥0(Example 2, stair arrival curvekvT,: hidden next foil)
time
bits
bslope r R(t)
![Page 24: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/24.jpg)
Leaky Bucket Conforming Arrivals
Leaky Bucket (LB) conformance test: Parameters: rate r, bucket size b Initially: bucket 0 (empty) Upon packet arrival:
If bucket+|packet|≦b then {bucket+=|packet|; mark packet `conforming`}else mark packet `non-conforming’;
Every 1/r seconds: if bucket>0 then bucket--;
R(t)
r
x(t)
bR(t)
![Page 25: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/25.jpg)
Affine Arrivals are LB-Conforming
Let R* be leaky-bucket conforming arrivals R* has affine arrival curve(t) = r,b(t) = rt+b for t>0, r,b≥0 If R conforms to (has envelope)(t), then R*=R
All packets of R are conformant
R(t) r,b
r
x(t)
bR(t) slope r
b
![Page 26: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/26.jpg)
Min-Plus Convolution Flow R has envelope (arrival curve) iff ∀0 s t:R(t) -R(s) (t-s) and (x<0)(α(x)=0) The min-plus convolution of R andαis:
Flow R has arrival curve α,iff R R≦ ⊗α R has arrival curve all 0 s t, R(t) -R(s) (t-s) R(t) R(s) + (t-s) for all 0 s t R(t) infu { R(u) + (t-u) }
R R
))()((inf))(( stsRtRs
![Page 27: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/27.jpg)
Min-plus convolution (cont’) Definition
(f g) (t) = infu { f(t-u) + g(u) }
t
f(t)
g(t)
(f g)(t)
![Page 28: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/28.jpg)
Some properties of min-plus convolution
(f g) F is associative is commutative Neutral element: 0 : f 0 = f
( 0 (t) = 0 for t = 0 and 0 (t) = for t > 0) is distributive with respect to min ( is isotone: f f’ and g g’ f g f’ g’ Functions passing through origin (f(0) = g(0) = 0):
f g f g Concave functions passing through the origin:
f g = f g
![Page 29: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/29.jpg)
Example: rate latency function
T (delay function) R,T (rate-latency function)
latency T
R,T(t)
Slope (rate) R
delay T
T(t)
R(t)=Rt
Rate R
R (delay function)
![Page 30: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/30.jpg)
Sub-Additive Functions Recall cumulative flow functions
A function fF is sub-additive iff:
If flow has arrival curve fF, then it also has sub-additive arrival curve In particular, the `sub-additive closure`
Focus on sub-additive arrival curves Mostly, `good` functions: sub-additive and f(0)=0
}{ 0)0)(x(t)t(x(t))t)(x(s)s(|x(t) F
)()()()0,( tfsftsfts
xxfxf )()(
![Page 31: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/31.jpg)
Affine Arrivals are Sub-Additive
affine arrival curve:r,b(t) = rt+b for t>0, r,b≥0
Is sub-additive (and `good`): r,b(s+t) = r(s+t)+b≦ ≦ rs+b+rt+b = r,b(s)+ r,b(t)
time
bits
bslope r
![Page 32: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/32.jpg)
Sub-additivity and arrival curves
T
k
2T 3T
2k3k4k
4T T
k
2T 3T
2k3k4k
4T
Flow R has arrival curve , the sub-additive closure, is arrival curve
What is the sub-additive closure ? Use min-plus convolution
)(t)(t
)()( tt
![Page 33: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/33.jpg)
Sub-additive Closure The sub-additive closure of an arrival curve,
is a (sub-additive) arrival curve fF , f(0)=0 f ≥ f⊗f ≥ 0 Repeat… sequence of smaller and smaller
functions:
is sub-additive with (`good`) is sub-additive with f(0) = 0 =f f = f f
,...},,,inf{ 0 fffffff f
f
0)0( f
f
![Page 34: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/34.jpg)
Combining Two Leaky Buckets
time
bits
b
M
slope rslope p
time
bits
bslope r
IntServ Standard Traffic Specifications: T-Spec 4-tuple: (p,M, r, b) Peak rate p (link speed), packet size M
`Store and forward`: entire packet `received at once’ Burst size b, long-term average rate r
(u) = min (pu+M, ru+b) = (pu+M) (ru+b) Exercise: show (u) is sub-additive (and `good`)
![Page 35: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/35.jpg)
Combining Two Arrival Curves (1) Generalize: Flow R has arrival curves ’ ∀0 s t:R(t) -R(s) (t-s), R(t) -R(s) ’(t-s)
Clearly: R has arrival curve ’ E.g., two affine arrival curves (leaky bucket)
But sometimes there is a tighter curve!
![Page 36: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/36.jpg)
Combining Arrival Constraints (2) Flow R has arrival curves ’ Clearly: R has arrival curve ’ Example: t)=r,b(t), ’(t)=vT,(t) Pick r=1, b=0, T=2, =0… Is ’ sub-additive?
time
bits
slope 1
1,0(t)
time
bits
1
V2,0(t) [stair function]
234
4 6
0)0(,)0( ,,
tv
Tttv TT
’
’(2.5)=2’( 2)=1’( 0.5)=0.5
![Page 37: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/37.jpg)
Combining with Sub-Additive Closure Flow R has arrival curves ’ also ’ Also arrival curves: ⊗’ and The sub-additive closure of ’
If ’ are `good`, then ⊗’=
time
bits
slope 1
1,0(t)
time
bits
1
V2,0(t) [stair function]
234
4 6
0)0(,)0( ,,
tv
Tttv TT
’
'
'
'
![Page 38: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/38.jpg)
Minimal arrival curveAssume we only know arrival rate R (empirically)How can we compute the (minimal) arrival curve ?The answer uses min-plus deconvolution
R
![Page 39: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/39.jpg)
Min-plus deconvolution Ø Definition
(f Ø g) (t) = supu { f(t+u) - g(u) }
t
f(t)
g(t)
(f g)(t)
![Page 40: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/40.jpg)
Properties of min-plus deconvolution (f g) F in general (f f) F (f f) is sub-additive with (f f) (0) = 0 (f g) h = f (g h) Duality with : f g h f g h
![Page 41: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/41.jpg)
Minimal arrival curveThe minimal arrival curve of flow R is R Ø R.Proof:
It is an arrival curve because R(t) – R(s) = R((t-s)+s) - R(s) supu { R((t-s)+u) - R(u) } = (R Ø R) (t-s)
If ’ is another arrival curve for flow R, then R R ’ [use duality rule: f g h f g h ] R Ø R ’ . ∎
![Page 42: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/42.jpg)
Contents1. Introduction 2. Arrival curves3. Service curves, backlog, delay bounds
Service curve: definition Backlog and delay bounds Shapers
![Page 43: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/43.jpg)
Service Curve System S has (minimal/lower) service curve , if F , and
for any arrival process A(t), the delivery process D(t) satisfies: D≥ A⊗ Assuming system is full (some backlog)
S A(t) D(t)
t
D(t)
s
A(s)
A( ) D( ) (t)
![Page 44: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/44.jpg)
Service Curve System S has (minimal/lower) service curve , if F , and for any
arrival process A(t), the delivery process D(t) satisfies: D≥ A⊗ Assuming system is full (some backlog) If is continuous, for all t exists some s≦t such that D(t) - A(s) (t-s) [see hidden foil]
(t)
S A(t) D(t)
t
D(t)
s
A(s)
A( ) D( )
![Page 45: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/45.jpg)
Rate-latency service curve Standard model for Internet (IntServ) router:
(lower) service curve S(t)= Rt+ ⊗ δT E.g.: fixed rate, but (max) packet size L
T=L/R in this case
T
bits
R
seconds
![Page 46: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/46.jpg)
WFQ Scheduler is a Latency Rate Server Notations:
Bound on length of packets GPS departure time of kth packet (any queue) WFQ departure time of same packet
WFQ Delay Theorem [4.3 in KMK]: GPS deliveries for non-empty queue j:
Hence GPS, WFQ have lower service curves:
CLdd kk
maxˆ kd̂kd
maxL
CtduCduugtD N
i i
jt
o N
i i
jt
o jj
11
)()(
CttS N
i i
jGPS
1
)(
CLtCtS N
i i
jWFQ
max
1
)(
LatencyRate Server
![Page 47: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/47.jpg)
Min-plus deconvolution Ø Definition
(f Ø g) (t) = supu { f(t+u) - g(u) }
t
f(t)
g(t)
(f g)(t)
![Page 48: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/48.jpg)
Tight Bound on Backlog If flow has arrival curve and node offers
service curve then the backlog is at most: sup ((s) -(s)) = ( Ø )(0) = v(, ) Proof: simple application of definitions of curves
δ(s)
v(,)
s
Recall (f Ø g) (t) = supu { f(t+u) - g(u) }
![Page 49: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/49.jpg)
Tight Bound on DelayIf flow has arrival curve and node has service
curve then delay h(, )=sups{ δ(s)}, δ(s)= inf{τ≥0:(s)≦(s+τ)} Proof: omitted.
δ(s)
v(,)
s
![Page 50: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/50.jpg)
Theorem: Delay of Enveloped Arrivals Given causal arrivals A with envelope E into element with lower service curve S(t), the departures D satisfy:Namely, delay is at most Where:
Proof: Since S is lower service curve: D≥A*S By definition of :
Hence:
A=A*E, since E is envelope of (causal) A Claim follows (from associativity of convolution *)
max* dAD
}*:inf{),(max SEdSEd d
)*(**maxdEASA
maxd
maxd )*(maxdES
![Page 51: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/51.jpg)
Leaky Bucket via IntServ Router Flow with LB-arrivals, A(t)=b+rT Latency-rate server (e.g. router): B(t)=R(t-T)+
If r ≤ R: buffer≦b+rT , delay≦T+b/R Burstiness of flow increased by rT. If r > R, the bounds are infinite.
data
ArrivalsA(t)=b+rt
b
T
b+rT
T+b/R
Latency-rateService curve:B(t)=R(t-T)+
![Page 52: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/52.jpg)
Leaky Bucket via WFQ Flow with LB-arrivals, A(t)=b+rt Latency-rate server (e.g. router): S(t)=R(t-T)+
If r ≤ R: buffer≦b+rT , delay≦T+b/R Burstiness of flow increased by rT. If r > R, the bounds are infinite.
For WFQ: data
ArrivalsA(t)=b+rt
b
T
B+rT
T+b/R
Latency-rateService curve:S(t)=R(t-T)+
CLtCtS N
i i
jWFQ
max
1
)(
CLT maxCR N
i i
j 1
Details: Network Calculus lecture (or [KMK/BT]
![Page 53: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/53.jpg)
Service Curves: not just lower… Delay often bounded by service curves: S(t) is a (lower/minimal) service curve if D≥A*S S(t) is an upper service curve if DA*S S(t) is a service curve if D=A*S S(t),S(t): non-negative, non-decreasing, causal
S(t)A(t) D(t)
S(t)
![Page 54: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/54.jpg)
The composition theorem Theorem: the concatenation of two network elements each
offering (lower) service curve i offers the (lower) service curve 1 2
Holds for lower, upper service curvers
![Page 55: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/55.jpg)
Cascade of Latency Rate Servers
Latency rate servers: rate r, delay (latency) d Lower service curve of kth server: Sk(t)= rk(t-dk)+
A(t)D1(t) D2(t)S 1 ( t ) Dn(t)
S1(t)
S2(t)
S2(t)
Sn(t)
Sn(t)
)()(*)min(
)))(*)(*)((*)***(
)*(**)*(*)*(
)(**)(*)(
))(**()(
,1
21
21
1
21
21
2211
1
dtrttr
ttttrtrtr
trtrtr
dtrdtrdtr
tSStS
d
d
r
knk
dddn
dndd
nn
n
nk k
n
n
![Page 56: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/56.jpg)
R1 R2
T2
=
T1
Example: Cascade of Two Latency-Rate Servers (IntServ Routers)
R1
T2 T1+T2
![Page 57: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/57.jpg)
Pay Bursts Only Once
D1 D2
D
D b /R + T1 + T2
end to end delay bound is less!!
D1 +D2 (2b + rT1)/ R + T1 + T2
Recall, LB via router: delay≦T+b/R bout=bin+RT
![Page 58: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/58.jpg)
Regulators (aka Shapers) How to ensure envelope E? Regulator: departures envelope is E (any arrivals)
A regulator with envelope E satisfies: Arrivals A(t), Departures D(t), and D(t)A(t) Departures envelope is E (any arrivals) For all st holds D(t)-D(s)E(t-s) D D*E
![Page 59: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/59.jpg)
Regulators (Shapers) Lemma Def: A regulator with envelope E satisfies: Arrivals A(t), Departures D(t), and D(t)A(t) Departures envelope is E (any arrivals) For all st holds D(t)-D(s)E(t-s) D D*E
Lemma:
Proof:
)(*))()((inf)( tEAstEsAtDs
))()((inf)()()()(
)()()()(
stEsAtDstEsAtD
sDtDsDtD
s
![Page 60: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/60.jpg)
Leaky Bucket Regulator / Shaper D(t)-D(s) σ+ρ(t-s) Such process is (σ,ρ)-regulated, or (σ,ρ)-process D has envelope E(t)= σ+ρt for t≥0, E(t)=0 for t<0 Or use notation: E(t)= (σ+ρt)I[t≥0] D(0)=0 for t<0 D, E are causal D=D*E
Called leaky-bucket (LB)regulator / shaper
σ
ρ
A(t ) D (t )X1(t )
X2(t )
Source buffer
Tokenbucket
![Page 61: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/61.jpg)
Leaky Bucket Shaper Operation[fluid model - ignore packetization]
LB becomes empty
buffer becomes empty
buffer nonempty
amount of data in the buffer
departure process
time
σ
LB full
LB nonempty
amount of tokens in LB
Bucket is full
![Page 62: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/62.jpg)
LB Shaper: Properties, Operation Denote peak (input=output) rate by R D(t)-D(s) σ+ρ(t-s) Bucket size σ, average rate ρ Max burst (at rate R ): σR/(R-ρ)
LB becomes empty
buffer becomes empty
buffer nonempty
amount of data in the buffer
time
σ
LB nonempty
σ
![Page 63: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/63.jpg)
LB Shaper Theorem: D=A*E Lemma: Claim: Consider any time t.
If source buffer at t is empty then:
Source buffer non-empty at t bucket empty at t Let v(t) be last time before t bucket was full
At t all tokens were used for departures, so:
)(*))()((inf)( tEAstEsAtD ))()((inf)( stEsAtD
s
))()((inf)()( stEsAtAtDs
}at fullbucket :0sup{)( ststv
))()((inf)()()( stEsAvtvAtDs
A(t): arrivals to LB shaper with envelope E(t)= σ+ρt for t>0, E(t)=0 for t0
![Page 64: 89-850 Communication Networks Network Calculus: Deterministic Traffic Analysis](https://reader035.vdocuments.us/reader035/viewer/2022070503/568154f3550346895dc2e6c5/html5/thumbnails/64.jpg)
Cascade of Leaky Buckets Shapers
Theorem: D2=D1=A*E Associativity: D2=A*(E*E) E*EE , since E is causal (E(t)=0 for t<0) EE*E
Holds for any subadditive E [for all s t holds E(t)E(s)+E(t-s)] E.g. for Leaky Bucket…
E=E*E D2=A*E=D1
A(t)D1(t) D2(t)E(t)=
=(σ+ρt)I[t≥0]
E(t)