1 / 30

Optimizing UDP-based Protocol Implementations

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.

oshin
Download Presentation

Optimizing UDP-based Protocol Implementations

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimizing UDP-based Protocol Implementations Yunhong Gu and Robert L. Grossman Presenter: Michal Sabala National Center for Data Mining

  2. Outline • UDP Performance Characteristics and Optimizations • Composable UDT: A Framework for UDP-based Protocol Implementations

  3. Part I. UDP Performance Characteristics and Optimization Techniques

  4. Introduction • 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!

  5. 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

  6. UDP Performance: Impact of Buffer Size

  7. UDP Performance: Impact of Packet Size Throughput CPU Util.

  8. UDP-based Protocol Performance • Additional overhead • Additional memory copy • Additional packet processing • Additional context switches

  9. 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

  10. Optimization Guidelines • Memory copy avoidance • UDP IO • API semantics • Acknowledgements • Timer-based Acknowledging • Light ACK • Loss processing • Timing, rate control, and self-clocking

  11. Optimization Guidelines • Disk IO • sendfile/recvfile • Threading • Synchronization cost • Code Optimization • sending/receiving loop • Profiling

  12. Part II. Composable UDT: A Framework for UDP-based Protocol Implementations

  13. Composable UDT • Based on the UDT (UDP-based Data Transfer library) implementation • Integrated those optimization techniques described in this paper

  14. Objectives • 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

  15. Current Status • UDT/CCC: Configurable congestion control • In future • Data reliability configuration • Message boundary support

  16. 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

  17. Implementation • C++ class inheritance • CCC: base class for control event handing • Callbacks • Performance monitoring • Internal protocol parameters • Performance statistics

  18. Implementation

  19. Example: Simplified TCP

  20. Configurable Congestion Control

  21. 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

  22. Conclusion • 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

  23. Thank you! For more information, please visit UDT Project: http://udt.sf.net NCDM: http://www.ncdm.uic.edu

  24. Backup Slides

  25. UDP Performance: Experiment Setup

  26. UDP Performance: CPU Utilization

  27. UDP Performance: End System Delay

  28. UDT Profiling: Modules

  29. UDT Profiling: Functionalities

  30. CPU Utilization: K-TCP vs U-TCP

More Related