UDT UDT Bo Liu 11/1/2012 Inspired by Yunhong GU. OUTLINE Goal of UDT Three conditions Congestion...

29
UDT UDT Bo Liu 11/1/2012 Inspired by Yunhong GU

Transcript of UDT UDT Bo Liu 11/1/2012 Inspired by Yunhong GU. OUTLINE Goal of UDT Three conditions Congestion...

UDTUDT

Bo Liu11/1/2012

Inspired by Yunhong GU

OUTLINE

Goal of UDT Three conditions Congestion control of UDT UDT Format Composable UDT

What is UDT

UDP-based Data Transfer Protocol

Implemented in Application Layer

Built on top of UDP with reliability control and congestion control

UDT overview

UDP

Socket API

Applications

Applications

UDT

UDT Socket

Goal of UDT

BDP-Bandwidth Delay Product

Product of a data link's capacity and its end-to-end delay

Equivalent to the maximum amount of data on the network circuit at any given time

Commonly known as a long fat network

Goal of UDT

Effectively utilize a high BDP network

But why do we need UDT?

Three Conditions

Physical condition

networkbandwidth today has been expanded to 10Gb/s with 100Gb/s emerging

Three conditions

Application condition

High-energy physics, astronomy, earth science, and other high performance computing areas

Three conditions

TCP is not suitable for a high BDP network

TCP has been found inefficient as the network bandwidth-delay product (BDP) increases

TCP's drawback

Congestion control algorithm

Congestion control of UDT

Rate control algorithm

Rate contrl interval

Congestion control of UDT

Rate control algorithm

Slow start is controlled by FLow Control Similar to TCP, but only occurs at the session beginning.

Window based flow control (Flow Control) FC limits the number of unacknowledged packets. FC is triggered on each received ACK.

Congestion control of UDT

Rate control algorithm

(1) Positive ack x←x+α(x) α(x) is non-increasing and it approaches 0 as

x increases, i.e., limx→+∞α(x) = 0

cx xB )log(10)(

Congestion control of UDT

B(Mb/s) a(x)(packets/interval) B<=0.1 0.00067 0.1<B<=1 0.001 1<B<=10 0.01 10<B<=100 0.1

Congestion control of UDT

Congestion control of UDT

Rate Control Algorithm

(2) Negative ACK x←(1-β)·x (0 < β < 1) Decrease

Randomized decrease factor = 1 – (8/9)n

UDT Format

Data packet

Control packet

Distinguished by the 1st bit (flag bit) of the packet header

UDT Format

Data packet PCI

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|

0| Packet Sequence Number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |FF |O| Message Number +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|

Time Stamp +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

Destination Socket ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

UDT Format

Control Packet PCI 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- |1| Type | Reserved +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Additional Info +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Time Stamp +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Destination Socket ID +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- Control Information Field ˜ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

UDT Format

Control Packet PCI

8 types of control packets

UDT Format

TYPE 0x0: Protocol Connection Handshake Additional Info: Undefined Control Info: 1) 32 bits: UDT version 2) 32 bits: initial packet sequence number 3) 32 bits: maximum packet size 4) 32 bits: socket ID

UDT Format

TYPE 0x2: Acknowledgement (ACK) Control Info: 1) 32 bits: The packet sequence number to which all the previous packets have been received (excluding) 2) 32 bits: RTT (in microseconds) 3) 32 bits: RTT variance 4) 32 bits: Available buffer size (in bytes) 5) 32 bits: Estimated link capacity (in number of packets per second)

UDT Format

TYPE 0x3: Negative Acknowledgement (NAK)

Additional Info: Undefined Control Info: 1) 32 bits integer array of compressed loss

information

UDT Format

TYPE 0x5: Shutdown Additional Info: Undefined Control Info: None

UDT Format

TYPE 0x7: Message Drop Request: Additional Info: Message ID Control Info: 1) 32 bits: First sequence number in the

message 2) 32 bits: Last sequence number in the

message

Composable UDT

TCP-based Protocol TCP variants

UDP-based Protocol UDT

Composable UDT

Easy implementation and deployment of new control algorithms

Easy evaluation of new control algorithms

Application awareness support and dynamic configuration

Reference

http://tools.ietf.org/pdf/draft-gg-udt-03.pdf

Thank you for attending!

Bo Liu 11/1/2012