bandwidth estimation tools
TRANSCRIPT
Bandwidth estimation tools
Ravi S. PrasadPh.D. Student
Networking and Telecommunications GroupCollege of Computing
Georgia Tech.
Applications of bandwidth estimationOverlay networks
Optimized routingMultimedia streaming
Adjust encoding rateSLA and QoS verification
Monitor available bandwidth in pathContent distribution networks
Select best serverCongestion control and TCP
Infer Bandwidth-Delay-Product End-to-end admission control
Check for sufficient bandwidth
Outline
Capacity estimationTool: Pathrate
Mean available bandwdith (avail-bw) estimation
Access at both endsTool: Pathload
Single end accessTool: Abget
Avail-bw variability estimationTool: Pathvar
Capacity definition
Maximum possible end-to-end throughput at IP layerIn the absence of any cross trafficAchievable with maximum-sized packets
If Ci is capacity of link i, end-to-end capacity C of H hop path defined as:
Capacity determined by narrow link
iHiCC
,...,1min=
=
Packet pair dispersionPacket Pair technique
Originally, due to Jacobson & Keshav
Send two equal-sized packets back-to-back
Packet size: LPacket trx time at link i: L/Ci
Packet pair dispersion: time interval between last bit of two packetsWithout any cross traffic, the dispersion at receiver is determined by narrow link:
⎟⎟⎠
⎞⎜⎜⎝
⎛Δ=Δ
iinout C
L,max
CL
CL
iHiR =⎟⎟
⎠
⎞⎜⎜⎝
⎛=Δ
= ,...,1max
PathrateUses a combination of packet pairs and packet trains to estimate path capacityCan be obtained from www.pathrate.orgHas been tested for up to gigabit/sec speed
At high speed systems related issues become importantE.g., we identified effects of Interrupt Coalescence (IC) and use heuristics to detect IC and Find capacity in presence of IC
Can be run in Quick estimation modeQuick mode takes < 1 minuteNormal mode may take 15-30minutes
Available bandwidth definitionPer-hop average avail-bw:
Ai = Ci (1-ui)ui: average utilizationA.k.a. residual capacity
End-to-end avg avail-bw A:
Determined by tight linkISPs measure per-hop avail-bw passively (router counters, MRTG graphs)
iHiAA
,...,1min=
=
Pathload’s iterative algorithmUses self-loading periodic streams (SLoPS) schemeSource: send nth stream with rate R(n)Receiver:
Measure OWDs of the streamCheck for presence of increasing trend Notify source
Source:If “increasing OWDs”, i.e., R(n)>A,
Rmax = R(n)Else, R(n) < =A,
Rmin = R(n)R(n+1) = (Rmax + Rmin) / 2
Exit when Rmax - Rmin < ω
PathloadAvailable at www.pathrate.orgTakes about 10-20 seconds per measurementAccurate within 10% as long as path does not include multiple bottlenecksTested up to Gigabit/sec speed
Even in presence of Interrupt Coalescence
Gigabit path
0 200 400 600 800 1000Cross-traffic utilization (Mbps)
0
200
400
600
800
1000
Est
imat
ed b
andw
idth
(M
bps)
PathratePathloadCapacityAvail bw
Replay traces with scaled interarrivals
Accuracy comparison
Actual Available Bandwidth
Measured Available Bandwidth
An independent study in testbed by Shriram et al., PAM 2005
Abget
abget runs in single-end modeIt uses any TCP-based server as sender
Needs to know the name of a downloadable file at the serverManipulates ack number and spacing to get desired data rate from server
Limit the advertised window to one MSS sizeAcknowledge one MSS with each ACK andGenerate paced ‘fake’ ACKs with period T=MSS/R
Uses RTT for trend detectionIterative algorithm is same as Pathload
0
5
10
15
20
25
30
35
11:20 11:30 11:40 11:50 12:00 12:10 12:20
Ava
ilabl
e B
andw
idth
(Mbp
s)
Local Time - Greece
tight link capacityabget estimation
actual avail-bw
0
5
10
15
20
25
30
35
18:30 18:40 18:50 19:00 19:10 19:20 19:30A
vaila
ble
Ban
dwid
th (M
bps)
Local Time - Greece
tight link capacityabget estimation
actual avail-bw
avail-bw from www.nytimes.com to UoC client avail-bw from UoC web server to Gatech client
Validation
We passively measured the actual avail-bw variation at the tight linkabget central estimates are, for the most part, within the actual variation
Avail-bw variabilityPrevious estimation techniques focused on average avail-bwHowever, avail-bw has significant variabilityVariability depends on averaging timescale τ
Larger timescale, lower variance
Variation range:Range between, say, 10th to 90th percentiles
Pathvar:Estimates any given percentile at user-specified timescale τ
0 20 40 60 80 100Time (sec)0
20
40
60
80
100
Avail
-bw
(M
bps)
τ = 20 msecτ = 1 sec
0 20 40 60 80 100Avail-bw (Mbps)
0
0.2
0.4
0.6
0.8
1
CD
F
τ = 20 msecτ = 1 sec
PathvarCan be used for continuous estimate of variation range of avail-bw
For user specified percentiles and timescale
Path from Georgia Tech to University of Ioannina, GreeceAverage avail-bw increases over 2 hour period
Variation range decreases as the average avail-bw increases
SummaryWe are
Part of Networking Group at Georgia Tech.Focus on network measurementsHeaded by Prof. Constantine DovrolisWith collaborator in Univ. of Crete, Greece
Our toolsPathrate: Capacity estimationPathload: Available Bandwidth EstimationAbget: Source-only available bandwidth estimationPathvar: Variation range of available bandwidth
Please use them and let us know how they work!