SlideShare a Scribd company logo
BBuuffffeerrbbllooaatt iiss aallll wweett?? 
SStteepphheenn HHeemmmmiinnggeerr 
sstteepphheenn@@nneettwwoorrkkpplluummbbeerr..oorrgg 
@@nneettwwoorrkkpplluummbbeerr Linuxcon Europe Oct 2014
BBuuffffeerrbbllooaatt 
● WWhhaatt iiss tthhee pprroobblleemm 
● WWhhaatt ccaauusseess tthhee pprroobblleemm 
● SSoolluuttiioonnss 
– DDeemmoonnssttrraattiioonn 
● CCuurrrreenntt ssttaattuuss 
– TThhee GGoooodd 
– TThhee BBaadd 
– TThhee UUggllyy
SSiiggnnss ooff BBuuffffeerrbbllooaatt 
● YYoouu mmiigghhtt hhaavvee bbuuffffeerrbbllooaatt iiff 
– TThhrroouugghhppuutt 
● DDoowwnnllooaadd 1100%% ooff aaddvveerrttiisseedd 
● UUppllooaadd ddooeessnn''tt wwoorrkk 
– LLaatteennccyy 
● llaarrggee ((>> 220000mmss)) 
● VVaarriiaabbllee 
– AAnndd nnoo ppaacckkeett lloossss!!!!!!
HHooww bbaadd iiss iitt??
QQuueeuuiinngg TThheeoorryy BBaassiiccss 
average time in queue = 
utilization 
service rate 
1- utilization 
From Fred Baker: Bufferbloat! 
Graphic courtesy Sprint, Apricot 
2004
NNeettwwoorrkk PPeerrffoorrmmaannccee 
Throughput 
Mbits/sec 
Latency 
Round Trip Time 
Fairness
NNeettaallyyzzrr:: DDoowwnnssttrreeaamm
NNeettaallyyzzrr:: UUppssttrreeaamm
CCllaassssiiccaall TTCCPP
TCP tthhrroouugghhppuutt ddyynnaammiiccss 
Increasing Measurable Throughput 
Bottleneck Capacity 
mean throughput = effective window 
“knee” “cliff” 
Increasing TCP Window 
Queue 
Depth 
mean round trip time 
From Fred Baker: Bufferbloat!
BBllaammee LLiinnuuxx 
● WWiinnddoowwss XXPP 
– MMaaxxiimmuumm wwiinnddooww 6644kk 
● WWiinnddoowwss 77 
– BBaannddwwiiddtthh lliimmiitt ttoo 8800 mmbbiittss 
● AAnnddrrooiidd 
– RReecceeiivvee wwiinnddooww lliimmiitteedd
BBllaammee tthhee ccuussttoommeerr 
● CCuussttoommeerrss ccaallll 
ssuuppppoorrtt 
● AApppplliiccaattiioonnss aarree 
uussiinngg mmoorree 
bbaannddwwiiddtthh 
● BBlloocckk aanndd cchhaarrggee
Back to Reality
BBeenncchhmmaarrkk iissssuueess 
● BBaadd 
– BByytteess//sseecc 
– PPaacckkeess//sseecc 
– LLaatteennccyy
RReeaallttiimmee RReessppoonnssee UUnnddeerr LLooaadd 
● UUssee eexxiissttiinngg ttooooll 
– NNeettppeerrff 
● CCoommbbiinnee mmuullttiippllee ssttrreeaammss 
– DDoowwnnllooaadd 
– UUppllooaadd 
– LLaatteennccyy mmeeaassuurreemmeenntt
FFIIFFOO –– tthhee ddeeffaauulltt 
Høiland-Jørgensen T., Battling Bufferbloat 
Ping 1sec! 
Upload 
Download
SSttoocchhaassttiicc FFaaiirr QQuueeuuee 
Høiland-Jørgensen T., Battling Bufferbloat
CCoonnttrroolllleedd DDeellaayy -- ccooddeell 
Høiland-Jørgensen T., Battling Bufferbloat
FFaaiirr QQuueeuuee CCoonnttrroolllleedd DDeellaayy 
Høiland-Jørgensen T., Battling Bufferbloat
BBuuffffeerrbbllooaatt ssttaattuuss
WWhheerree iiss BBuuffffeerrbbllooaatt?? 
Receiver 
Application 
TCP 
Router 
Sender 
Application 
TCP 
QDisc 
Router 
ISP Backbone ISP
BBuuffffeerrbbllooaatt SSoollvveedd?? 
● QQuueeuuiinngg ddiisscciipplliinneess 
– CCooddeell,, PPIIEE,, ...... 
● LLiinnuuxx iinntteerrnnaall 
– BBQQLL,, FFQQ,, PPaacciinngg 
● DDeeffaauulltt qqddiisscc 
Sysctl ­­w 
sys.net.core.default_qdisc=fq_codel 
YYeess,, mmaannyy ttiimmeess oovveerr
BBuuffffeerrbbllooaatt:: TThhee GGoooodd 
● IInndduussttrryy aawwaarreenneessss 
● SSttaannddaarrddss pprrooggrreessss 
● AAccttiivvee rreesseeaarrcchh 
● OOppeenn SSoouurrccee 
SSoolluuttiioonnss
BBuuffffeerrbbllooaatt:: tthhee BBaadd 
● LLeeggaaccyy eeqquuiippmmeenntt 
– OOEEMM ffooccuuss oonn ccoosstt nnoott AAQQMM 
● CCoonnggeessttiioonn oonn bbaacckkbboonnee 
– IItt''ss nnoott aa bbuugg iitt''ss aa ffeeaattuurree?? 
– PPrroobblleemm iiss ppoolliittiiccaall nnoott tteecchhnniiccaall
BBuuffffeerrbbllooaatt:: tthhee UUggllyy 
● WWiirreelleessss 
– AAggggrreeggaattiioonn 
– MMuullttiiccaasstt 
– PPrroopprriieettaarryy ffiirrmmwwaarree
Questions? 
Dave T<dave.taht@bufferbloat.net>
Thank you 
Stephen Hemminger 
@networkplumber 
stephen@networkplumber.org
Bufferbloat resources 
Bufferbloat.net: http://bufferbloat.net 
Email Lists: http://lists.bufferbloat.net 
IRC Channel: #bufferbloat on chat.freenode.net 
CeroWrt: http://www.bufferbloat.net/projects/cerowrt 
Other talks: http://mirrors.bufferbloat.net/Talks 
Jim Gettys Blog – http://gettys.wordpress.com 
RRUL Test-https:// 
github.com/tohojo/netperf-wrapper 
A big thanks to the bloat mailing list, Jim, Kathie, Van, and Eric, ISC, the 
CeroWrt contributors, OpenWrt, the Internet Civil Engineering 
Institute, and the Google Fiber for their interest and support in 
the work!

More Related Content

Similar to Bufferbloat is alll Wet!

VLSI9
VLSI9VLSI9
7 Years of Puppet Horror Stories
7 Years of Puppet Horror Stories7 Years of Puppet Horror Stories
7 Years of Puppet Horror Stories
Kris Buytaert
 
State of devops and drupal 2014
State of devops  and drupal 2014State of devops  and drupal 2014
State of devops and drupal 2014
Kris Buytaert
 
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) PuppetPuppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
NETWAYS
 
Puppet and Icinga 101
Puppet and Icinga 101Puppet and Icinga 101
Puppet and Icinga 101
Kris Buytaert
 
Package all the things, from #ihatepackaging to #packaginglove
Package all the things, from #ihatepackaging to #packaginglovePackage all the things, from #ihatepackaging to #packaginglove
Package all the things, from #ihatepackaging to #packaginglove
Kris Buytaert
 
Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner)
Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner) Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner)
Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner)
Puppet
 
You're a pretty fly for a WildFly
You're a pretty fly for a WildFlyYou're a pretty fly for a WildFly
You're a pretty fly for a WildFly
Emmanuel Hugonnet
 
Monitoring (with) puppet
Monitoring  (with) puppetMonitoring  (with) puppet
Monitoring (with) puppet
Kris Buytaert
 
Taking epilepsy to school.7.10.2014
Taking epilepsy to school.7.10.2014Taking epilepsy to school.7.10.2014
Taking epilepsy to school.7.10.2014
Cleveland Clinic
 
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Kris Buytaert
 
VLSI12
VLSI12VLSI12
VLSI12
Prakash Rao
 
VLSI8
VLSI8VLSI8
Glaucoma
GlaucomaGlaucoma
Glaucoma
Other Mother
 
Homepi - OpenSource Smart Home
Homepi - OpenSource Smart Home Homepi - OpenSource Smart Home
Homepi - OpenSource Smart Home
Ahmed Sherif
 
Antihypertensive agents. calcium channel blockers
Antihypertensive agents. calcium channel blockersAntihypertensive agents. calcium channel blockers
Antihypertensive agents. calcium channel blockers
Sravani Ganti
 
7 puppet horror stories in 7 years - PuppetConf 2014
7 puppet horror stories in 7 years - PuppetConf 20147 puppet horror stories in 7 years - PuppetConf 2014
7 puppet horror stories in 7 years - PuppetConf 2014
Puppet
 
Drift tectonics gn
Drift  tectonics gnDrift  tectonics gn
Drift tectonics gn
Crossleybp
 
Cire France, An Advanced Depilatory Wax Manufacturer
Cire France, An Advanced Depilatory Wax Manufacturer Cire France, An Advanced Depilatory Wax Manufacturer
Cire France, An Advanced Depilatory Wax Manufacturer
Viva Brazil
 
Rita Leahy: Porous Pavements
Rita Leahy: Porous PavementsRita Leahy: Porous Pavements
Rita Leahy: Porous Pavements
California Asphalt Pavement Association
 

Similar to Bufferbloat is alll Wet! (20)

VLSI9
VLSI9VLSI9
VLSI9
 
7 Years of Puppet Horror Stories
7 Years of Puppet Horror Stories7 Years of Puppet Horror Stories
7 Years of Puppet Horror Stories
 
State of devops and drupal 2014
State of devops  and drupal 2014State of devops  and drupal 2014
State of devops and drupal 2014
 
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) PuppetPuppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
Puppet Camp Duesseldorf 2014: Kris Buytaert - Monitoring (with) Puppet
 
Puppet and Icinga 101
Puppet and Icinga 101Puppet and Icinga 101
Puppet and Icinga 101
 
Package all the things, from #ihatepackaging to #packaginglove
Package all the things, from #ihatepackaging to #packaginglovePackage all the things, from #ihatepackaging to #packaginglove
Package all the things, from #ihatepackaging to #packaginglove
 
Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner)
Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner) Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner)
Puppet Camp Düsseldorf 2014: Monitoring with Puppet (Beginner)
 
You're a pretty fly for a WildFly
You're a pretty fly for a WildFlyYou're a pretty fly for a WildFly
You're a pretty fly for a WildFly
 
Monitoring (with) puppet
Monitoring  (with) puppetMonitoring  (with) puppet
Monitoring (with) puppet
 
Taking epilepsy to school.7.10.2014
Taking epilepsy to school.7.10.2014Taking epilepsy to school.7.10.2014
Taking epilepsy to school.7.10.2014
 
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
Open Source Monitoring in 2014, from #monitoringssucks to #monitoringlove and...
 
VLSI12
VLSI12VLSI12
VLSI12
 
VLSI8
VLSI8VLSI8
VLSI8
 
Glaucoma
GlaucomaGlaucoma
Glaucoma
 
Homepi - OpenSource Smart Home
Homepi - OpenSource Smart Home Homepi - OpenSource Smart Home
Homepi - OpenSource Smart Home
 
Antihypertensive agents. calcium channel blockers
Antihypertensive agents. calcium channel blockersAntihypertensive agents. calcium channel blockers
Antihypertensive agents. calcium channel blockers
 
7 puppet horror stories in 7 years - PuppetConf 2014
7 puppet horror stories in 7 years - PuppetConf 20147 puppet horror stories in 7 years - PuppetConf 2014
7 puppet horror stories in 7 years - PuppetConf 2014
 
Drift tectonics gn
Drift  tectonics gnDrift  tectonics gn
Drift tectonics gn
 
Cire France, An Advanced Depilatory Wax Manufacturer
Cire France, An Advanced Depilatory Wax Manufacturer Cire France, An Advanced Depilatory Wax Manufacturer
Cire France, An Advanced Depilatory Wax Manufacturer
 
Rita Leahy: Porous Pavements
Rita Leahy: Porous PavementsRita Leahy: Porous Pavements
Rita Leahy: Porous Pavements
 

More from Stephen Hemminger

Performance challenges in software networking
Performance challenges in software networkingPerformance challenges in software networking
Performance challenges in software networking
Stephen Hemminger
 
Staging driver sins
Staging driver sinsStaging driver sins
Staging driver sins
Stephen Hemminger
 
Netem -emulating real networks in the lab
Netem -emulating real networks in the labNetem -emulating real networks in the lab
Netem -emulating real networks in the lab
Stephen Hemminger
 
Untold story
Untold storyUntold story
Untold story
Stephen Hemminger
 
Llnw bufferbloat
Llnw bufferbloatLlnw bufferbloat
Llnw bufferbloat
Stephen Hemminger
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
Stephen Hemminger
 
Userspace networking
Userspace networkingUserspace networking
Userspace networking
Stephen Hemminger
 
Linux Bridging: Teaching an old dog new tricks
Linux Bridging: Teaching an old dog new tricksLinux Bridging: Teaching an old dog new tricks
Linux Bridging: Teaching an old dog new tricks
Stephen Hemminger
 
Taking the Fear Out of Contributing
Taking the Fear Out of ContributingTaking the Fear Out of Contributing
Taking the Fear Out of Contributing
Stephen Hemminger
 
Integrating Linux routing with FusionCLI™
Integrating Linux routing with FusionCLI™Integrating Linux routing with FusionCLI™
Integrating Linux routing with FusionCLI™
Stephen Hemminger
 
Virtual Network Performance Challenge
Virtual Network Performance ChallengeVirtual Network Performance Challenge
Virtual Network Performance ChallengeStephen Hemminger
 
A Baker's dozen of TCP
A Baker's dozen of TCPA Baker's dozen of TCP
A Baker's dozen of TCP
Stephen Hemminger
 
Virtual net performance
Virtual net performanceVirtual net performance
Virtual net performance
Stephen Hemminger
 
Online tools
Online toolsOnline tools
Online tools
Stephen Hemminger
 

More from Stephen Hemminger (14)

Performance challenges in software networking
Performance challenges in software networkingPerformance challenges in software networking
Performance challenges in software networking
 
Staging driver sins
Staging driver sinsStaging driver sins
Staging driver sins
 
Netem -emulating real networks in the lab
Netem -emulating real networks in the labNetem -emulating real networks in the lab
Netem -emulating real networks in the lab
 
Untold story
Untold storyUntold story
Untold story
 
Llnw bufferbloat
Llnw bufferbloatLlnw bufferbloat
Llnw bufferbloat
 
Dpdk performance
Dpdk performanceDpdk performance
Dpdk performance
 
Userspace networking
Userspace networkingUserspace networking
Userspace networking
 
Linux Bridging: Teaching an old dog new tricks
Linux Bridging: Teaching an old dog new tricksLinux Bridging: Teaching an old dog new tricks
Linux Bridging: Teaching an old dog new tricks
 
Taking the Fear Out of Contributing
Taking the Fear Out of ContributingTaking the Fear Out of Contributing
Taking the Fear Out of Contributing
 
Integrating Linux routing with FusionCLI™
Integrating Linux routing with FusionCLI™Integrating Linux routing with FusionCLI™
Integrating Linux routing with FusionCLI™
 
Virtual Network Performance Challenge
Virtual Network Performance ChallengeVirtual Network Performance Challenge
Virtual Network Performance Challenge
 
A Baker's dozen of TCP
A Baker's dozen of TCPA Baker's dozen of TCP
A Baker's dozen of TCP
 
Virtual net performance
Virtual net performanceVirtual net performance
Virtual net performance
 
Online tools
Online toolsOnline tools
Online tools
 

Bufferbloat is alll Wet!

Editor's Notes

  1. 150ms – VOIP 20ms – Desktop lag 100ms – DNS lookup fail ARP, ND – Can&amp;apos;t find machine .5sec – User&amp;apos;s give up 2 sec–scp copy fails DHCP – Machine falls off network
  2. As the utilization goes to 100% the delay goes to infinity. Green = T1 Blue = 10Mbit
  3. Bufferbloat has been known about in the academic community but was not generally measured because many tests only measured one dimension
  4. &amp;lt;number&amp;gt; Effective Window: the amount of data TCP sends each RTT Knee: the lowest window that makes throughput approximate capacity Cliff: the largest window that makes throughput approximate capacity Note that throughput is the same at knee and cliff. Increasing the window merely increases RTT, by increasing queue depth
  5. Split or use transistions?