Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
169 KB
Nội dung
1 ::
23
udt.sourceforge.net
Supporting ConfigurableCongestionControlin
Data TransportServices
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 congestioncontrol to
UDP
New congestioncontrol 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 ConfigurableCongestionControl (CCC)
CCC support is the first step of
Composable UDT
UDT/CCC allows user to implement or assign
a specific congestioncontrol 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 ConfigurableCongestion Control
UDP
Socket API
Applications
UDT
UDT Socket
CC
CC Callbacks
Memory Copy
Bypass
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…
[...]... protocol with support for configurablecongestioncontrol 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 udt.sourceforge.net 21 Future Work Keep improving More built -in congestioncontrol package More... BiC TCP TCP Westwood 73 / +132-6 11 / +192-29 8 / +27-1 11 / +192-29 27 / +145-2 CFAST FAST TCP 37 / +351-2 udt.sourceforge.net 17 Similarity and Overhead CTCP vs Linux TCP Aggregate throughput Jain’s fairness index Stability index (standard deviation) Flow # Throughput TCP CTCP Fairness TCP CTCP Stability 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... monitoring function Support a large variety of protocols Reliable UDT blast TCP and its variants (both loss and delay based) Group transport protocols udt.sourceforge.net 16 Simplicity & Expressiveness CCC Base CongestionControl Class CGTP CTCP TCP NewReno CUDPBlast Group Transport Protocol Reliable UDP Blast 28 CVegas CScalable CHS CBiC CWestwood TCP Vegas Scalable TCP HighSpeed TCP BiC TCP TCP Westwood... udt.sourceforge.net 21 Future Work Keep improving More built -in congestioncontrol package More configuration abilities (e.g., data reliability and timeliness) udt.sourceforge.net 22 The End Thank You! For More Information Please visit: SC|05 Exhibition Booth 2430 Or online at http://udt.sf.net udt.sourceforge.net 23 ... 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 # 1 2 4 8 16 32 64 2 3.28 3.91 4.32 4.05 4.59 5.41 6.63 4 3.15 3.77 4.36 4.87 5.07 5.31 6.58 8 3.20 3.95 1.45 4.32 5.60 5.27 6.15 ACK Intervals 16 3.43 3.59 3.08 3.84 4.41 4.99 5.89... public: CUDPBlast() {m_dCWndSize = 83333.0;} public: void setRate(int mbps) { m_dPktSndPeriod = (m_iSMSS * 8.0) / mbps; } protected: static const int m_iSMSS = 1500; }; udt.sourceforge.net 11 Examples: Reliable UDP Blast UDT::setsockopt(usock, 0, UDT_CC, new CCCFactory, sizeof(CCCFactory)); CUDPBlast* cchandle = NULL; int size = sizeof(CUDPBlast); UDT::getsockopt(usock, 0, UDT_CC,... Can it be used to implement most control protocols? Similarity Can Composable UDT based implementations reproduce the performance of their native implementations? Overhead Will the overhead added by Composable UDT be too large? udt.sourceforge.net 15 Simplicity & Expressiveness Eight event handlers, four protocol control functions, and one performance monitoring function Support a large variety... sizeof(CUDPBlast); UDT::getsockopt(usock, 0, UDT_CC, &cchandle, &size); if (NULL != cchandle) cchandle->setRate(500); cchandle->setRate(1000); udt.sourceforge.net 12 Examples: TCP NewReno virtual void onACK(const int& ack) { if (three duplicate ACK detected) { // ssthresh = max{flight_size / 2, 3} // cwnd = ssthresh + 3 * SMSS } else if (further duplicate ACK detected) { // cwnd = cwnd + SMSS } else if (end fast .
23
udt.sourceforge.net
Supporting Configurable Congestion Control in
Data Transport Services
Yunhong Gu and Robert L. Grossman
Laboratory for Advanced Computing
National. 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