12
August 10, 2006 1 Circuit TCP (CTCP) Helali Bhuiyan [email protected]

August 10, 20061 Circuit TCP (CTCP) Helali Bhuiyan [email protected]

Embed Size (px)

Citation preview

August 10, 2006 1

Circuit TCP (CTCP)Helali Bhuiyan

[email protected]

August 10, 2006 2

CTCP: concept and value Once a dedicated circuit is setup between two end hosts, TCP

seems to be a fine transport solution for large files window-based flow control handles variations in receive rate no packet loss → no reduction in sending rate

circuit switches on path with reserved bandwidth window size reports in ACKs prevent receive buffer losses

assume send and receive buffer size = BDP But for small files

initial Slow Start in TCP on send side and Linux autotuning enhancement to slowly increase receive buffer hurts throughput

hence CTCP

August 10, 2006 3

Linuxv2.6.11

Sender

Socket API

TCP

IP

DLL

NIC II

web100 lib

/proc

web100Instr.

CTCP-web100-patch

CTCP patch

NIC I

Linuxv2.6.11

Receiver

web100 lib

Socket API

TCP

IP

DLL

NIC I NIC II

Internet

Internet

cheetahcheetah

/proc

web100Instr.

CTCP Software Implementation

Setup a circuit

CTCP patch CTCP-web100-patch

August 10, 2006 4

Linuxv2.6.11

Sender

Socket API

TCP

IP

DLL

NIC II

web100 lib

/proc

web100Instr.

CTCP-web100-patch

CTCP patch

NIC I

Linuxv2.6.11

Receiver

web100 lib

Socket API

TCP

IP

DLL

NIC I NIC II

Internet

Internet

cheetahcheetah

/proc

web100Instr.

CTCP Software Implementation

C-iperf C-iperfRun user application

CTCP API CTCP API

CTCP patch CTCP-web100-patch

August 10, 2006 5

Linuxv2.6.11

Sender

Socket API

TCP

IP

DLL

NIC II

web100 lib

/proc

web100Instr.

CTCP-web100-patch

CTCP patch

NIC I

Linuxv2.6.11

Receiver

web100 lib

Socket API

TCP

IP

DLL

NIC I NIC II

Internet

Internet

cheetahcheetah

/proc

web100Instr.

CTCP Software Implementation

C-iperf C-iperfUser applicationcreatesa TCP socket

CTCP API CTCP API

CTCP patch CTCP-web100-patch

August 10, 2006 6

Linuxv2.6.11

Sender

Socket API

TCP

IP

DLL

NIC II

web100 lib

/proc

web100Instr.

CTCP-web100-patch

CTCP patch

NIC I

Linuxv2.6.11

Receiver

web100 lib

Socket API

TCP

IP

DLL

NIC I NIC II

Internet

Internet

cheetahcheetah

/proc

web100Instr.

CTCP Software Implementation

C-iperf C-iperfCTCP API CTCP API

Activate CTCP-disable congestion control- set buffer sizes to BDP value- disable autotuning

CTCP patch CTCP-web100-patch

August 10, 2006 7

Demonstration

Setup a circuit between zelda3 to mvstu6 C-iperf and iperf server are running on zelda3 Run C-iperf and iperf client on mvstu6 Comparison between C-iperf with iperf

5MB transfer 10MB transfer

1G

1-8-331-8-341-8-351-8-36

1-6-1

1-6-17 1-8-37

1-7-1

1-8-381-7-17

Cheetah-ncWuneng1-8-

39

H

Raleigh PoPOC192

1-6-1

1-6-17

10GbE

1-7-1

GbE

1-7-331-7-341-7-351-7-361-7-371-7-381-7-39

H

H

H

Cheetah-atl

Atlanta PoP

Zelda1Zelda2Zelda3

1G

1G

1G

Orbitty Cluster

1G

NCSU

H

HCentuarFastIron

FESX448

UVa Catalyst

4948

1GH

UVa

mvstu6

August 10, 2006 8

Measurements Throughput gains of CTCP over TCP for small transfer

sizes For transfers in bursts, cwnd resets during idle times

Throughput gain decreases as transfer size increases

Transfer Size (KB) 100 1000 5000 10000 50000 100000 500000

TCP 18 106 336 474 726 783 836

CTCP 43 307 632 710 827 851 873

Throughput (Mbps) over 1 Gb/s circuit, RTT = 8.7ms

August 10, 2006 9

Thank You

August 10, 2006 10

Local Testbed

Setup a circuit between mvstu3 to mvstu6 mvstu4 is running as a WAN emulator C-iperf and iperf server are running on mvstu3 Run C-iperf and iperf client on mvstu6 Comparison between C-iperf with iperf

5MB transfer 10MB transfer

Cisco GSR 12008 router A

mvstu3

mvstu6

GbE OC-3 GbE

100M

Cisco GSR 12008 router B

OC-3

Cisco ONS 15454 MSPP

SummitSwitch

192.168.100.1 192.168.100.2

SummitSwitch

100M

192.168.13.1eth1:

192.168.13.2

192.168.14.1

eth1: 192.168.14.2

mvstu4

eth1: 192.168.14.6

192.168.200.1 192.168.200.2eth2:

192.168.14.4

August 10, 2006 11

CTCP Behavior

Start-up behavior of TCP and CTCP

August 10, 2006 12

CTCP Performance