Available Bandwidth Estimation Manish Jain Networking and Telecom Group CoC, Georgia Tech Outline Introduction and definitions Estimation methodologies Train of Packet Pairs(TOPP) Self Loading Periodic Streams (SLoPS) Packet Train Gap Model Open Issues 09/23/2003 8803 Class Presentation 2 Definition Available Bandwidth: unutilized capacity Varies with time ui : utilization of link i in time interval t ( 0 <= ui <= 1 ) Available bandwidth in link i: Ai Ci(1 - ui) Available bandwidth in path (Avail-bw): A min Ai min Ci (1 - ui) i 0..H 09/23/2003 i 0..H Tight link: minimum avail-bw link 8803 Class Presentation 3 Available Bandwidth:time varying metric t A(t) T t t defines sampling/averaging timescale Average avail-bw in t Does not tell how avail-bw varies Variation range gives more information 09/23/2003 8803 Class Presentation 4 Why do we care ? ssthresh in TCP Streaming applications SLA verification Overlay routing End-to-end admission control 09/23/2003 8803 Class Presentation 5 Measuring per-hop available bandwidth Can be measured at each link from interface utilization data using SNMP MRTG graphs: 5-minute averages But users do not normally have access to SNMP data And MRTG graphs give only per-hop avail-bandwidth 09/23/2003 8803 Class Presentation 6 Measuring path Available Bandwidth Blast path with UDP packets Intrusive Carter & Crovella: cprobe (Infocom 1996) Measure throughput of large TCP transfer 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 09/23/2003 8803 Class Presentation 7 A New End-to-end probing and analysis method for estimating bandwidth bottlenecks B. Melander et al, In Global Internet Symposium, 2000 8 Introduction In FCFS queue, output rate is function of input rate and cross-traffic rate Oj-1 Mj-1 In one hop: In two hop: 09/23/2003 Oj Cj Cj+1 Cj+1-Mj > Cj-Mj-1 Mj o o j j 1o j 1 *C j o j 1m j 1 Oj+1 if o j 1C j m j if o j 1C j -m j o j 1 if o j C j 1 m j 1&o j 1C j m j o j 1 *C j if o j C j 1 m j 1&o j 1 C j m j o j 1 m j 1 o j 1 o j 1 o j 1m j 1 *C j *C j 1 if o j C j 1-m j 1 &o j 1 C j m j o j 1 m j 1 o j 1 m j 1 8803 Class Presentation 9 Key Idea:TOPP o :sending rate f: receiving rate Break points o a i bi o f where i is number links with different available bandwidth For i=1 09/23/2003 b1=1/Ctight a1=1-Atight/Ctight 8803 Class Presentation 10 Algorithm Algorithm: Avail-bw and capacity of other links can be measured if Send n probe pairs with a minimum rate Record receive rate at receiver Increment rate by fixed d and repeat Measure available bandwidth from the relation of o/f vs o links in ascending order of avail-bw In practice, break points may be hard to identify 09/23/2003 8803 Class Presentation 11 End-to-end Available Bandwidth: Measurement Methodology, Dynamics and Relation with TCP Throughput M. Jain and C. Dovrolis, In IEEE/ACM TON, August 2003 12 Key idea: SLoPS Examine One-Way Delay (OWD) variations of a fixed rate stream Relate rate to avail-bw R S OWD: Di = Tarrive-Tsend = Tarrive - Tsend + Clock_Offset(S,R) SLoPS uses relative OWDs, DDi = Di+1 – Di-1 (independent of clock offset) With a stationary & fluid model for the cross traffic, and FIFO queues: R 09/23/2003 R If R > min Ai, then DDi > 0 for I = 1…N Else DDi = 0 for for I = 1…N 8803 Class Presentation 13 Illustration of SLoPS Periodic Stream: K packets, size L bytes, rate R = L/T If R>A, OWDs gradually increase due to self-loading of stream 09/23/2003 8803 Class Presentation 14 Trend in real data For some rate R Increasing trend in OWDs R > Avail-bw No trend in OWDs R < Avail-bw 09/23/2003 8803 Class Presentation 15 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 09/23/2003 8803 Class Presentation 16 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 09/23/2003 8803 Class Presentation 17 Big Picture Increasing trend R > variation range of Avail-bw No trend R < variation range of Avail-bw Grey trend R inside variation range 09/23/2003 8803 Class Presentation 18 Variation Range Rate adjustment algorithm Rmax Grey region >A Gmax Gmin Rmin < A Terminate if: (Rmax – Gmax) && (Rmin– Gmin) < 09/23/2003 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 8803 Class Presentation 19 How do we detect an increasing trend? (D D ) I ( D D ) R R K 1 |D D | K K j 2 j j 2 j 1 pdt pct j 1 j K j 2 j j 1 Infer increasing trend when PCT or PDT trend 1.0 09/23/2003 8803 Class Presentation 20 Verification approach Simulation Multi-hop topology Cross traffic: Exponential and Pareto interarrivals Varying load conditions Experiment Paths from U-Delaware to Greek universities and U-Oregon MRTG graphs for most heavily used links in path Compare pathload measurements with avail-bw from MRTG graph of tight link In 5-min interval, pathload runs W times, each for qi secs 5min average avail-bw R reported by pathload: W qi Rimax Rimin R 2 i 1 300 09/23/2003 8803 Class Presentation 21 Verification: Simulation Effect of tight link load Pathload range versus avail-bw during simulation (average of 50 runs) 5 Hop, Ctight=10Mbps, utilnon-tight=.6 % Center of pathload range: good estimate of average of avail-bw 09/23/2003 8803 Class Presentation 22 Verification: Experiment Tight link: U-Ioannina to AUTH (C=8.2Mbps), =1Mbps 09/23/2003 8803 Class Presentation 23 Avail-bw Variability versus stream length Relative variation index: Longer probing stream observe lower variability However, longer streams can be more intrusive 09/23/2003 8803 Class Presentation 24 Avail-bw variability versus traffic load Heavier link utilization leads to higher avail-bw variability 09/23/2003 8803 Class Presentation 25 Evaluation and Characterization of Available Bandwidth Techniques N. Hu et al, JSAC, August 2003 26 Packet Pair Model: Single Hop In single hop path Competing traffic may be inserted between packet pair Packet pair gap at receiver is function of cross traffic Gi Input Go q t Case1: Go = Gi – q/C < Gi Case2: Go=m/C+Gb Go m/C Assumption: Fluid cross traffic In practice, CT is bursty t t Packet train will capture average 09/23/2003 8803 Class Presentation 27 Packet Train Model: Single Hop Gi Gb M Gi+ t C * (g gB ) i i 1 M K N i 1 i 1 i 1 g g g i i i Assumption: t Where Total numer of probing packets = M+K+N Only increased gap sees CT Packet dispersion not affected by CT at post-tight link 09/23/2003 8803 Class Presentation 28 IGI and PTR Algorithm Start by sending out packet train with minimum gap ( gB) If gap@receiver != gap@sender Send another train with increased gap Else calculate available bandwidth IGI: Use equation PTR: Available Bandwidth = Rate of last train measured at receiver 09/23/2003 8803 Class Presentation 29 Summary: Single Hop Model IGI: Need to know the capacity of tight link Assume that tight link is same as narrow link PTR: Same as TOPP Relation of amount of cross-traffic and dispersion May 09/23/2003 not hold in multi-hop path 8803 Class Presentation 30 Open Issues Integrate avail-bw estimation methodology with application Implement avail-bw estimation algorithm in network interface card Use data packets in place of probe packets Allow routers to do avail-bw estimation Can we make some short-term predictions of availbw? High bandwidth paths 09/23/2003 Time stamping packets MTU limitations 8803 Class Presentation 31 Pathchirp Uses exponentially spaced packet train Main idea: Avail-bw > Rk , if qk >= qk+1 Avail-bw < Rk , otherwise 09/23/2003 Can be used when probe packets are close enough Identify excursions: consecutive packets show increased queuing delays Per-packet avail-bw Ek Final estimate: Expected value of Rk 8803 Class Presentation 32