Network Calculus: Reference Material: J.-Y. LeBoudec and Patrick Thiran: “Network Calculus: A Theory of Deterministic Queuing Systems for the Internet”,

Slides:



Advertisements
Similar presentations
Min-Plus Linear Systems Theory and Bandwidth Estimation Min-Plus Linear Systems Theory and Bandwidth Estimation TexPoint fonts used in EMF. Read the TexPoint.
Advertisements

CS 4594 Broadband ATM GCRA and Leaky Bucket. From the ATM Forum The GCRA is used to define conformance to the traffic contract. For each cell that arrives.
Resource Allocation: Deterministic Analysis. Traffic Model Stochastic Different sample paths with different properties Expected case analysis Deterministic.
Leaky Bucket Algorithm
Engineering Internet QoS
Berlin Network Calculus & Related Models with Applications by George I. Stassinopoulos Prof. NTUA
THE SYSTEM THEORY OF NETWORK CALCULUS J.-Y. Le Boudec EPFL WoNeCa, 2012 Mars 21 1.
Communication Networks Network Calculus: Deterministic Traffic Analysis Last updated: Thursday, May 07, 2015 Prof. Amir Herzberg Dept of Computer.
Analytical Modeling and Evaluation of On- Chip Interconnects Using Network Calculus M. BAkhouya, S. Suboh, J. Gaber, T. El-Ghazawi NOCS 2009, May 10-13,
0 A Short Course on Network Calculus CH-1015 Ecublens Jean-Yves Le Boudec Patrick Thiran ICA, EPFL.
Recent Progress on a Statistical Network Calculus Jorg Liebeherr Department of Computer Science University of Virginia.
Network Calculus: Reference Material: J.-Y. LeBoudec and Patrick Thiran: “Network Calculus: A Theory of Deterministic Queuing Systems for the Internet”,
EE-2027 SaS 06-07, L11 1/12 Lecture 11: Fourier Transform Properties and Examples 3. Basis functions (3 lectures): Concept of basis function. Fourier series.
Worst-case Fair Weighted Fair Queueing (WF²Q) by Jon C.R. Bennett & Hui Zhang Presented by Vitali Greenberg.
Algorithm Orals Algorithm Qualifying Examination Orals Achieving 100% Throughput in IQ/CIOQ Switches using Maximum Size and Maximal Matching Algorithms.
Deterministic Network Calculus. Background ● Queueing Theory gives probabilistic results ● Critical applications need hard bounds ● Queueing theory extends.
Lecture 5: Linear Systems and Convolution
CSE115/ENGR160 Discrete Mathematics 03/31/11
Deterministic Network Calculus p.2. DNC arrival results Accumulated arrival functions R(t): traffic recieved in [0,t] Arrival function may be constrained:
Deterministic Network Calculus. DNC history DNC motivation.
Continuous-Time Convolution EE 313 Linear Systems and Signals Fall 2005 Initial conversion of content to PowerPoint by Dr. Wade C. Schwartzkopf Prof. Brian.
CS144, Stanford University Error in Q3-7. CS144, Stanford University Using longest prefix matching, the IP address will match which entry? a /8.
Lesson 11: Solved M/G/1 Exercises
Packet Scheduling From Ion Stoica. 2 Packet Scheduling  Decide when and what packet to send on output link -Usually implemented at output interface 1.
A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-Node Case Abhay K. Parekh, Member, IEEE, and Robert.
1 Network Calculus Jean-Yves Le Boudec, lecturer Patrick Thiran Pisa 2003.
1 Consider a given function F(s), is it possible to find a function f(t) defined on [0,  ), such that If this is possible, we say f(t) is the inverse.
EE3010 SaS, L7 1/19 Lecture 7: Linear Systems and Convolution Specific objectives for today: We’re looking at continuous time signals and systems Understand.
Bandwidth Estimation TexPoint fonts used in EMF.
Time-Domain Representations of LTI Systems
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
ECE 8443 – Pattern Recognition EE 3512 – Signals: Continuous and Discrete Objectives: Convolution Definition Graphical Convolution Examples Properties.
Boolean Algebra and Computer Logic Mathematical Structures for Computer Science Chapter 7.1 – 7.2 Copyright © 2006 W.H. Freeman & Co.MSCS Slides Boolean.
1 Chapters 8 Overview of Queuing Analysis. Chapter 8 Overview of Queuing Analysis 2 Projected vs. Actual Response Time.
March 29 Scheduling ?. What is Packet Scheduling? Decide when and what packet to send on output link 1 2 Scheduler flow 1 flow 2 flow n Buffer management.
Representation of CT Signals (Review)
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Nick McKeown Spring 2012 Lecture 2,3 Output Queueing EE384x Packet Switch Architectures.
1 © Jean-Yves Le Boudec and Patrick Thiran Network calculus : CH-1015 Lausanne Jean-Yves.Leboudec Jean-Yves.
ECS5365 Lecture 6 ATM Traffic and Network Management
Introduction to Real Analysis Dr. Weihu Hong Clayton State University 8/19/2008.
Scheduling Determines which packet gets the resource. Enforces resource allocation to each flows. To be “Fair”, scheduling must: –Keep track of how many.
Deterministic Network Calculus. DNC history Queueing Theory, Agner Krarup Erlang, 1909 Queueing Networks, James R. Jackson, 1957 Scheduling Theory, Liu.
Signals and Systems Analysis NET 351 Instructor: Dr. Amer El-Khairy د. عامر الخيري.
Network Systems Lab. Korea Advanced Institute of Science and Technology No.1 Ch. 3 Iterative Method for Nonlinear problems EE692 Parallel and Distribution.
Chengzhi Li and Edward W. Knightly Schedulability Criterion and Performance Analysis of Coordinated Schedulers.
Signals and Systems Lecture #6 EE3010_Lecture6Al-Dhaifallah_Term3321.
CSci5221: Packet Scheduling11 Packet Scheduling (and QoS) Packet Scheduling and Queue Management Beyond FIFO: –Class-based Queueing: Priority Queueing,
Scheduling for QoS Management. Engineering Internet QoS2 Outline  What is Queue Management and Scheduling?  Goals of scheduling  Fairness (Conservation.
Approximation Algorithms based on linear programming.
Math for CS Fourier Transforms
The New Facts about JPLRC for CAC Lain-Chyr Hwang Department of Electrical Engineering, I-Shou University, Taiwan, 840, R.O.C, Abstract.
Tel Hai Academic College Department of Computer Science Prof. Reuven Aviv Markov Models for data flow In Computer Networks Resource: Fayez Gebali, Analysis.
04/02/08 1 Packet Scheduling IT610 Prof. A. Sahoo KReSIT.
Packet Scheduling (and QoS)
QoS & Queuing Theory CS352.
Intro to Deterministic Analysis
Intro to Deterministic Analysis
Signal Processing First
QoS Guarantees introduction call admission traffic specification
Digital Control Systems (DCS)
Digital Control Systems (DCS)
The Curve Merger (Dvir & Widgerson, 2008)
Chapter 3 Convolution Representation
A Short Course on Network Calculus
Network calculus ( system theory )
Schedulability Conditions for Scheduling Algorithms
LECTURE 07: CONVOLUTION FOR CT SYSTEMS
ECE 1545 Service Curve Earliest Deadline Due (SCED) or How to construct a scheduler from a service curve.
Presentation transcript:

Network Calculus: Reference Material: J.-Y. LeBoudec and Patrick Thiran: “Network Calculus: A Theory of Deterministic Queuing Systems for the Internet”, Springer Verlag Lecture Notes in Computer Science No Network Calculus as system theory for computer networks. Some mathematical background Arrival Curves Service Curves Network Calculus Basics

Simple Electronic Circuit: RC Cell Output y(t) of this circuit is convolution of input x(t) and impulse response h(t) of circuit. Impuls response: Output: x(t) y(t) R C

Greedy Shaper A shaper forces an input traffic flow x(t) to have an output y(t) which adheres to an envelope . The output function y(t) can be derived as follows: Other analogies apply as well (commutativity and associativity), which allow to extend this analysis to large-scale systems. There are significant differences, though!

Min-Plus Calculus: Infimum vs. Minimum Let S be nonempty subset of R. Definition [Infimum] inf(S) = (M s.t. s  M  s  S) inf(ø) = +  Definition [Minimum] min(S) = ( M  S s.t. s  M  s  S) Notation: ^ denotes infimum (e.g. a ^ b = min{a,b})

The Dioid ( R  {+  }, ^, +) Conventional (“plus-times”) algebra operates on algebraic structure ( R,+,*). Min-plus algebra replaces operations: –“addition” becomes “computation of infimum” –“multiplication” becomes “addition” Resulting algebraic structure becomes ( R  {+  }, ^, +) Example: –Conventional algebra: (3+4) * 5 = (3*5) + (4*5) = –min-plus algebra:(3^4) + 5 = (3 + 5) ^ (4 + 5) = 8 ^ 9 = 8

(Closure of ^) For all a,b  R  {+  }, a ^ b  R  {+  } (Associativity of ^) For all a,b,c  R  {+  }, (a^b)^c=a^(b^c) (Existence of a zero element of ^) There is some e  R  {+  }, such that for all a  R  {+  }, a ^ e = a. (Idempotency of ^) For all a  R  {+  }, a ^ a = a. (Commutativity of ^) For all a,b  R  {+  }, a ^ b = b ^ a. (Closure of +) For all a,b  R  {+  }, a + b  R  {+  }. (Zero element of ^ is absorbing for +) For all a  R  {+  }, a + e = e = e + a. (Existence of neutral element for +) There is some u  R  {+  } such that for all a  R  {+  }, a + u = a = u + a. (Distributivity of + with respect to ^) For all a,b,c  R  {+  }, (a ^ b) + c = (a + c) ^ (b + c) = c + (a ^ b) Properties of ( R  {+  }, ^, +)

Wide-Sense Increasing Functions Definition [wide-sense increasing] A function is wide-sense increasing iff f(s)  f(t) for all s  t. Define G as the set of non-negative wide-sense increasing functions. Define F as the set of non-negative wide-sense increasing functions with f(t) = 0 for t < 0. Operations on functions: (f + g)(t) = f(t) + g(t) (f ^ g)(t) = f(t) ^ g(t)

Wide-Sense Increasing Functions Peak rate function R : “Rate” R Burst delay function  T : “Delay” T R T

Wide-Sense Increasing Functions (2) Rate latency function  R,T : “Rate” R, “Delay” T Affine functions  r,b : “Rate” r, “Burst” b R T r b

Wide-Sense Increasing Functions (3) Step function  T : Staircase function u T,  : “Interval” T, “Tolerance”  T  T

Wide-Sense Increasing Functions (4) More general functions in F can be constructed by combining basic functions. Example 1: r 1 >r 2 >...>r I and b 1 <b 2 <...<b I Example 2: RT 2RT 3RT r1r1 r2r2 r3r3 b1b1 b2b2 b3b3 T2T3T4T5T

Pseudo-Inverse of Wide-Sense Increasing Functions Definition [Pseudo-inverse] Let f be a function of F. The pseudo-inverse of f is the function f -1 (x) = inf{t such that f(t)  x}. Examples: R -1 = 1/R  T -1 =  0 ^ T  R,T -1 =  1/R,T  r,b -1 =  1/r,b

Properties of Pseudo-Inverse (Closure) (Pseudo-inversion) We have that (Equivalent definition)

Min-Plus Convolution Integral of function f(t) ( f(t) = 0 for t  0 ) in conventional algebra: “Integral” for same function f(t) in min-plus algebra: Convolution of two functions f(t) and g(t) that are zero for t < 0 in conventional algebra: Definition [Min-plus convolution] Let f and g be two functions of F. The min-plus convolution of f and g is the function

Min-Plus Convolution: Example 1 Compute (  r,b   R,T )(t) Case 1: 0  t  T Case 2: t > T

Min-Plus Convolution: Example 1 (2) (  r,b   R,T )(t) r R T b

Min-Plus Convolution: Example 2  T  R = ?

Models for Data Flow Consider system S: receives input data, and delivers data after a variable delay. R(t) is cumulative input function at time t. R*(t) is cumulative output function at time t. Definition [Backlog] The backlog at time t is R(t)-R*(t). Definition [Virtual Delay] The virtual delay at time t is d(t) = inf{   0 : R(t)  R*(t +  )} S R(t)R*(t)

Virtual Delay d(t) = inf{   0 : R(t)  R*(t +  )} If input and output are continuous R*(t + d(t)) = R(t) (*) d(t) is smallest value satisfying (*) R*(t) R(t) t1t1 t2t2

Arrival Curves Definition [Arrival Curve  ] Given a wide-sense increasing function  (.) defined for t  0 (i.e.  (.)  F) we say that a flow R is constrained by  (.) iff for all s  t: R(t) – R(s)   (t – s). “R has  as arrival curve.” “R is bounded by  (.).” “R is  -smooth.” Note: –  (.) is in the interval-domain. –for all s  0 and I  0, R(s + I) – R(s)   (I).

Arrival Curves (2)  (t) time bits time t bits

Example: Affine Arrival Curve  r,b  (t) = rtFlow is peak-rate limited. For example when physical bit rate is limited.  (t) = bMaximum number of bits ever sent is at most b.  (t) = rt + bLeaky bucket with rate r and burst tolerance b. A leaky bucket constrains the arrival to the affine arrival curve  r,b = rt + b.

Example: Staircase Function u T,  Definition [Generic Cell Rate Algorithm GCRA(T,  )] The Generic Cell Rate Algorithm (GCRA) with parameters (T,  ) is used with fixed size packets, called cells and defines conformant cells as follows: It takes as input a cell arrival time t and returns result. It has an internal (static) variable tat (theoretical arrival time). –initially, tat = 0 –when a cell arrives at time t, then if (t < tat – tau) result = NON-CONFORMANT else { tat = max(t, tat) + T; result = CONFORMANT; } For cells of size k, GCRA(T,  ) constrains flows to the staircase arrival function k u T,  (.).

Equivalence of Leaky Bucket and GCRA For a flow with packets of constant size , satisfying the GCRA(T,  ) is equivalent to satisfying a leaky bucket controller with rate r and burst tolerance b given by: b = (  /T + 1)  and r =  / T Applications to ATM and Intserv: Constant Bit Rate (CBR) in ATM: –Single GCRA controller with parameters T (ideal cell interval) and  (cell delay variation tolerance). Variable Bit Rate (VBR) in ATM: –Two GCRA controllers. Intserv: T-SPEC (p,M,r,b) with peak rate p, maximum packet size M, sustainable rate r, and burst tolerance b.  (t) = min(M + pt, rt + b)

Sub-Additivity Definition [Sub-additive function] Let f be a function of F. Then f is sub-additive iff f(t + s)  f(t) + f(s) for all s, t  0. Notes: –If f(0) = 0, this is equivalent to imposing that f = f  f. –Concave functions passing through origin are sub-additive. –While concavity and convexity are simple to check visually, sub- additivity is not. R RT T  R,T (t)+K’ K’ R RT T  R,T (t)+K’’ K’’

Sub-Additive Closure Definition [Sub-additive closure] Let f be a function of F. Denote f (n) the function obtained by repeating (n-1) convolutions of f with itself. By convention, f (0) =  0, so that f(1) = f, f(2) = f  f, etc. Then the sub-additive closure of f, denoted by f , is defined by f  =  0 ^ f ^ (f  f) ^ (f  f  f) ^... = inf n  0 {f (n) } The sub-additive closure is the largest sub-additive function smaller than f and zero in t = 0.

Sub-Additive Closure: Example R RT T  R,T (t)+K’ K’ R RT T  R,T (t)+K’=(  R,T (t)+K’)  K’ R RT T  R,T (t)+K’’ K’’ T (  R,T (t)+K’’)  2T3T4T5T 2K’’ 3K’’ 4K’’

Sub-Additivity and Arrival Curves Theorem: [Reduction of Arrival Curve to a Sub-Additive One] Saying that a flow is constrained by a wide-sense increasing funtion  (.) is equivalent to saying that it is constrained by the sub-additive closure   (.). Lemma: A flow R is constrained by arrival curve  iff R  R  . Lemma: If  1 and  2 are arrival curves for a flow R, then so is  1   2.

Min-Plus Deconvolution and Traffic Envelopes Definition [Min-Plus Deconvolution] Let f and g be two functions of F. The min-plus deconvolution of f by g is the function (f  g)(t) = sup u  0 {f(t + u) – g(u)}. Definition [Minimum Arrival Curve – or Envelope] The envelope of a flow R is defined by R  R. By definition, we have (R  R)(t) = sup v  0 {R(t + v) – R(v)}.

Envelopes: Examples ( Figures from J.-Y. LeBoudec and Patrick Thiran: “Network Calculus: A Theory of Deterministic Queuing Systems for the Internet”, Springer Verlag Lecture Notes in Computer Science )

Service Curves Example 1: Generalized Processor Sharing (GPS) During any busy period (flow is backlogged) of length t, flow receives at least rt amount of service. Input flow R(t), output flow R*(t), with t 0 being the beginning of busy period for flow. R*(t) – R*(t 0 )  r(t – t 0 ) At time t0, the backlog of flow is 0: R(t 0 ) – R*(t 0 ) = 0 Therefore: R*(t) – R(t 0 )  r(t – t 0 ) So: R*(t)  inf 0  s  t [R(s) + r(t – s)]  R*  R   r,0

Service Curves Example 2: Guaranteed-Delay Server Maximum delay for the bits of given flow R is bounded by some fixed value T, with bits of same flow served in FIFO order. d(t)  T  R*(t + T)  R(t) Can be re-written R*(s)  R(s – T) for all s  T R(s – T) can be re-written using “impulse function”  T : (R   T )(t) = R(t – T) Maximum delay condition can be formulated as R*  R   T

Service Curve: Definition The output R* must be above R  , which is the lower envelope of all curves t  R(t 0 ) +  (t – t 0 ). Definition [Service Curve] Consider a system S and a flow through S with input and output function R and R*. We say that S offers to the flow a service curve  iff   F and R*  R  . ( Figures from J.-Y. LeBoudec and Patrick Thiran: “Network Calculus: A Theory of Deterministic Queuing Systems for the Internet”, Springer Verlag Lecture Notes in Computer Science )

Service Curves: Non-Preemptive Priority Node Let s be the beginning of busy period for high-priority traffic. Let l L max be the maximum low-priority packet size. High-priority traffic: HP traffic can be blocked by a low-priority packet. R H *(t) – R H *(s)  C(t – s) – l L max By definition of s: R H *(s) = R H (s) R H *(t)  R H (s) + C(t – s) – l L max R H *(t)  R H (s) + max{0, C(t – s) – l L max } RH(t)RH(t) High priority R* H (t) R* L (t) rate C RL(t)RL(t) Low priority rate-latency function with rate C and latency l L max /C

Service Curves: Non-Preemptive Priority Node (2) Low-Priority Traffic: HP traffic is constrained by arrival function  H (.). Let s’ be beginning of server busy period (note that s’  s). At time s’, backlogs for both flows are empty: R H *(s’) = R H (s’) and R L *(s’) = R L (s’) Over (s’, t], the output is C(t – s’): R L *(t) – R L *(s’) = C(t – s’) – [R H *(t) – R H *(s’)]  R H *(t) – R H *(s’) = R H *(t) – R H (s’)  R H (t) – R H (s’)   H (t – s’) R H *(t) – R H *(s’)  0  R L *(t) – R L (s’) = R L *(t) – R L *(s’)  max{0, C(t – s’) -  H (t – s’)}

Network Calculus Basics: Backlog Bound Theorem [Backlog Bound] Assume a flow, constrained by arrival curve , traverses a system that offers a service curve . The backlog R(t) – R*(t) for all t satisfies: R(t) – R*(t)  sup s  0 {  (s) –  (s)} = (    )(0).

Network Calculus Basics: Delay Bound Definition [Horizontal Deviation] Let f and g be two functions of F. The horizontal deviation is defined as h(f,g) = sup t  0 {inf{d  0 such that f(t)  g(t + d)}}. f(t)f(t) g(t)g(t) h(f,g)h(f,g) Horizontal deviation can be computed using pseudo inverse: g -1 (f(t)) = inf{  such that g(  )  f(t)} = inf{d  0 such that g(t + d)  f(t)} + t  h(f,g) = sup t  0 {g -1 (f(t)) – t} = (g -1 (f)  1 )(0). Theorem [Delay Bound] Assume a flow, constrained by arrival curve , traverses a system that offers a service curve of . The virtual delay d(t) for all t satisfies: d(t)  h( ,  ).

Network Calculus Basic: Output Flow Theorem [Output Flow] Assume that a flow, constrained by arrival curve , traverses a system that offers a service curve of . The output flow is constrained by the arrival curve  * =   .

Network Calculus Basics: Concatenation Theorem [Concatenation of Nodes] Assume a flow traverses systems S 1 and S 2 in sequence. Assume that S i offers a service curve of  , i = 1,2 to the flow. Then the concatenation of the two systems offers a service curve of  1   2 to the flow. Proof: Call R 1 the output of node 1. This is also the input to node 2. R 1  R   1 and at node 2 R*  R 1   2  (R   1 )   2 = R  (  1   2 ) Example 1:  R1,T1   R2,T2 =  min(R1,R2),T1 + T2 Example 2: A rate-latency server can be described as  R,T = (  T  R )(t). It can therefore be view as a concatenation of a guaranteed-delay node with delay T followed by a GPS node with rate R.