1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah...

12
1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu http://klamath.stanford.edu/~aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems Laboratory Stanford University

Transcript of 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah...

Page 1: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

1

TCP-BFA: Buffer Fill Avoidance

{aaa,crai}@stanford.edu

http://klamath.stanford.edu/~aaa/tcp-bfa

September 1998

Amr A. Awadallah

Chetan Rai

Computer Systems Laboratory

Stanford University

Page 2: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

2

TCP Congestion Avoidance

Offered Load

Delay

Throughput(Goodput)

Disadvantages:

1. High Buffer Occupancies

2. High Delay

3. Periodic Packet Losses

4. Bursty Traffic PatternKnee

Cliff

Page 3: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

3

Operate Closer to the Knee

Offered Load

Delay

Throughput

Advantages:

1. Smaller Buffers

2. Lower Delay

3. Fewer Packet Losses

4. Faster Loss Detection

5. Smoother Traffic PatternsKnee

Cliff

Page 4: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

4

How To Estimate ?

• Signed RTT variance (srv):

where = current RTT - smoothed RTTand = filter gain constant

NRTT /

)1(1 srvtsrvt srvsrv

srv

Time

srv

Disable Threshold

Enable Threshold

Enable BFA Mode

Disable BFA Mode

Page 5: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

5

Buffer Fill AvoidanceA) Incrementing the Congestion Window:

if( BFA Flag is set ) hold cwndelse allow normal cwnd increase.

B) Setting the Buffer Fill Avoidance Flag:

Rule 1: if( BFA Flag is set )if(Signed_RTT_Variance <= )

clear BFA Flagelse if(Signed RTT Variance > )

set BFA Flag

Rule 2: Clear the BFA Flag whenever thecongestion window drops due to loss.

off

on

Page 6: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

6

Simulation

• Simulations using the ns network simulator.

64 Kbps, 100 ms 10 Mbps, 10 ms

10 Mbps, 10 ms

Source 1

Source 2

Sink 1

Sink 2

Node 1

Node 2

Page 7: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

SimulationSingle Sources Competing SourcesBuffer Occupancy (packets)

Buffer Size (packets)

TCP-BFA

Reno

0 200100 3000

5

10

15

20

Network Power (Throughput/Delay)

0 50 100 150 2000

10

5

15

20

25

TCP-BFA

Reno

Time (sec) 0 200100 3000

5

10

15

20Buffer Occupancy (packets)

Reno vs. Reno

TCP-BFA vs. TCP-BFA

Buffer Size (packets)0 10 20 30 40 50

0

10

5

15

20

Network Power (Throughput/Delay)

Reno1

TCP-BFA 1&2

Reno2

TCP-BFAReno

Time (sec)

Page 8: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

8

Simulation - Fairness

Buffer Size (packets)0 10 20 30 40 50

0

0.4

0.6

0.8

1.0

0.2

Jain’s Fairness Index ( 1 = fair, 0 = unfair)

Reno (starting together)

Reno (starting at different times)

TCP-BFA (starting together)

TCP-BFA (starting at different times)

Page 9: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

9

Measurements

• Modified the FreeBSD TCP kernel to perform buffer fill avoidance.

Internet(20 hops)

Source Sink

Stanford, USA

64Kbps

320 msCairo, Egypt

Page 10: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

Low CongestionTCP-BFA TCP-Reno

0 200 400 60005

10152025

30

Time (s)

Congestion Window (KB)

0 200 400 600Time (s)

10152025

30

05

Advertised Window

Congestion Window (KB)

cwnd (KB)0 5 10 15 20 25 30

RTT (sec)

0

1.0

2.0

3.0

4.0

5.0

cwnd (KB)5 10 15 20 25 300

RTT (sec)

0

1.0

2.0

3.0

4.0

5.0

Page 11: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

Medium CongestionTCP-BFA TCP-Reno

200 400 6000

5

10

15

20

25

30

Time (s)

cwnd (KB)0 5 10 15 20 25 30

RTT (sec)

0

1.0

2.0

3.0

4.0

5.0

Congestion Window (KB)

0 800 1000 200 400 6000

5

10

15

20

25

30

Time (s)

Congestion Window (KB)

0 800 1000

cwnd (KB)0 5 10 15 20 25 30

RTT (sec)

0

1.0

2.0

3.0

4.0

5.0

Page 12: 1 TCP-BFA: Buffer Fill Avoidance {aaa,crai}@stanford.edu aaa/tcp-bfa September 1998 Amr A. Awadallah Chetan Rai Computer Systems.

12

Summary

• Advantages:– Lower buffer occupancies Fewer Losses– Lower delays Faster loss detection– Smoother traffic patterns– Easy to integrate into current implementations

• Disadvantages:– Slightly lower throughput– Unfairness in ideal situations

TCP-BFA: Operate closer to knee than cliff