220 likes | 331 Views
This document provides an in-depth exploration of arrival functions and service curves within the framework of deterministic network calculus. It discusses the constraints on accumulated arrival functions, outlines the equivalence of affine and staircase functions, and investigates the relationship between input and output flows in network elements. Key concepts include the definition of good functions, their subadditivity, and the implications of service curves in various network scenarios. Detailed examples illustrate the application of concatenated service curves and their effects on flow characteristics in network performance.
E N D
DNC arrival results • Accumulated arrival functions R(t): traffic recieved in [0,t] • Arrival function may be constrained: • R(t)-R(s) <= a(t-s) • a(t-s) is typically either affine or staircase • Packet spacing with period T and tolerance t 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 a and their left limits aL are equivalent. • Good functions have a(0)=0 and are subadditive: • a(t+s) <= a(t) + a(s) • Arrival curves a 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 s from som network element iff: R >= R* >= R s = inf {s(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 sd defined by sd(t)=0 for t <=d sd(t)=infinity for t > d Then R*(t) =R(t-d) = inf {sd(t-s)+R(s)} (for all s <= t) (s must be the smallest value for which t-s <= d i.e. s = t-d) infinity d
Service curves (motivation)(strict service curves) Consider a network element where the output from the beginning of the present busy period is above s(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) >= s(t-t0) R*(t) >= R*(t0) + s(t-t0) R*(t) >= R(t0) + s(t-t0) >= inf {s(t-s)+R(s)} (for all s <= t) Then for some t in an idle period: R*(t) = R(t) >= inf {s(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 s1 s2 What we need to prove is that is monotone and associative, i.e. R** >= R* s >= (R s) s = R (s s)
Concatenation (associativity) • (R s) s = infs <= t { s(t-s) +inf z <= s{s(s-z)+R(z)}} • = infs <= t {inf z <= s{s(t-s) + s(s-z)+R(z)}} • = infs <= t, z <= s { s(t-s) + s(s-z) + R(z)} • R (s s) = infs <= t {inf z<= t-s {s(t-s-z)+ s(z)}+R(s) }} • = infs <= t {inf z<= t-s {s(t-s-z) + s(z) +R(s) }} • infs <= t, z<= t-s {s(t-s-z) + s(z) + R(s) } (t-z = h => z = t-h) = inf h <= t, s<= h {s(h-s) + s(t-h) + R(s) } = inf h <= t, s<= h {s(t-h) + s(h-s) + R(s) } • (h -> s, s -> z) = infs <= t, z<= s {s(t-s) + s(s-z) + R(z) }= (R s) s
Concatenating Constant Rates s1s2 = inf s <= t{s2(t-s)+s1(s)} = 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
Concatenating with max. Delay sd s = inf s <= t{s(t-s)+sd(s)} = min{inf s <= d {s(t-s)},inf} = inf s <= d {s(t-s)}= s(t-d) or in fact [s(t-d)]+ d
Prioritizing Servers (preemptive) sH = c t aH sH = c t sL = [c t – aH]+ sL
Queue Lengths R q(t) R* q t time
Queue Lengths from Specifications a qmax s
Proof R(t)-R*(t) <= R(t)-inf s<=t {s(t-s)+R(s)} = sup s<=t {R(t) - s(t-s) - R(s)} = sup s<=t {R(t) – R(s) - s(t-s)} <= sup s<=t {a(t-s) - s(t-s)} = sup 0<=t-s {a(t-s) - s(t-s)}
Waiting Times R R* w(t) t time
Waiting Times from Specifications a wmax s
Output Flow Let the inflow R to some service element be constrained by a and the service element guarantee a service curve s Then The output flow R* is constrained by A*= a s = sup u>=0 {a(t+u) – s(u)}
Output Flow (example) sup u>=0 {a(t+u) – s(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 a* a rd s d
Converging Flows an+x <= an + ax
Loops (example) GRlow GLlow c c aL aR GLhigh GRhigh sLhigh= sRhigh=c t, sLlow= [c t- GRlow]+, sRlow= [c t- GLlow]+,
Loops (example) sLhigh= sRhigh=c t, sLlow= [c t- GRlow]+, sRlow= [c t- GLlow]+ aL = rL t + bL , aR = rR t + bR GRlow = rRlow t + bRlow , GLlow = 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)