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) <= (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.
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
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.
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)
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
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)
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 (
Concatenation (associativity) R inf s t { (t-s) + inf <= s { (s R( inf s t {inf <= s { (t-s) + (s R( inf s t, <= s { (t-s) + (s R( R ( inf s t { inf <= t-s { (t-s- )+ ( R(s) }} = inf s t { inf <= t-s { (t-s- ) + ( R(s) }} inf s t, <= t-s { (t-s- ) + ( R(s) } (t- = = t- = inf t, s<= { -s) + (t R(s) } = inf t, s<= { (t ( -s R(s) } ( -> s, s -> = inf s t, <= s { (t-s (s R }= R
Concatenating Constant Rates = inf s <= t { (t-s 1 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
Concatenating with max. Delay d = inf s <= t { (t-s d s)} = min{inf s <= d { (t-s)},inf} = inf s <= d { (t-s)}= (t-d) or in fact [ (t-d)]+ d
Prioritizing Servers (preemptive) H = c t L = [c t – H ]+ HH H = c t LL
Queue Lengths R t R* time q(t) q
Queue Lengths from Specifications q max
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)}
Waiting Times R t R* time w(t)
Waiting Times from Specifications w max
Output Flow Let 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)}
Output Flow (example) sup u>=0 { (t+u) – (u)}= sup u>=0 {r(t+u)+b – [s u – p]+}= max{sup 0 =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
Converging Flows n+x <= n + x
Loops (example) RR LL c c L low R low L high R high L high = R high =c t, L low = [c t- R low ]+, R low = [c t- L low ]+,
Loops (example) L high = R high =c t, L low = [c t- R low ]+, R low = [c t- L low ]+ L = rL t + bL, R = rR t + bR R low = rR low t + bR low, L low = rL low t + bL low rR low = rR, rL low = rL bR low = bR + rR bL low /(c- rL low ) = bR + bL low rR /(c- rL low ) bL low = bL + rL bR low /(c- rR low ) = bL + bR low rL /(c- rR low )