22
Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)

Compound TCP draft-sridharan-tcpm-ctcp-00.txt

  • Upload
    phong

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Compound TCP draft-sridharan-tcpm-ctcp-00.txt. Murari Sridharan Windows TCP/IP Networking, Microsoft Corp. (Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST). Design goals. Efficiency Improve throughput by efficiently using the spare capacity in the network RTT fairness - PowerPoint PPT Presentation

Citation preview

Page 1: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Murari SridharanWindows TCP/IP Networking, Microsoft Corp.

(Collaborators: Kun Tan, Jingmin Song, MSRA & Qian Zhang, HKUST)

Page 2: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Design goalsEfficiency

Improve throughput by efficiently using the spare capacity in the network

RTT fairnessIntra-protocol fairness when competing with

flows that have different RTTsTCP fairness

Must not impact performance of regular TCP flows sharing the same bottleneck

Stability

Page 3: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

The Compound TCP approachSynergy between loss and delay based

approachesUsing delay to sense network congestionAdaptively adjust aggressiveness based on

network congestion levelOne flow, two components

Loss based component: cwnd (standard TCP Reno)

Scalable delay-based component: dwndTCP send window is controlled by

win = cwnd + dwnd

Page 4: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

CTCP congestion controlVegas-like early congestion detector

Estimate the backlogged packets (diff) and compare it to a threshold, γ

Binomial increase when no congestion

Multiplicative decrease when loss

On detecting incipient congestionDecrease dwnd and yield to competing flows

ktwintwintwin )()()1(

1)()1( twintwin

Page 5: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

CTCP congestion controlcwnd is updated as TCP Renodwnd control law

The above control law kicks in only when the flow is in congestion avoidance and cwnd >= 38 packets. No changes to slow start phase.

detected is loss if ,2/)1()(

if ,)(

if ,)1)(()(

)1(

cwndtwin

diffdifftdwnd

difftwintdwnd

tdwnd

k

Page 6: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Response function

10-10

10-9

10-8

10-7

10-6

10-5

10-4

10-3

10-2

10-1

10-1

100

101

102

103

104

105

106

107

108

109

Packet loss rate

Win

dow

CTCP (k=3/4)HSTCP TCP Reno STCP

Page 7: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

CTCP window evolution

γ

D E F G

Loss Free Period

W(1-b)

Ws = cwnd + dwnd

Wm

B

dwnd = 0

cwnd

dwnd

Page 8: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Convergence and RTT fairnessTheorem 1: Two CTCP flows with same round

trip delay converge to fair share. Theorem 2: Let Th1 and Th2 present the

throughput of two CTCP flows with round trip times R1 and R2, respectively. Then, the following inequality satisfied

2

1

2

2

1

R

RTh

Th

u

CTCP

BTi

Regular TCP

l

m

Page 9: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

TCP fairnessBandwidth stolen

Let P be the aggregated throughput of m regular TCP flows when they compete with l regular flows. Let Q be the aggregated throughput when competing with high-speed flows. The bandwidth stolen by high-speed protocol flows from regular TCP flows is

Theorem 3: CTCP is fair and will not steal bandwidth from competing flows when , where B is the bottleneck buffer size.

lm

B

P

QPBstolen

Page 10: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Effect of Gammaγ fixed at 30

packets. This works well on most scenarios

Delay component loses ability to detect early congestionAverage buffer

allocated for each flow is < γ

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5

Number of CTCP/HSTCP flows

Ba

nd

wid

th s

tole

n (

%)

CTCP HSTCP

Page 11: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Gamma tuning by emulationLoss based component of CTCP emulates the

behavior of regular TCP. The cwnd’s of competing flows converge and should be the same before hitting a packet loss.

At the end of every round, compute backlogged packets (Diff_reno) purely based on cwnd the loss based component.

On a packet loss, choose γ = 3/4 * Diff_reno. Update γ using an exponential moving average

Ensure γlow <= γ <= γhigh . Experimentally we have determined γlow = 5 , γhigh = 30

*)1(

Page 12: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

SummaryCTCP is a promising approach that achieves good

efficiency, RTT fairness and TCP fairness. Implemented on Windows platform and verified

the above properties in a range of environments. Validated on test-beds, Microsoft IT high-speed

links, Microsoft internal deployments, SLAC/Internet2/ESNet production links.

We believe CTCP is safe for Internet deploymentExperimental RFC on Compound TCP

http://research.microsoft.com/users/dthaler/draft-sridharan-tcpm-ctcp-00.txt

Page 13: Compound TCP draft-sridharan-tcpm-ctcp-00.txt
Page 14: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Implementation & EvaluationWindows platform implementation

Microsecond resolution RTT timerDynamic memory management for sample

buffersDummyNet-based Test-bed

Iperf

Sender ReceiverRouter

Iperf

DummyNet

Giga EthernetSwitch

Giga EthernetSwitch

FreeBSD 5.3MS Windows MS Windows

Multi-supportTCP/IP stack

Multi-supportTCP/IP stack

Page 15: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Efficiency

0

100

200

300

400

500

600

700

0.01 0.001 0.0001 0.00001 0.000001 0

Packet loss rate

Th

rou

gh

pu

t (M

bp

s)

Regular TCP HSTCP CTCP

Page 16: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

RTT fairnessInverse RTT ratio

1 2 3 6

Regular TCP 0.9 3.6 6.2 31.6

HSTCP 1 28.9 90.5 233.8

CTCP 1 2.2 4.1 9.5

Page 17: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

TCP fairness – Effect of γ

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

1 2 3 4 5

Number of CTCP/HSTCP flows

Ban

dwid

th s

tole

n (%

)

CTCP HSTCP CTCP-TUBE

0

100

200

300

400

500

600

700

800

900

1000

0.01 0.001 0.0001 0.00001 0.000001 0

Link packet loss rateT

hro

ug

hp

ut

(Mbp

s)

Regular TCP HSTCP CTCP-TUBE CTCP

Page 18: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

TCP fairness – Varying buffer sizes

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

50 150 250 500 1000 2000

Buffer size (packets)

Ban

dwid

th s

tole

n

CTCP CTCP-TUBE

Page 19: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Intra-protocol fairness and convergence of γ

0

50

100

150

200

250

300

350

400

0 500 1000 1500 2000 2500 3000

Time (s)

Thr

ough

put

(Mbp

s)

0

5

10

15

20

25

30

35

0 500 1000 1500 2000 2500 3000

First 3 flows enter

Second 3 flows enter

Third 3 flows enter

Last 3 flows enter

Time (s)

Page 20: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Stability

Page 21: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Multiple bottlenecks – UtilizationM flows 2.5G/10ms 1G/30ms 2.5G/10ms

N flows K flows

N=400 TCP, K=50 TCPM is either 8 CTCP or TCP flows

0

500

1000

1500

2000

2500

3000

1 51 101 151 201 251 301

TCP CTCP

Page 22: Compound TCP draft-sridharan-tcpm-ctcp-00.txt

Multiple bottlenecks – Throughput

N=400 TCP, K=50 TCPM is either 8 CTCP or TCP flows

0

100

200

300

400

500

600

1 51 101 151 201 251

Th

rou

gh

pu

t (M

bp

s)

Time (s)

CTCP TCP