Bandwidth Estimation System Theory for Networks Networks can be viewed as linear systems in a different algebra: Addition (+) Multiplication () Minimum (inf) Min-Plus Addition (+)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 So: rate at which the packet trains are sent is crucial: Rate too high probes preempt existing traffic Rate too low probes only measure the input rate 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:

If size of packets is L, transmission time of a packet is T, and distance between packets is the rate is: r = L/(T+) 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 Bandwidth estimation scheme:

1. Timestamp packets of packet train: Ap(t) Send probes Dp(t) Receive probes 2. Use probes to find a satisfies for all (A,D). 3. Ap(t) delay Dp(t) backlog 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 If network is min-plus linear, we get If we set , then So: We get an exact solution when the probe consist of a burst (of infinite size and sent with an infinite rate)

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 Backlog: A(t) Max. backlog: delay

D(t) backlog time t If , we can write this as: Inverse transform: If S is convex we have Rate Scanning (2): Algorithm Step 1: Transmit a packet train at rate compute

, compute Step 2: If estimate of Step 1. has improved, increase and go to 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 How does this show that FIFO is not a min-plus linear system? 1000

Non-Linear Systems (or: How about FIFO ?) When we exploit system we assume a min-plus linear 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

Cross traffic rc t C 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, linear and non-linear otherwise. So, we should not increase rate of probe traffic beyond

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) 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 Rate Scanning: Different Cross Traffic Exponential: random interarrivals, low variance Pareto: random interarrivals, very high variance Exponential Pareto