Optimizing UDP-based Protocol Implementations - PowerPoint PPT Presentation

About This Presentation
Title:

Optimizing UDP-based Protocol Implementations

Description:

Optimizing UDP-based Protocol Implementations Yunhong Gu and Robert L. Grossman Presenter: Michal Sabala National Center for Data Mining Outline UDP Performance ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 31
Provided by: udtSource
Category:

less

Transcript and Presenter's Notes

Title: Optimizing UDP-based Protocol Implementations


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
Write a Comment
User Comments (0)
About PowerShow.com