Supporting Configurable Congestion Control in Data Transport Services - PowerPoint PPT Presentation

About This Presentation
Title:

Supporting Configurable Congestion Control in Data Transport Services

Description:

New congestion control algorithm designed for high performance ... Compile time option: no performance drop for the original UDT. 5 :: 23. udt.sourceforge.net ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 24
Provided by: niti1
Learn more at: https://www.cs.uic.edu
Category:

less

Transcript and Presenter's Notes

Title: Supporting Configurable Congestion Control in Data Transport Services


1
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
Outline
OVERVIEW
DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
3
gtgt OVERVIEW
DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
4
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
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
Motivations
  • Easy implementation and deployment of new control
    algorithms
  • Easy evaluation of new control algorithms
  • Application awareness support and dynamic
    configuration

7
gtgt DESIGN OF UDT/CCC
OVERVIEW
PERFORMANCE EVALUATION
CONCLUSIONS AND FUTURE WORK
8
UDT with Configurable Congestion Control
Applications
CC
UDT Socket
CC Callbacks
Memory Copy Bypass
UDT
Socket API
UDP
9
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
Supported Protocols
  • Reliable UDP-based Protocols
  • Standard TCP (TCP NewReno)
  • Loss-based TCP Variants
  • Delay-based TCP Variants
  • Group-based Protocols
  • And more

11
Examples Reliable UDP Blast
  • class CUDPBlast public CCCpublic  
    CUDPBlast() m_dCWndSize 83333.0public  
    void setRate(int mbps)         m_dPktSndPeriod
    (m_iSMSS 8.0) / mbps   protected  
    static const int m_iSMSS 1500

12
Examples Reliable UDP Blast
  • UDTsetsockopt(usock, 0, UDT_CC,
  • new CCCFactoryltCUDPBlastgt,
  • sizeof(CCCFactoryltCUDPBlastgt))
  • CUDPBlast cchandle NULL
  • int size sizeof(CUDPBlast)
  • UDTgetsockopt(usock, 0, UDT_CC, cchandle,
    size)
  • if (NULL ! cchandle)cchandle-gtsetRate(500)
  • ...
  • cchandle-gtsetRate(1000)

13
Examples TCP NewReno
  • virtual void onACK(const int ack)
  • if (three duplicate ACK detected)
  • // ssthresh maxflight_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
gtgt PERFORMANCE EVALUATION
OVERVIEW
DESIGN OF UDT/CCC
CONCLUSIONS AND FUTURE WORK
15
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
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
Simplicity Expressiveness
CCC Base Congestion Control Class
18
Similarity and Overhead
  • CTCP vs. Linux TCP
  • Aggregate throughput
  • Jains fairness index
  • Stability index (standard deviation)

19
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

20
gtgt CONCLUSIONS AND FUTURE WORK
OVERVIEW
DESIGN OF UDT/CCC
PERFORMANCE EVALUATION
21
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
Future Work
  • Keep improving
  • More built-in congestion control package
  • More configuration abilities (e.g., data
    reliability and timeliness)

23
The End
  • Thank You!
  • For More Information
  • Please visit
  • SC05 Exhibition Booth 2430
  • Or online at http//udt.sf.net
Write a Comment
User Comments (0)
About PowerShow.com