Intro to Deterministic Analysis © Jörg Liebeherr, 2014
Components of a Packet Switch
Modeling a packet switch Model with input and output buffers
Modeling a packet switch Model with input and output buffers Simplified model (only output buffers)
A path of network switches
Model of a switch Buffering takes place only at the output. (Neglect processing delay)
Packet arrivals Store and Forward: Packet arrives to buffer only after all bytes of the packet have been received An arrival to the buffer appears instantaneous Multiple packets can arrive at the same time Scheduling Algorithms: FIFO Priority Round-Robin Earliest-Deadline-First
Modeling Traffic Arrivals We write arrivals as functions of time: A(t) : Arrivals until time t, measured in bits We assume that A(0) =0 for t ≤ 0. To plot the arrival function, there are a number of choices: Continuous time or Discrete time domain Discrete sized or fluid flow traffic Left-continuous or right-continuous
Arrival scenarios
Continuous time vs. Discrete time Domain Continous time: t is a non-negative real number Discrete time: Time is divided in clock ticks t = 0,1,2, ….
Discrete-sized vs. Fluid flow Traffic arrives in multiples of bits (discrete time, discrete-sized) Traffic arrives like a fluid (continuous time, fluid flow) It is often simpler to view traffic as a fluid flow, that allows discrete sized bursts
Left-continuous versus right-continuous In a continuous time domain, with instantaneous (discrete-sized) arrivals the arrival function A is a step function Arrival function is not continuous There is a choice to draw the step function: Right-continuous: Arrival function A(t), includes the arrivals that occur at time t Left-continuous: Arrival function A(t), does not include the arrivals that occur at time t
Left-continuous vs. right-continuous A(t) considers arrivals in (0,t] A(t) considers arrivals in [0,t) (Note: A(0) = 0 !) We will use a left-continuous arrival function
Need for infimums and supremums T 2T 3T Problem: How to represent the times and function values immediately after the jump?
Need for infimums and supremums T 2T 3T Problem: How to represent the times and function values right “before” the jump?
Buffered Link Link rate of output is C Scheduler is work-conserving (always transmitting when there is a backlog) Transmission order is FIFO Infinite Buffers (no buffer overflows)
Arrivals of packets to a buffered link Backlog at the buffered link
Definitions: A(t) – arrivals in the time interval [0,t) (A(t) = 0, if t ≤ 0) D(t) – departures in the time interval [0,t) (D(t) ≤ A(t) B(t) – backlog at time t (B(t) = A(t) – D (t)) W(t) – virtual delay at time t W(t) = inf { d ≥ 0 | D (t + d) ≤ A (t) }
Arrival and departure functions
Min-plus convolution 1 2
Arrival and departure functions