Estimating Available Bandwidth with pathload and abget Professor Nelson Fonseca [email protected] Outline Introduction Measuring available bandwidth SLoPS method pathload abget Interrupt coalescence Examples Conclusions References Estimators - Professor Nelson Fonseca 2 Introduction Estimators - Professor Nelson Fonseca 3 Bandwidth Bandwidth defines how much data (bits) can be transferred between two points in a time interval (seconds) Related terms: nominal capacity, capacity, narrow link, available bandwidth, tight link, bulk transfer capacity (BTC), ... Estimators - Professor Nelson Fonseca 4 Available Bandwidth Important to traffic engineering Important to take scheduling decisions (grids and clouds) Important to take decisions about links upgrade Estimators - Professor Nelson Fonseca 5 Measuring available bandwidth Estimators - Professor Nelson Fonseca 6 Calculating Available Bandwidth Available Bandwidth: unutilized capacity Varies with time ui : utilization of link i in a time interval ( 0 <= ui <= 1 ) Available bandwidth Ai Ciin(1link uii:) Available bandwidth in path (Avail-bw): minimum Ai Estimators - Professor Nelson Fonseca 7 Available Bandwidth:time varying metric τ A(t) T t τ defines sampling/averaging timescale Average avail-bw in τ Does not tell how avail-bw varies Variation range gives more information Estimators - Professor Nelson Fonseca 8 Measuring per-hop available bandwidth Can be measured at each link from interface utilization data using SNMP MRTG (Multi Router Traffic Grapher) graphs: 5minute averages But users do not normally have access to SNMP data And MRTG graphs give only per-hop avail-bandwidth Estimators - Professor Nelson Fonseca 9 Measuring path Available Bandwidth Blast path with UDP packets Measure throughput of large TCP transfer Intrusive Carter & Crovella: cprobe (Infocom 1996) Packet train dispersion does not measure available bandwidth (Dovrolis et.al. Infocom’01) TCP throughput depends on network buffer Ribeiro et.al. : Delphi (ITC’00) Correct estimation when queuing occurs only at single link Assumes that cross traffic can be modelled by MWM model Estimators - Professor Nelson Fonseca 10 SloPS method Estimators - Professor Nelson Fonseca 11 Main Idea Examine One-Way Delay (OWD) variations of a fixed rate stream Relate rate to avail-bw R S R OWD: Di = Tarrive -T = RTarrive - Tsend + Clock_Offset(S,R) send SLoPS uses relative OWDs, ΔDi = Di+1 – Di-1 (independent of clock offset) With a stationary & fluid model for the cross traffic, and FIFO queues: If R > min Ai, then ΔDi > 0 for I = 1…N Else ΔDi = 0 for for I = 1…N Estimators - Professor Nelson Fonseca 12 Illustration Periodic Stream: K packets, size L bytes, rate R = L/T If R>A, OWDs gradually increase due to self-loading of stream Estimators - Professor Nelson Fonseca 13 Trend in real data For some rate R Increasing trend in OWDs R > Avail-bw No trend in OWDs R < Avail-bw Estimators - Professor Nelson Fonseca 14 Iterative Algorithm in SloPS At sender: Send periodic stream n with rate Rn At receiver: Measure OWDs Di for i=1…K At receiver: Notify sender of trend in OWDs At sender: If trend is : increasing (i.e. Rn >A ) repeat with Rn+1 < Rn non-increasing (i.e. Rn <A ) repeat with Rn+1>Rn Selection of Rn+1 : Rate adjustment algorithm Terminate if Rn+1 – Rn < ω ω : resolution of final estimate Estimators - Professor Nelson Fonseca 15 If things were black and white... Grey region: Rate R not clearly greater or smaller than Avail-bw during the duration of stream Rate R is within variation range of avail-bw Estimators - Professor Nelson Fonseca 16 Big Picture Increasing trend R > variation range of Avail-bw No trend R < variation range of Avail-bw Grey trend R inside variation range Estimators - Professor Nelson Fonseca 17 Variation Range Rate Adjustment Algorithm Rmax >A Gmax Grey region Gmin Rmin < A Terminate if: (Rmax – Gmax) && (Rmin– Gmin) < Increasing trend : Rmax = R(n) R(n+1) = (Gmax + Rmax)/2 Non-increasing trend: Rmin = R(n) R(n+1) = (Gmax +Rmin)/2 Grey region & R(n) > Gmax: Gmax = R(n) R(n+1) = (Gmax + Rmax )/2 Grey region & R(n) < Gmin: Gmin = R(n) R(n+1) = (Gmin + Rmin )/2 Initial Gmin = 0 Initial Gmax = Average throughput of a small initial transfer of UDP data Estimators - Professor Nelson Fonseca 18 pathload (1) Implements SLoPS Estimates end-to-end available bandwidth Based on one-way delay trend of periodic streams Reports a range of avail-bw Corresponds to variation, measured in stream duration According the developers, the interference is almost nonexistent Estimators - Professor Nelson Fonseca 19 pathload (2) Version 1.3.2 (2006) Features Open Source Two processes (one at sender, one at receiver) No need to root privileges No need to define several parameters pathload2 released recently (Apr 2009) Installation Download from http://www.cc.gatech.edu/fac/Constantinos.Dovrolis/bwest/pathload.tar.gz Uncompress in a Linux operating system ./configure &&Estimators make- Professor Nelson Fonseca 20 pathload (3) Two connections TCP – control UDP – data stream Execution order At sender: pathload_snd Waits receiver connection via TCP port 55002 At receiver: pathload_rcv -s <sender IP address|sender hostname> Connects to sender at TCP port 55002 Sender sends UDP data to receiver at UDP port 55001 Estimators - Professor Nelson Fonseca 21 pathload (4) Problems Static ports User needs access to the two end points Ports must be opened in firewalls Estimators - Professor Nelson Fonseca 22 abget (1) Also implements SloPS Solves some pathload problems Runs only in one end-point Can make the estimations using TCP ports already opened in firewalls (e.g. 80) Estimators - Professor Nelson Fonseca 23 abget (2) Version 1.0 (2007) Features Open Source One process Need root privileges Can estimate both upstream and downstream availability Installation Install libpcap Download from http://www.ics.forth.gr/~papadog/abget/abget-1.0.tar.gz Uncompress in a Linux operating system ./configure && make && make install Estimators - Professor Nelson Fonseca 24 abget (3) TCP connections Both control and data stream abget uses TCP control mechanisms Execution order (at user end-point) Downstream abget -d -f <file location> <web server> Retrieves the file and control the rate simulating the ACKs Upstream abget -u <web server> Estimators - Professor Nelson Fonseca 25 abget (4) Downstream abget emulates TCP by sending fake ACKs to the server (It captures the received packets and bypasses the default TCP implementation) The advertise window of the server is limited to 1 MSS Each ACK “requests” 1 MSS By defining the ACKs period, it is possible to define the downstream rate To force the server to send at rate R, abget sends ACKs at T=MSS/R Estimators - Professor Nelson Fonseca 26 abget (5) Process illustration (downstream) Estimators - Professor Nelson Fonseca 27 abget (6) Upstream abget sends an HTTP request in many overlapping segments. It repeats for many iterations with different rates in order to estimate a variation range for the available bandwidth in that path. Estimators - Professor Nelson Fonseca 28 abget (7) Problems Many parameters Results not so precise as pathload root privileges Estimators - Professor Nelson Fonseca 29 Interrupt Coalescence Estimators - Professor Nelson Fonseca 30 Interrupt Coalescence 1 Network card event != 1 Interrupt Enabled to avoid overload to the operating system Should be disabled to avoid incorrect estimations With interrupt coalescence: more packets in a time interval Estimators - Professor Nelson Fonseca 31 pathload and abget By reading the source code, pathload avoids interrupt coalescence. abget doesn't But each manufacturer implements a different method Estimators - Professor Nelson Fonseca 32 Examples Estimators - Professor Nelson Fonseca 33 Examples 1 and 2 - Scenario Estimators - Professor Nelson Fonseca 34 Examples 1 – Precision at 10Mbps Estimators - Professor Nelson Fonseca 35 Examples 1 – Overhead at 10Mbps Estimators - Professor Nelson Fonseca 36 Examples 2 – Precision at 1Gbps Estimators - Professor Nelson Fonseca 37 Examples 2 – Overhead at 1Gbps Estimators - Professor Nelson Fonseca 38 Conclusions Estimators - Professor Nelson Fonseca 39 Conclusions Available Bandwidth estimators must estimate using a range instead a average Interrupt coalescence must be disabled pathload and abget Unchanged Clock offset pathload gives more precise results abget runs only in one end-point abget uses HTTP (no problem with firewalls) pathload doesn't need root privileges pathload is ideal if there is access to the two end-points. Abget is ideal if there isn't. Estimators - Professor Nelson Fonseca 40 References http://www.cc.gatech.edu/fac/Constantinos.Dovrolis/pathload.html Official pathload website http://www.measurementlab.net/measurement-lab-tools#pathload2 pathload2 http://www.ics.forth.gr/~papadog/abget/ Official abget website http://www.caida.org/tools/taxonomy/performance.xml CAIDA (The Cooperative Association for Internet Data Analysis) website about network performance tools http://www.29west.com/docs/THPM/latency-interrupt-coalescing.html Interrupt coalescence and GNU/Linux Estimators - Professor Nelson Fonseca 41
© Copyright 2026 Paperzz