1 :: 23 udt.sourceforge.net Supporting Configurable Congestion Control in Data Transport Services Yunhong Gu and Robert L. Grossman Laboratory for Advanced Computing National Center for Data Mining University of Illinois at Chicago November 16, 2005 udt.sourceforge.net
23
Embed
Supporting Configurable Congestion Control in Data Transport Services
Supporting Configurable Congestion Control in Data Transport Services. Yunhong Gu and Robert L. Grossman Laboratory for Advanced Computing National Center for Data Mining University of Illinois at Chicago November 16, 2005. udt.sourceforge.net. Outline. OVERVIEW. DESIGN OF UDT/CCC. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1 :: 23
udt.sourceforge.net
Supporting Configurable Congestion Control in Data Transport Services
Yunhong Gu and Robert L. Grossman
Laboratory for Advanced Computing
National Center for Data Mining
University of Illinois at Chicago
November 16, 2005
udt.sourceforge.net
2 :: 23
udt.sourceforge.net
Outline
OVERVIEW
DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
3 :: 23
udt.sourceforge.net
>> OVERVIEW
DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
4 :: 23
udt.sourceforge.net
From UDT to Composable UDT
UDT (UDP-based Data Transfer Protocol) New application level protocol: add reliability and congestion control to
UDP New congestion control algorithm designed for high performance data
transfer over high-speed wide area networks Open source: http://udt.sourceforge.net
Composable UDT An expansion to UDT with ability to allow users to configure the UDT
library: congestion control, data reliability, etc. Compile time option: no performance drop for the original UDT
5 :: 23
udt.sourceforge.net
UDT with Configurable Congestion Control (CCC)
CCC support is the first step of Composable UDT
UDT/CCC allows user to implement or assign a specific congestion control algorithm to a UDT connection Per connection control Dynamically configurable
6 :: 23
udt.sourceforge.net
Motivations
Easy implementation and deployment of new control algorithms
Easy evaluation of new control algorithms
Application awareness support and dynamic configuration
7 :: 23
udt.sourceforge.net
>> DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
OVERVIEW
8 :: 23
udt.sourceforge.net
UDT with Configurable Congestion Control
UDP
Socket API
Applications
UDT
UDT Socket
CC
CC
Cal
lbac
ks
Mem
ory
Cop
y B
ypas
s
9 :: 23
udt.sourceforge.net
Methodologies
Packet sending control Window-based, rate-based, and hybrid
Control event handling onACK, onLoss, onTimeout, onPktSent, onPktRecved, etc.
Protocol parameters access RTT, loss rate, RTO, etc.
Packet extension User-defined control packets
10 :: 23
udt.sourceforge.net
Supported Protocols
Reliable UDP-based Protocols
Standard TCP (TCP NewReno)
Loss-based TCP Variants
Delay-based TCP Variants
Group-based Protocols
And more…
11 :: 23
udt.sourceforge.net
Examples: Reliable UDP Blast
class CUDPBlast: public CCC{public: CUDPBlast() {m_dCWndSize = 83333.0;}
CTCP vs. Linux TCP Aggregate throughput Jain’s fairness index Stability index (standard deviation)
Flow#
Throughput Fairness Stability
TCP CTCP TCP CTCP TCP CTCP
1 112 122 1 1 0.517 0.415
2 191 208 0.997 0.999 0.476 0.426
4 322 323 0.949 0.999 0.484 0.492
8 378 422 0.971 0.999 0.633 0.550
16 672 642 0.958 0.985 0.502 0.482
32 877 799 0.988 0.997 0.491 0.470
64 921 716 0.994 0.996 0.569 0.529
19 :: 23
udt.sourceforge.net
CPU Overhead vs. ACK Frequencies
CPU usage Sender: CTCP uses about 100% more times of CPU as Linux TCP Receiver: CTCP uses about 20% more CPU than Linux TCP
Source of overheads Additional memory copy and context switch
ACK Frequencies is one of the major factors
Flow#
ACK Intervals2 4 8 16 32 64 128
1 3.28 3.15 3.20 3.43 2.57 2.59 2.07
2 3.91 3.77 3.95 3.59 3.52 3.35 3.51
4 4.32 4.36 1.45 3.08 3.54 3.44 3.27
8 4.05 4.87 4.32 3.84 3.91 3.63 3.63
16 4.59 5.07 5.60 4.41 4.41 4.17 3.12
32 5.41 5.31 5.27 4.99 5.15 4.53 4.01
64 6.63 6.58 6.15 5.89 5.35 5.08 4.51
20 :: 23
udt.sourceforge.net
>> CONCLUSIONS AND FUTURE WORK
OVERVIEW
DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
21 :: 23
udt.sourceforge.net
Conclusions
We expanded our UDT protocol with support for configurable congestion control Easy implementation and deployment of new control algorithms Easy evaluation of new control algorithms Application awareness support and dynamic configuration
Pros Simplicity and expressiveness Easily deployable
Cons CPU overhead
22 :: 23
udt.sourceforge.net
Future Work
Keep improving
More built-in congestion control package
More configuration abilities (e.g., data reliability and timeliness)