Udt udp based data transfer l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 38

UDT: UDP based Data Transfer PowerPoint PPT Presentation


  • 267 Views
  • Uploaded on
  • Presentation posted in: General

UDT: UDP based Data Transfer. Yunhong Gu & Robert Grossman Laboratory for Advanced Computing University of Illinois at Chicago. Outline. Background UDT Protocol UDT Congestion Control Implementation/Simulation Results Summary. Background.

Download Presentation

UDT: UDP based Data Transfer

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


Udt udp based data transfer l.jpg

UDT: UDP based Data Transfer

Yunhong Gu & Robert Grossman

Laboratory for Advanced Computing

University of Illinois at Chicago


Outline l.jpg

Outline

  • Background

  • UDT Protocol

  • UDT Congestion Control

  • Implementation/Simulation Results

  • Summary

PFLDnet 2004


Background l.jpg

Background

  • Distributed data intensive applications over wide area optical networks:

    • Grid computing, access of bulk scientific data, data mining, high resolution video, etc.

  • Transport protocol support:

    • Efficient and fair bandwidth unitization

  • TCP does not work!

PFLDnet 2004


Trans atlantic tcp performance l.jpg

Trans-Atlantic TCP Performance

  • Chicago -> Amsterdam, 1Gbps link capacity, 110ms RTT

    • TCP: 5Mbps @ default setting (64KB buffer)

    • TCP: 100Mbps @ 12MB buffer (=1Gbps*110ms)

    • Parallel TCP: 800Mbps @ 64 TCP concurrent flows, with each having 1MB buffer

  • Two concurrent TCP flows, 1 from Chicago to Amsterdam, 1 within Chicago local networks:

    • 2Mps vs. 940Mbps!

PFLDnet 2004


Why tcp fails l.jpg

Why TCP Fails

  • Discover/recover slow on high BDP links

    • Increase 1 byte per RTT

  • Drastic decrease in sending rate

  • Fairness bias on longer RTT links

  • More prone to link error in high BDP links

    B: throughout in packets per second, p: loss rate

PFLDnet 2004


Requirements to the new protocol l.jpg

Requirements to the New Protocol

  • FAST

    • High utilization of the abundant bandwidth either with single or multiplexed connections

  • FAIR

    • Intra-protocol fairness, independent of RTT

  • FRIENDLY

    • TCP compatibility

PFLDnet 2004


Use scenarios l.jpg

Use Scenarios

  • Small number of sources shares abundant bandwidth

  • Bulk data transfer

    • Most of the packets can be packed in maximum segment size (MSS) in a UDT session

    • MSS can be set up by applications and the optimal value is the path MTU

PFLDnet 2004


What s udt l.jpg

What’s UDT?

  • UDT: UDP based Data Transfer

    • Reliable, application level, duplex, transport protocol, over UDP with congestion control

    • Implementation: Open source C++ library

  • Two orthogonal parts

    • The UDT protocol framework that can be implemented above UDP, with any suitable congestion control algorithms

    • The UDT congestion control algorithm, which can be implemented in any transport protocols such as TCP

PFLDnet 2004


Packet structure l.jpg

Packet Structure

  • Data Packet:

    • Header: 1bit flag + 31bit sequence number

  • Control Packet:

    • Header: 1bit flag + 3bit type + 12bit reserved + 16bit ACK seq. no. + (0 - 32n)bit control info

    • Type: ACK, ACK2, NAK, Handshake, Keep-alive, and Shutdown

  • Actual size of a UDT packet can be ascertained from UDP header

PFLDnet 2004


Data packet l.jpg

Data Packet

  • Flag Bit: 0

  • UDT uses 31-bit packet based sequence number, ranging from 0 and (231 - 1)

  • Sequence number may be wrapped if it exceeds the maximum available number

PFLDnet 2004


Control packet l.jpg

Control Packet

  • Flag Bit: 1

  • type: 3-bit

    • handshake (000), shutdown (101), keep-alive (001)

    • ACK (010), ACK2 (110), NAK (011)

  • UDT uses sub-sequencing: each ACK and related ACK2 are assigned a 16-bit unique ACK sequence number

PFLDnet 2004


Acknowledgements l.jpg

Acknowledgements

  • Selective acknowledgement (ACK)

    • Generated at every constant interval to send back largest continuously received sequence number of data packets.

    • The sender sends back an ACK2 to the receiver for each ACK (sub-sequencing).

    • Also carries RTT, packet arrival speed, and estimated link capacity.

  • Explicit negative acknowledgement (NAK)

    • Generated as soon as loss is detected.

    • Loss information may be resent if receiver has not received the retransmission after an increasing interval.

    • Loss information is compressed in NAK.

PFLDnet 2004


Timing l.jpg

Timing

  • Packet Scheduling Timer

    • Tuned by Rate Control

    • High precision in CPU clock cycles

  • Rate Control Timer: trigger rate control

    • RCTP = 0.01 seconds

  • ACK Timer: trigger acknowledgement

    • ATP = RCTP

PFLDnet 2004


Timing cont l.jpg

Timing (cont.)

  • NAK Timer: trigger negative acknowledgement

    • NTP = RTT

  • Retransmission Timer: trigger retransmission based on time-out and maintain connection status

    • RTP = (exp-count + 1) * RTT + ATP

      where exp-count is the number of continuous time-out

PFLDnet 2004


Udt architecture l.jpg

Pkt. Scheduling Timer

Sender

Sender

Sender

DATA

Recver

Recver

ACK

ACK2

ACK Timer

NAK

NAK Timer

Retransmission Timer

Rate Control Timer

UDT Architecture

PFLDnet 2004


Congestion control l.jpg

Congestion Control

  • Rate based congestion control (Rate Control)

    • RC tunes the packet sending period.

    • RC is triggered periodically at the sender side.

    • RC period is constant of 0.01 seconds.

  • Window based flow control (Flow Control)

    • FC limits the number of unacknowledged packets.

    • FC is triggered on each received ACK at the sender side.

PFLDnet 2004


Rate control l.jpg

Rate Control

  • AIMD: Increase parameter is related to link capacity and current sending rate; Decrease factor is 1/9, but not decrease for all loss events.

  • Link capacity is probed by packet pair, which is sampled UDT data packets.

    • Every 16th data packet and it successor packet are sent back to back to form a packet pair.

    • The receiver uses a median filter on the interval between the arrival times of each packet pair to estimate link capacity.

PFLDnet 2004


Rate control cont l.jpg

Rate Control (cont.)

1. If loss rate is greater than 1%, do not increase;

2. Number of packets to be increased in next RCTP time is:

where B is estimated link capacity, C is current sending rate. Both are in packets or packets per second. MSS is the packet size in bytes. β = 1.5 * 10-6.

3. Recalculate packet sending period (STP).

PFLDnet 2004


Rate control cont19 l.jpg

Rate Control (cont.)

B = 10Gbps, MSS = 1500 bytes

PFLDnet 2004


Rate control cont20 l.jpg

Rate Control (cont.)

  • Decrease sending rate by 1/9, (or equivalently, increase packet sending period by 1.125), only if

    • Received an NAK, whose last lost sequence number is greater than the largest sequence number when last decrease occurred; or

    • The number of loss events since last decrease has exceeded a threshold, which increases exponentially and is reset when condition 1 is satisfied.

  • No data will be sent out for the next RCTP time if a decrease occurs.

    • Help to clear congestion.

PFLDnet 2004


Flow control l.jpg

Flow Control

BDP

  • W = W*0.875 + AS*(RTT+ATP)*0.125

  • AS is the packets arrival speed at receiver side.

    • The receiver records the packet arrival intervals. AS is calculated from the average of latest 16 intervals after a median filter.

    • It is carried back within ACK.

PFLDnet 2004


Slow start l.jpg

Slow Start

  • Flow window starts at 2 and increases to the number of acknowledged packets, until the sender receives an NAK or reaches the maximum window size, when slow start ends.

  • Packet sending period is 0 during slow start phase and set to the packet arrival interval at the end of the phase.

  • Slow start only occurs at the beginning of a UDT session.

PFLDnet 2004


Implementation performance l.jpg

Implementation: Performance

PFLDnet 2004


Implementation intra protocol fairness l.jpg

Implementation: Intra-protocol Fairness

PFLDnet 2004


Implementation tcp friendliness l.jpg

Implementation: TCP Friendliness

PFLDnet 2004


Implementation tcp friendliness cont l.jpg

Implementation: TCP Friendliness (cont.)

PFLDnet 2004


Implementation file transfer l.jpg

Implementation: File Transfer

1Gbps/15.9ms

1Gbps/110ms

Canarie

StarLight

SARA

Disk

R: 800Mbps

W: 550Mbps

Disk

R: 800Mbps

W: 500Mbps

Disk

R: 1300Mbps

W: 900Mbps

PFLDnet 2004


Simulation udt throughput at different bandwidth and rtt l.jpg

Simulation: UDT Throughput at Different Bandwidth and RTT

PFLDnet 2004


Simulation performance of concurrent udt flows l.jpg

Simulation: Performance of Concurrent UDT Flows

PFLDnet 2004


Simulation intra protocol fairness l.jpg

Simulation: Intra-protocol Fairness

PFLDnet 2004


Simulation rtt independence l.jpg

Simulation: RTT Independence

PFLDnet 2004


Simulation tcp friendliness l.jpg

Simulation: TCP Friendliness

PFLDnet 2004


Simulation convergence stability l.jpg

Simulation: Convergence/Stability

PFLDnet 2004


Simulation complex scenario l.jpg

100

100

100

10

50

Simulation: Complex Scenario

Link capacity

Mbps

Node

DropTail

Flow

and its ID

PFLDnet 2004


Simulation multi bottleneck l.jpg

B

200

A

200

x

C

Simulation: Multi-bottleneck

PFLDnet 2004


Summary l.jpg

Summary

  • UDT Protocol

    • Application level upon UDP

    • Selective acknowledgement / explicit negative acknowledgement

  • UDT Congestion Control

    • Rate Control

      • Bandwidth estimation for fast probing available bandwidth and fast recovery

      • AIMD for fairness

      • Constant rate control interval

    • Flow Control

      • Dynamic flow window according to packet receiving speed

PFLDnet 2004


Udt characters l.jpg

UDT Characters

  • Good use of available bandwidth

  • Application level - no changes in router and operating system

  • No manual tuning

  • Fair and Friendly: intra-protocol fairness, TCP friendliness, and RTT independence.

  • Open source

PFLDnet 2004


Thank you l.jpg

Thank You!

LAC: www.lac.uic.edu

UDT: sourceforge.net/projects/dataspace

Internet Draft: draft-gg-udt-01.txt


  • Login