Tải bản đầy đủ (.ppt) (23 trang)

Tài liệu Supporting Configurable Congestion Control in Data Transport Services ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (223.31 KB, 23 trang )

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:

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 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…
11
::
23
udt.sourceforge.net
Examples: Reliable UDP Blast
class CUDPBlast: public CCC
{
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;
};
12
::
23

udt.sourceforge.net
Examples: Reliable UDP Blast
UDT::setsockopt(usock, 0, UDT_CC,
new CCCFactory<CUDPBlast>,
sizeof(CCCFactory<CUDPBlast>));
CUDPBlast* cchandle = NULL;
int size = sizeof(CUDPBlast);
UDT::getsockopt(usock, 0, UDT_CC, &cchandle,
&size);
if (NULL != cchandle)
cchandle->setRate(500);

cchandle->setRate(1000);
13
::
23
udt.sourceforge.net
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 recovery) {
// cwnd = ssthresh
} else {
// cwnd = cwnd + 1/cwnd
}

}
14
::
23
udt.sourceforge.net
>> PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
OVERVIEW
DESIGN OF UDT/CCC
15
::
23
udt.sourceforge.net
Evaluation

Simplicity

Can it be easily used?

Expressiveness

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?
16
::
23
udt.sourceforge.net
Simplicity & Expressiveness

Eight event handlers, four protocol
control functions, and one performance
monitoring function.

Support a large variety of protocols

Reliable UDT blast

TCP and its variants (both loss and delay based)

Group transport protocols
17
::
23
udt.sourceforge.net
Simplicity & Expressiveness
CCC
Base Congestion
Control Class
CTCP
TCP NewReno
CGTP
Group Transport

Protocol
CUDPBlast
Reliable UDP
Blast
CFAST
FAST TCP
CVegas
TCP Vegas
CScalable
Scalable TCP
CHS
HighSpeed TCP
CBiC
BiC TCP
CWestwood
TCP Westwood
28
73 / +132-6 11 / +192-29 8 / +27-1 11 / +192-29 27 / +145-2
37 / +351-2
18
::
23
udt.sourceforge.net
Similarity and Overhead

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 Intervals
2 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)
23
::
23
udt.sourceforge.net
The End

Thank You!
For More Information
Please visit:
SC|05 Exhibition Booth 2430
Or online at

×