Upload
angel-millsap
View
226
Download
1
Tags:
Embed Size (px)
Citation preview
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 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