410 likes | 508 Vues
This document presents methods for estimating available bandwidth using tools like pathload and abget, crucial for traffic engineering and network upgrade decisions. Techniques like SLoPS and interrupt coalescence are discussed with illustrative examples.
E N D
Estimating Available Bandwidth with pathload and abget Professor Nelson Fonseca nfonseca@ic.unicamp.br
Estimators - Professor Nelson Fonseca Outline • Introduction • Measuring available bandwidth • SLoPS method • pathload • abget • Interrupt coalescence • Examples • Conclusions • References
Estimators - Professor Nelson Fonseca Introduction
Estimators - Professor Nelson Fonseca 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 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 Measuring available bandwidth
Calculating Available Bandwidth • Available Bandwidth: unutilized capacity • Varies with time • ui : utilization of link i in a time interval ( 0 <= ui <= 1 ) • Available bandwidth in link i: • Available bandwidth in path (Avail-bw): minimum Ai Estimators - Professor Nelson Fonseca
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
Estimators - Professor Nelson Fonseca Measuring per-hop available bandwidth • Can be measured at each link from interface utilization data using SNMP • MRTG (Multi Router Traffic Grapher) graphs: 5-minute averages • But users do not normally have access to SNMP data • And MRTG graphs give only per-hop avail-bandwidth
Estimators - Professor Nelson Fonseca Measuring path Available Bandwidth • Blast path with UDP packets • Intrusive • Carter & Crovella: cprobe (Infocom 1996) • Packet train dispersion does not measure available bandwidth (Dovrolis et.al. Infocom’01) • Measure throughput of large TCP transfer • 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 SloPS method
Main Idea R S R R send • Examine One-Way Delay (OWD) variations of a fixed rate stream • Relate rate to avail-bw • OWD: Di = Tarrive-T= Tarrive - Tsend + Clock_Offset(S,R) • 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
Estimators - Professor Nelson Fonseca Illustration • Periodic Stream: K packets, size L bytes, rate R = L/T • If R>A, OWDs gradually increase due to self-loading of stream
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
Estimators - Professor Nelson Fonseca 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
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
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
Rmax > A Gmax Gmin Rmin < A Rate Adjustment Algorithm • 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 Grey region Variation Range Terminate if: (Rmax – Gmax) && (Rmin– Gmin) < Initial Gmin = 0 Initial Gmax = Average throughput of a small initial transfer of UDP data Estimators - Professor Nelson Fonseca
Estimators - Professor Nelson Fonseca 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 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/bw-est/pathload.tar.gz • Uncompress in a Linux operating system • ./configure && make
Estimators - Professor Nelson Fonseca 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 pathload (4) • Problems • Static ports • User needs access to the two end points • Ports must be opened in firewalls
Estimators - Professor Nelson Fonseca 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 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 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 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 abget (5) • Process illustration (downstream)
Estimators - Professor Nelson Fonseca 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 abget (7) • Problems • Many parameters • Results not so precise as pathload • root privileges
Estimators - Professor Nelson Fonseca Interrupt Coalescence
Estimators - Professor Nelson Fonseca 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 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 Examples 1 and 2 - Scenario
Estimators - Professor Nelson Fonseca Examples 1 – Precision at 10Mbps
Estimators - Professor Nelson Fonseca Examples 1 – Overhead at 10Mbps
Estimators - Professor Nelson Fonseca Examples 2 – Precision at 1Gbps
Estimators - Professor Nelson Fonseca Examples 2 – Overhead at 1Gbps
Estimators - Professor Nelson Fonseca Conclusions
Estimators - Professor Nelson Fonseca 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 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