1 / 12

Circuit TCP (CTCP)

Circuit TCP (CTCP). Helali Bhuiyan helali@virginia.edu. 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

Download Presentation

Circuit TCP (CTCP)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Circuit TCP (CTCP) Helali Bhuiyan helali@virginia.edu

  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

  3. CTCP Software Implementation Sender Receiver Setup a circuit web100 lib web100 lib Socket API /proc Socket API /proc Linux v2.6.11 Linux v2.6.11 web100 Instr. TCP TCP web100 Instr. CTCP patch CTCP patch CTCP-web100 -patch CTCP-web100 -patch Internet IP IP DLL DLL NIC II NIC I NIC I NIC II cheetah

  4. CTCP Software Implementation Sender Receiver Run user application C-iperf C-iperf CTCP API CTCP API web100 lib web100 lib Socket API /proc Socket API /proc Linux v2.6.11 Linux v2.6.11 web100 Instr. TCP TCP web100 Instr. CTCP patch CTCP patch CTCP-web100 -patch CTCP-web100 -patch Internet IP IP DLL DLL NIC II NIC I NIC I NIC II cheetah

  5. CTCP Software Implementation Sender Receiver C-iperf User application creates a TCP socket C-iperf CTCP API CTCP API web100 lib web100 lib Socket API /proc Socket API /proc Linux v2.6.11 Linux v2.6.11 web100 Instr. TCP TCP web100 Instr. CTCP patch CTCP patch CTCP-web100 -patch CTCP-web100 -patch Internet IP IP DLL DLL NIC II NIC I NIC I NIC II cheetah

  6. CTCP Software Implementation Sender Receiver C-iperf • Activate CTCP • disable congestion • control • - set buffer sizes to • BDP value • - disable autotuning C-iperf CTCP API CTCP API web100 lib web100 lib Socket API /proc Socket API /proc Linux v2.6.11 Linux v2.6.11 web100 Instr. TCP TCP web100 Instr. CTCP patch CTCP patch CTCP-web100 -patch CTCP-web100 -patch Internet IP IP DLL DLL NIC II NIC I NIC I NIC II cheetah

  7. Atlanta PoP Raleigh PoP GbE 10GbE OC192 1-8-33 1G Zelda1 H 1-8-34 1-7-33 1-6-1 1-7-1 1-8-35 1-7-34 1G 1-8-36 1-7-35 1-6-1 H Zelda2 1-8-37 1-7-36 1G 1G 1-6-17 1-7-17 1-7-1 1-8-38 1-7-37 H Wuneng 1-7-38 1-8-39 H Zelda3 1-6-17 1-7-39 Cheetah-nc Cheetah-atl 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 NCSU Orbitty Cluster Centuar FastIron FESX448 H H 1G UVa UVa Catalyst 4948 1G mvstu6 H

  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 Throughput (Mbps) over 1 Gb/s circuit, RTT = 8.7ms

  9. Thank You

  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

  11. CTCP Behavior Start-up behavior of TCP and CTCP

  12. CTCP Performance

More Related