Bandwidth Estimation System Theory for Networks • Networks can be viewed as linear systems in a different algebra: • • Addition (+) Minimum (inf) • Multiplication (·) Addition (+) Min-Plus Algebra Network service is described by a service curve Back to (Classical) Systems System Time Shift System eigenfunction eigenvalue eigenfunction • Now: Eigenfunctions of time-shift systems are also eigenfunctions of any linear time-invariant system Min-Plus Linear Systems Network • Departures can be calculated from arrivals and service curve: “min-plus convolution” Characterizing non-linear systems • Many networks are not min-plus linear • i.e., for some t: • … but can be described by a lower service curve • such that for all t: • Having a lower service curve is often enough, since it provides a lower bound on the service !! Available Bandwidth • Available bandwidth is the unused capacity along a path i • Available bandwidth of a link: • Available bandwidth of a path: • Goal: Use end-to-end probing to estimate available bandwidth Edited slide from: V. Ribeiro, Rice. U, 2003 Probing a network with packet trains • A network probe consists of a sequence of packets (packet train) • The packet train is from a source to a sink • For each packet, a measurement is taken when the packet is sent by the source (arrival time), and when the packet arrives at the sink (departure time) source Network sink Edited slide from: V. Ribeiro, Rice. U, 2003 Rate Scanning Probing Method • Each packet trains is sent at a fixed rate r (in bits per second). This is done by: • All packets in the train have the same size • Packets of packet train are sent with same distance Packet train: D D D • If size of packets is L, transmission time of a packet is T, and distance between packets is D, the rate is: r = L/(T+D) • Rate Scanning: Source sends multiple packet trains, each with a different rate r Bandwidth estimation in the network calculus • View the network as a min-plus system that is either linear or nonlinear 1. Timestamp packets of packet train: Ap(t) - Send probes Dp(t) - Receive probes data Bandwidth estimation scheme: Ap(t) delay Dp(t) backlog 2. Use probes to find a satisfies for all (A,D). 3. that is the estimate of the available bandwidth. The goal is to select as large as possible. time t Bandwidth estimation in a min-plus linear network • So: We get an exact solution when the probe consist of a burst (of infinite size and sent with an infinite rate) data • If network is min-plus linear, we get • If we set , then delay A(t) = d(t) D(t) = S(t) time t • However: • An infinite-sized instantaneous burst cannot be realized in practice (It also creates congestion in the network) Rate Scanning (1): Theory data • Backlog: • Max. backlog: • If , we can write this as: • Inverse transform: If S is convex we have A(t) delay D(t) backlog time t Rate Scanning (2): Algorithm Step 1: Transmit a packet train at rate compute , compute Step 2: If estimate of has improved, increase • This method is very close to Pathload ! and go to Step 1. Non-Linear Systems • When we exploit linear system we assume a min-plus • In non-linear networks, we can only find a lower service curve that satisfies • We view networks as system that are always linear when the network load is low, and that become non-linear when the network load exceeds a threshold. • Note: In rate scanning, by increasing the probing rate, we eventually exceed the threshold at which the network becomes non-linear Example of a non-linear system: FIFO link • Rate of packet train is determined by gap between packets CBR: CBR 800 Byte 25 Mbps CBR data [Mb] Packet size: Rate: FIFO 50 Mbps probe 50 Mbps 40 100 75 50 30 25 20 probe 10 Burst: Packet size: Burst size: Probing rate: 800 Byte 7500 packets 25 … 100 Mbps 0 0 200 400 600 time [ms] 800 1000 • How does this show that FIFO is not a min-plus linear system. Non-Linear Systems (or: How about FIFO ?) • When we exploit linear system we assume a min-plus • In a linear system, the system response S does not change with the input. But in FIFO, the system response changes with the input rate. So, FIFO is not min-plus linear. • In a FIFO system with … … we get (see Problem Set) Probing traffic A(t) = rt C Cross traffic rc t D(t) Non-Linear Systems (or: How about FIFO ?) • If we set … we can describe a FIFO system as • This means: FIFO is a linear system if total traffic is below capacity, and non-linear otherwise. • So, we should not increase rate of probe traffic beyond linear not linear Probing rate Detecting Non-linearity How to determine the critical rate at which network becomes non-linear? Backlog convexity criterion • Suppose that we probe at constant rates • Legendre transform is always convex • In a linear system, the max. backlog is the Legendre transform of the service curve: • If we find that for some rate r we know that system is not linear EmuLab Measurements • Emulab is a network testbed at U. Utah • can allocate PCs and build a network • controlled rates and latencies Some Questions: • How well does theory translate to real networks? • What can we learn from the computed service curve • How robust are the methods to changes of the traffic? Dumbbell Network • UDP packets with 1480 bytes (probes) and 800 bytes (cross) • Cross traffic: 25 Mbps Cross traffic 100 Mbps 10 ms 100 Mbps no delay 50 Mbps 10 ms Probe traffic 100 Mbps 10 ms 100 Mbps no delay Constant Bit Rate (CBR) Cross Traffic • Cross traffic is sent at a constant rate (=CBR) Rate Scanning • The “reference service curve” (red) shows the ideal results. The “service curve estimates” shows the results of the rate scanning method • Figure shows 100 repeated estimates of the service curve Rate Scanning: Different Cross Traffic • Exponential: random interarrivals, low variance • Pareto: random interarrivals, very high variance Exponential Pareto