optimizing udp based protocol implementations l.
Skip this Video
Loading SlideShow in 5 Seconds..
Optimizing UDP-based Protocol Implementations PowerPoint Presentation
Download Presentation
Optimizing UDP-based Protocol Implementations

Loading in 2 Seconds...

play fullscreen
1 / 30

Optimizing UDP-based Protocol Implementations - PowerPoint PPT Presentation

  • Uploaded on

Optimizing UDP-based Protocol Implementations. Yunhong Gu and Robert L. Grossman Presenter: Michal Sabala. National Center for Data Mining. Outline. UDP Performance Characteristics and Optimizations Composable UDT: A Framework for UDP-based Protocol Implementations.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Optimizing UDP-based Protocol Implementations' - oshin

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
optimizing udp based protocol implementations

Optimizing UDP-based Protocol Implementations

Yunhong Gu and Robert L. Grossman

Presenter: Michal Sabala

National Center for Data Mining

  • UDP Performance Characteristics and Optimizations
  • Composable UDT: A Framework for UDP-based Protocol Implementations
  • UDP-based Protocol is needed
    • As short-term solution to the lack of effective kernel space transport protocols for high bandwidth-delay product networks
    • As application specific data transfer library, e.g., Multimedia data transfer
  • It is not an easy task to impalement a new UDP-based protocol from scratch
    • And may be not necessary!
udp performance
UDP Performance
  • Sending and receiving buffer size
  • Packet size
  • IO mode
    • Scattering/gathering (writev/readv)
    • Memory copy avoidance (e.g., overlapped IO of Windows Socket2)
  • To reach same data transfer rate, UDP needs slightly less CPU time than TCP, and cause slightly less end system delay
udp based protocol performance
UDP-based Protocol Performance
  • Additional overhead
    • Additional memory copy
    • Additional packet processing
    • Additional context switches
optimization guidelines
Optimization Guidelines
  • Avoid additional memory copy
  • Reduce the number of packets
    • Control packets, esp. acknowledgements
  • Reduce overall processing time
    • Simpler mechanism is better
  • Avoid burst in processing time
    • CPU may be too busy to process incoming packets
optimization guidelines10
Optimization Guidelines
  • Memory copy avoidance
    • UDP IO
    • API semantics
  • Acknowledgements
    • Timer-based Acknowledging
    • Light ACK
    • Loss processing
  • Timing, rate control, and self-clocking
optimization guidelines11
Optimization Guidelines
  • Disk IO
    • sendfile/recvfile
  • Threading
    • Synchronization cost
  • Code Optimization
    • sending/receiving loop
  • Profiling
composable udt
Composable UDT
  • Based on the UDT (UDP-based Data Transfer library) implementation
  • Integrated those optimization techniques described in this paper
  • Rapid development of UDP-based transport protocols and application specific data transfer libraries
  • Easy evaluation of new congestion control algorithms
  • Non-objectives
    • Replace kernel space protocol implementations
    • User-level TCP implementation
current status
Current Status
  • UDT/CCC: Configurable congestion control
  • In future
    • Data reliability configuration
    • Message boundary support
configurable congestion control
Configurable Congestion Control
  • Packet sending control
    • Rate-based, window-based, hybrid
  • Redefinition of control event handlers
    • Loss, ACK, Time Out, etc.
  • Access to internal protocol parameters
    • RTT, RTO, Loss Rate, etc.
  • User customized packet formats
  • C++ class inheritance
    • CCC: base class for control event handing
  • Callbacks
  • Performance monitoring
    • Internal protocol parameters
    • Performance statistics
future work
Future Work
  • Continue to improve the UDT/CCC library
  • More experimental evaluation work of the UDT/CCC library
    • Compare k-TCP and u-TCP in more network environments
    • Implement more TCP variants
  • More pre-implemented congestion control algorithms
  • UDP-based protocol is one of the solutions to bulk data transfer in high BDP networks
  • Some optimization principles and techniques are discussed in this paper
  • We further propose a composable framework in order to make it much easier to implement UDP-based protocols
thank you

Thank you!

For more information, please visit

UDT Project: http://udt.sf.net

NCDM: http://www.ncdm.uic.edu