CapProbe: An Efficient and CapProbe: An Efficient and Accurate Capacity Estimation Accurate Capacity Estimation
TechniqueTechnique
Rohit Kapoor**, Ling-Jyh Chen*, Li Lao*, Rohit Kapoor**, Ling-Jyh Chen*, Li Lao*, M.Y. Sanadidi*, Mario Gerla*M.Y. Sanadidi*, Mario Gerla*
** Qualcomm Corp R&D** Qualcomm Corp R&D*UCLA Computer Science Department*UCLA Computer Science Department
The Capacity Estimation ProblemThe Capacity Estimation Problem Estimate minimum link capacity on an Internet Estimate minimum link capacity on an Internet
path, as seen at the IP levelpath, as seen at the IP level
Design GoalsDesign Goals End-to-endEnd-to-end: assume no help from routers: assume no help from routers InexpensiveInexpensive: Minimal additional traffic and processing: Minimal additional traffic and processing FastFast: converges to capacity fast enough for the : converges to capacity fast enough for the
applicationapplication
100 Mbps 100 Mbps50 Mbps10 Mbps
(Link Capacity)
ApplicationsApplications Adaptive multimedia streamingAdaptive multimedia streaming Congestion controlCongestion control Capacity planning by ISPs Capacity planning by ISPs Overlay network structuringOverlay network structuring Wireless link monitoring and mobility detectionWireless link monitoring and mobility detection
Packet Pair DispersionPacket Pair Dispersion
T3
T2 T3
T3
T1
T3
Narrowest Link
20Mbps 10Mbps 5Mbps 10Mbps 20Mbps 8Mbps
Ideal Packet DispersionIdeal Packet Dispersion No cross-trafficNo cross-traffic
Capacity = (Packet Size) / (Dispersion)
Expansion of DispersionExpansion of Dispersion Cross-traffic (CT) serviced between PP packetsCross-traffic (CT) serviced between PP packets Second packet queues due to Cross Traffic (CT )=> Second packet queues due to Cross Traffic (CT )=>
expansion of dispersion =>Under-estimationexpansion of dispersion =>Under-estimation More pronounced when CT pkt size < probe pkt sizeMore pronounced when CT pkt size < probe pkt size
Compression of DispersionCompression of Dispersion First packet queueing => compressed dispersion => First packet queueing => compressed dispersion =>
Over-estimationOver-estimation More pronounced when CT pkt size > probe pkt sizeMore pronounced when CT pkt size > probe pkt size
Previous WorkPrevious Work Jacobson’s PathcharJacobson’s Pathchar
Estimates capacity for every linkEstimates capacity for every link Sends varying size packetsSends varying size packets Relies on round trip delaysRelies on round trip delays
Packet Pairs (PP)Packet Pairs (PP) CrovellaCrovella
• Capacity is reflected by the packet pair dispersion that Capacity is reflected by the packet pair dispersion that occurs with highest frequencyoccurs with highest frequency
LaiLai• Filters samples whose dispersion reflects a capacity Filters samples whose dispersion reflects a capacity
greater than their “potential bandwidth”greater than their “potential bandwidth” Both these techniques assume Both these techniques assume unimodal unimodal
distributiondistribution Paxson showed distribution can be Paxson showed distribution can be multimodalmultimodal
Previous WorkPrevious Work
Dovrolis’ WorkDovrolis’ Work Analyzed under/over estimation of capacityAnalyzed under/over estimation of capacity Designed PathrateDesigned Pathrate
• First send packet pairsFirst send packet pairs• If multimodal, send packet trainsIf multimodal, send packet trains• Identifies modes to distinguish ADR (Asymptotic Identifies modes to distinguish ADR (Asymptotic
Dispersion Rate), PNCM (Post Narrow Capacity Mode) Dispersion Rate), PNCM (Post Narrow Capacity Mode) and Capacity Modes and Capacity Modes
Previously proposed techniques have relied Previously proposed techniques have relied eithereither on dispersion on dispersion oror delay delay
Key ObservationKey Observation First packet queues more than the secondFirst packet queues more than the second
CompressionCompressionOver-estimationOver-estimation
Second packet queues more than the firstSecond packet queues more than the first• ExpansionExpansion• Under-estimationUnder-estimation
Both Both expansionexpansion and and compressioncompression are the are the result of probe packets experiencing queuingresult of probe packets experiencing queuing• Sum of PP delay includes queuing delaySum of PP delay includes queuing delay
CapProbe ApproachCapProbe Approach
Filter PP samples that do not have minimum Filter PP samples that do not have minimum queuing timequeuing time
Dispersion of PP sample with minimum delay Dispersion of PP sample with minimum delay sum reflects capacitysum reflects capacity
CapProbe combines both dispersion and e2e CapProbe combines both dispersion and e2e transit delay informationtransit delay information
Techniques for Convergence DetectionTechniques for Convergence Detection Consider set of packet pair probes 1…nConsider set of packet pair probes 1…n
If min(d1) + min(d2) If min(d1) + min(d2) ≠≠ min(d1+d2), dispersion obtained min(d1+d2), dispersion obtained from min delay sum may be distortedfrom min delay sum may be distorted
• Above condition increases correct detection probability to that Above condition increases correct detection probability to that of a single packet (as opposed to packet pair)of a single packet (as opposed to packet pair)
If above minimum delay sum condition is not If above minimum delay sum condition is not satisfied in a runsatisfied in a run New run, with packet size of probesNew run, with packet size of probes
• IncreasedIncreased if bandwidth estimated varied a lot across probes if bandwidth estimated varied a lot across probes Errors in dispersion measured by OSErrors in dispersion measured by OS
• DecreasedDecreased if bandwidth estimated varied little across probes if bandwidth estimated varied little across probes Packet sizes too large to go through without queuingPacket sizes too large to go through without queuing
ExperimentsExperiments
SimulationsSimulations TCP (responsive), CBR (non-responsive), LRD TCP (responsive), CBR (non-responsive), LRD
(Pareto) cross-traffic(Pareto) cross-traffic Path-persistent, non-persistent cross-trafficPath-persistent, non-persistent cross-traffic
SimulationsSimulations 6-hop path: capacities {10, 7.5, 5.5, 4, 6, 8} Mbps6-hop path: capacities {10, 7.5, 5.5, 4, 6, 8} Mbps PP pkt size = 200 bytes, CT pkt size = 1000 bytesPP pkt size = 200 bytes, CT pkt size = 1000 bytes Path-Persistent TCP Cross-TrafficPath-Persistent TCP Cross-Traffic
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1.6 3.2 4.8 6.4 8Bandwidth Estimate (Mbps)
Fre
qu
ency
1Mbps2Mbps4Mbps
Over-Estimation
Cross Traffic Rate
Bandwidth Estimate Frequency
0
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
0.01
0 1.6 3.2 4.8 6.4 8Bandwidth Estimate (Mbps)
Min
Del
ay S
um
s (s
ec)
1Mbps2Mbps4Mbps
Cross Traffic Rate
Minimum Delay Sums
SimulationsSimulations
PP pkt size = CT pkt size = 500 bytesPP pkt size = CT pkt size = 500 bytes Non-Persistent TCP Cross-TrafficNon-Persistent TCP Cross-Traffic
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1.6 3.2 4.8 6.4 8Bandwidth Estimate (Mbps)
Fre
qu
ency
1Mbps
3Mbps
Under-Estimation
Bandwidth Estimate Frequency
0
0.0021
0.0042
0.0063
0 1.6 3.2 4.8 6.4 8Bandwidth Estimate (Mbps)
Min
Del
ay S
um
(se
c)
1Mbps
3Mbps
Minimum Delay Sums
SimulationsSimulations
Non-Persistent UDP CBR Cross-TrafficNon-Persistent UDP CBR Cross-Traffic
Case where CapProbe may not workCase where CapProbe may not work UDP (non-responsive), extremely intensiveUDP (non-responsive), extremely intensive No correct samples are obtainedNo correct samples are obtained
0
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0 1.6 3.2 4.8 6.4 8Bandwidth Estimate (Mbps)
Min
Del
ay S
um
s (s
ec)
1Mbps2Mbps3Mbps4Mbps
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 1.6 3.2 4.8 6.4 8Bandwidth Estimate (Mbps)
Fre
qu
ency
1Mbps2Mbps3Mbps4Mbps
Minimum Delay SumsBandwidth Estimate
Frequency
CapProbe AccuracyCapProbe Accuracy
Sufficient requirementSufficient requirement At least one PP sample where both packets At least one PP sample where both packets
experience experience no CT induced queuing delayno CT induced queuing delay..
How realistic is this requirement?How realistic is this requirement? Internet is reactive (mostly TCP): high chance of Internet is reactive (mostly TCP): high chance of
some probing samples not being queuedsome probing samples not being queued To validate, we performed extensive To validate, we performed extensive
experimentsexperiments• Only cases where such undistorted samples are Only cases where such undistorted samples are
not obtained is when cross-traffic is UDP and not obtained is when cross-traffic is UDP and very intensive (typically >75% load)very intensive (typically >75% load)
Probability of Obtaining SampleProbability of Obtaining Sample
Assuming PP samples arrive in a Poisson mannerAssuming PP samples arrive in a Poisson manner Poisson cross-trafficPoisson cross-traffic: product of probabilities: product of probabilities
No queue in front of first packet: p(0) = 1 – No queue in front of first packet: p(0) = 1 – λ/μλ/μ No CT packets enter between the two packets No CT packets enter between the two packets
(conservative estimate)(conservative estimate)• Only dependent on arrival processOnly dependent on arrival process
p = p(0) p = p(0) * e* e- λL/μ- λL/μ = (1 – = (1 – λ/μ) * eλ/μ) * e- λL/μ- λL/μ Analysis also for Analysis also for DeterministicDeterministic and and ParetoPareto cross-traffic cross-traffic
Link
No Cross Traffic Packets
First Packet
No Queue
Second Packet
Probability of Obtaining Sample (cont)Probability of Obtaining Sample (cont)
Avg number of samples required to obtain an unqueued PP for a single
link; Poisson cross-traffic
Avg number of samples required to obtain an unqueued PP for a single
link; LRD cross-traffic
Effect of Packet Size on AccuracyEffect of Packet Size on Accuracy For CapProbe to estimate accuratelyFor CapProbe to estimate accurately
Neither packet of the PP should queue due to cross traffic Neither packet of the PP should queue due to cross traffic Second packet of PPSecond packet of PP
Smaller Smaller less chances of queuing due to cross-traffic less chances of queuing due to cross-traffic
First packet of PPFirst packet of PP Probability of queuing independent of size (queuing theory)Probability of queuing independent of size (queuing theory)
Thus, smaller PP packets Thus, smaller PP packets higher probability of sample higher probability of sample not subject to queuingnot subject to queuing
Previous authors (Dovrolis) have shown thatPrevious authors (Dovrolis) have shown that Smaller packets reduce chances of under-estimation but increase Smaller packets reduce chances of under-estimation but increase
chances of over-estimationchances of over-estimation
Effect of Packet Size on AccuracyEffect of Packet Size on Accuracy Our observations are entirely consistent with earlier onesOur observations are entirely consistent with earlier ones
For the second packet, smaller packet size For the second packet, smaller packet size Smaller Smaller probability of being queued probability of being queued Relative probability of Relative probability of queuing of first packet is increased queuing of first packet is increased Chances of over- Chances of over-estimation are increasedestimation are increased
0
0.05
0.1
0.15
0.2
0.25
0.3
0 1 2 3 4 5 6 7 8
Bandw idth ( Mbps)
Fre
qu
ency
(a)
0
0.02
0.04
0.06
0.08
0.1
0.12
0 1 2 3 4 5 6 7 8
Bandwidt h (M bps)
Fre
que
ncy
(b)
Frequency of occurrence of bandwidth samples when packet size of probes is (a) 100 and (b) 1500 bytes
Measurements- Internet, Internet2 (Abilene), Measurements- Internet, Internet2 (Abilene), Wireless (802.11, Bluetooth)Wireless (802.11, Bluetooth)
ToUCLA-2 UCLA-3 UA NTNU
Time Capacity Time Capacity Time Capacity Time Capacity
CapProbe
0’03 5.5 0’01 96 0’02 98 0’07 97
0’03 5.6 0’01 97 0’04 79 0’07 97
0’03 5.5 0’02 97 0’17 83 0’22 97
Pathrate
6’10 5.6 0’16 98 5’19 86 0’29 97
6’14 5.4 0’16 98 5’20 88 0’25 97
6’5 5.7 0’16 98 5’18 133 0’25 97
Pathchar
21’12 4.0 22’49 18 3 hr 34 3 hr 34
20’43 3.9 27’41 18 3 hr 34 3 hr 35
21.18 4.0 29’47 18 3 hr 30 3 hr 35
• CapProbe implemented using PING packets, sent in pairs
IssuesIssues CapProbe may be implemented either in the CapProbe may be implemented either in the
kernel or user modekernel or user mode Kernel mode more accurate, particularly over high-Kernel mode more accurate, particularly over high-
speed linksspeed links
One-way or round-trip estimationOne-way or round-trip estimation One-way One-way
• Requires cooperation from receiverRequires cooperation from receiver• Can be used to estimate forward/reverse linkCan be used to estimate forward/reverse link
Active vs passiveActive vs passive Probing packets Probing packets oror data packets used as probes data packets used as probes
Heavy cross-traffic/extremely fast linksHeavy cross-traffic/extremely fast links Difficulty in correct estimationDifficulty in correct estimation
SummarySummary
CapProbe is accurate, fast, and CapProbe is accurate, fast, and inexpensive, across a wide range of inexpensive, across a wide range of scenariosscenarios
Potential applications in overlay structuring, Potential applications in overlay structuring, and in case of fast changing wireless link and in case of fast changing wireless link speedsspeeds
High-speed dispersion measurements High-speed dispersion measurements needs more investigationneeds more investigation
CapProbe website: CapProbe website: http://nrl.cs.ucla.edu/CapProbehttp://nrl.cs.ucla.edu/CapProbe
Top Related