Bufferbloat is all wet? Bufferbloat is all wet? Stephen Hemminger - - PowerPoint PPT Presentation

bufferbloat is all wet bufferbloat is all wet
SMART_READER_LITE
LIVE PREVIEW

Bufferbloat is all wet? Bufferbloat is all wet? Stephen Hemminger - - PowerPoint PPT Presentation

Bufferbloat is all wet? Bufferbloat is all wet? Stephen Hemminger Stephen Hemminger s t e p h e n @n e t w o r k p l u mb e r . o r g s t e p h e n @n e t w o r k p l u mb e r . o r g @n e t w


slide-1
SLIDE 1

Bufferbloat is all wet? Bufferbloat is all wet?

Stephen Hemminger Stephen Hemminger s t e p h e n @n e t w

  • r

k s t e p h e n @n e t w

  • r

k p l u mb e r .

  • r

g p l u mb e r .

  • r

g @n e t w

  • r

k p l u mb e r @n e t w

  • r

k p l u mb e r

Linuxcon Europe Oct 2014

slide-2
SLIDE 2

B u ff e r b l

  • a

t B u ff e r b l

  • a

t

  • Wh

a t i s t h e p r

  • b

l e m Wh a t i s t h e p r

  • b

l e m

  • Wh

a t c a u s e s t h e p r

  • b

l e m Wh a t c a u s e s t h e p r

  • b

l e m

  • S
  • l

u t i

  • n

s S

  • l

u t i

  • n

s

– D

e mo n s t r a t i

  • n

D e mo n s t r a t i

  • n
  • C

u r r e n t s t a t u s C u r r e n t s t a t u s

– T

h e G

  • d

T h e G

  • d

– T

h e B a d T h e B a d

– T

h e U g l y T h e U g l y

slide-3
SLIDE 3

S i g n s

  • f

B u ff e r b l

  • a

t S i g n s

  • f

B u ff e r b l

  • a

t

  • Y
  • u

mi g h t h a v e b u ff e r b l

  • a

t i f Y

  • u

mi g h t h a v e b u ff e r b l

  • a

t i f

– T

h r

  • u

g h p u t T h r

  • u

g h p u t

  • D
  • w

n l

  • a

d 1 %

  • f

a d v e r t i s e d D

  • w

n l

  • a

d 1 %

  • f

a d v e r t i s e d

  • U

p l

  • a

d d

  • e

s n ' t w

  • r

k U p l

  • a

d d

  • e

s n ' t w

  • r

k

– L

a t e n c y L a t e n c y

  • l

a r g e ( > 2 ms ) l a r g e ( > 2 ms )

  • V

a r i a b l e V a r i a b l e

– A

n d n

  • p

a c k e t l

  • s

s ! ! ! A n d n

  • p

a c k e t l

  • s

s ! ! !

slide-4
SLIDE 4

H

  • w

b a d i s i t ? H

  • w

b a d i s i t ?

slide-5
SLIDE 5

Q u e u i n g T h e

  • r

y B a s i c s Q u e u i n g T h e

  • r

y B a s i c s

av e ragetim einque ue= utilization se rv icerate 1− utilization

Graphic courtesy Sprint, Apricot 2004

From Fred Baker: Bufferbloat!

slide-6
SLIDE 6

N e t w

  • r

k P e r f

  • r

ma n c e N e t w

  • r

k P e r f

  • r

ma n c e

T h r

  • u

g h p u t M b i t s / s e c L a t e n c y R

  • u

n d T r i p T i me F a i r n e s s

slide-7
SLIDE 7

N e t a l y z r : D

  • w

n s t r e a m N e t a l y z r : D

  • w

n s t r e a m

slide-8
SLIDE 8

N e t a l y z r : U p s t r e a m N e t a l y z r : U p s t r e a m

slide-9
SLIDE 9
slide-10
SLIDE 10

C l a s s i c a l T C P C l a s s i c a l T C P

slide-11
SLIDE 11

TCP throughput dynamics TCP throughput dynamics

Increasing Measurable Throughput Increasing TCP Window “knee” “cliff” Bottleneck Capacity Queue Depth

m e anthroughput= e ffe ctivewindow m e anroundtriptim e

From Fred Baker: Bufferbloat!

slide-12
SLIDE 12

B l a me L i n u x B l a me L i n u x

  • Wi

n d

  • w

s X P Wi n d

  • w

s X P

– M

a x i mu m w i n d

  • w

6 4 k M a x i mu m w i n d

  • w

6 4 k

  • Wi

n d

  • w

s 7 Wi n d

  • w

s 7

– B

a n d w i d t h l i mi t t

  • 8

mb i t s B a n d w i d t h l i mi t t

  • 8

mb i t s

  • A

n d r

  • i

d A n d r

  • i

d

– R

e c e i v e w i n d

  • w

l i mi t e d R e c e i v e w i n d

  • w

l i mi t e d

slide-13
SLIDE 13

B l a me t h e c u s t

  • me

r B l a me t h e c u s t

  • me

r

  • C

u s t

  • me

r s c a l l C u s t

  • me

r s c a l l s u p p

  • r

t s u p p

  • r

t

  • A

p p l i c a t i

  • n

s a r e A p p l i c a t i

  • n

s a r e u s i n g mo r e u s i n g mo r e b a n d w i d t h b a n d w i d t h

  • B

l

  • c

k a n d c h a r g e B l

  • c

k a n d c h a r g e

slide-14
SLIDE 14
slide-15
SLIDE 15

Back to Reality

slide-16
SLIDE 16

B e n c h ma r k i s s u e s B e n c h ma r k i s s u e s

  • B

a d B a d

– B

y t e s / s e c B y t e s / s e c

– P

a c k e s / s e c P a c k e s / s e c

– L

a t e n c y L a t e n c y

slide-17
SLIDE 17

R e a l t i me R e s p

  • n

s e U n d e r L

  • a

d R e a l t i me R e s p

  • n

s e U n d e r L

  • a

d

  • U

s e e x i s t i n g t

  • l

U s e e x i s t i n g t

  • l

– N

e t p e r f N e t p e r f

  • C
  • mb

i n e mu l t i p l e s t r e a ms C

  • mb

i n e mu l t i p l e s t r e a ms

– D

  • w

n l

  • a

d D

  • w

n l

  • a

d

– U

p l

  • a

d U p l

  • a

d

– L

a t e n c y me a s u r e me n t L a t e n c y me a s u r e me n t

slide-18
SLIDE 18

F I F O – t h e d e f a u l t F I F O – t h e d e f a u l t

Høiland-Jørgensen T., Battling Bufgerbloat

Ping 1sec! Upload Download

slide-19
SLIDE 19

S t

  • c

h a s t i c F a i r Q u e u e S t

  • c

h a s t i c F a i r Q u e u e

Høiland-Jørgensen T., Battling Bufgerbloat

slide-20
SLIDE 20

C

  • n

t r

  • l

l e d D e l a y

  • c
  • d

e l C

  • n

t r

  • l

l e d D e l a y

  • c
  • d

e l

Høiland-Jørgensen T., Battling Bufgerbloat

slide-21
SLIDE 21

F a i r Q u e u e C

  • n

t r

  • l

l e d D e l a y F a i r Q u e u e C

  • n

t r

  • l

l e d D e l a y

Høiland-Jørgensen T., Battling Bufgerbloat

slide-22
SLIDE 22

B u ff e r b l

  • a

t s t a t u s B u ff e r b l

  • a

t s t a t u s

slide-23
SLIDE 23

Router

Wh e r e i s B u ff e r b l

  • a

t ? Wh e r e i s B u ff e r b l

  • a

t ?

Backbone ISP ISP Sender Receiver Application Application TCP QDisc TCP Router

slide-24
SLIDE 24

B u ff e r b l

  • a

t S

  • l

v e d ? B u ff e r b l

  • a

t S

  • l

v e d ?

  • Q

u e u i n g d i s c i p l i n e s Q u e u i n g d i s c i p l i n e s

C

  • d

e l , P I E , . . . C

  • d

e l , P I E , . . .

  • L

i n u x i n t e r n a l L i n u x i n t e r n a l

B Q L , F Q , P a c i n g B Q L , F Q , P a c i n g

  • D

e f a u l t q d i s c D e f a u l t q d i s c

Sysctl -w sys.net.core.default_qdisc=fq_codel Sysctl -w sys.net.core.default_qdisc=fq_codel

Y e s , ma n y t i me s

  • v

e r Y e s , ma n y t i me s

  • v

e r

slide-25
SLIDE 25

B u ff e r b l

  • a

t : T h e G

  • d

B u ff e r b l

  • a

t : T h e G

  • d
  • I

n d u s t r y a w a r e n e s s I n d u s t r y a w a r e n e s s

  • S

t a n d a r d s p r

  • g

r e s s S t a n d a r d s p r

  • g

r e s s

  • A

c t i v e r e s e a r c h A c t i v e r e s e a r c h

  • O

p e n S

  • u

r c e O p e n S

  • u

r c e S

  • l

u t i

  • n

s S

  • l

u t i

  • n

s

slide-26
SLIDE 26

B u ff e r b l

  • a

t : t h e B a d B u ff e r b l

  • a

t : t h e B a d

  • L

e g a c y e q u i p me n t L e g a c y e q u i p me n t

– O

E M f

  • c

u s

  • n

c

  • s

t n

  • t

A Q M O E M f

  • c

u s

  • n

c

  • s

t n

  • t

A Q M

  • C
  • n

g e s t i

  • n
  • n

b a c k b

  • n

e C

  • n

g e s t i

  • n
  • n

b a c k b

  • n

e

– I

t ' s n

  • t

a b u g i t ' s a f e a t u r e ? I t ' s n

  • t

a b u g i t ' s a f e a t u r e ?

– P

r

  • b

l e m i s p

  • l

i t i c a l n

  • t

t e c h n i c a l P r

  • b

l e m i s p

  • l

i t i c a l n

  • t

t e c h n i c a l

slide-27
SLIDE 27

B u ff e r b l

  • a

t : t h e U g l y B u ff e r b l

  • a

t : t h e U g l y

  • Wi

r e l e s s Wi r e l e s s

– A

g g r e g a t i

  • n

A g g r e g a t i

  • n

– M

u l t i c a s t M u l t i c a s t

– P

r

  • p

r i e t a r y fi r mw a r e P r

  • p

r i e t a r y fi r mw a r e

slide-28
SLIDE 28

Q u e s t i

  • n

s ?

Dave T<dave.taht@bufferbloat.net>

slide-29
SLIDE 29

Thank you

S t e p h e n H e mmi n g e r @n e t w

  • r

k p l u mb e r s t e p h e n @n e t w

  • r

k p l u mb e r .

  • r

g

slide-30
SLIDE 30

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!