UDT - Computer and Information Sciences

advertisement
UDT
Bo Liu
11/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
Applications
UDT Socket
Applications
UDT
Socket API
UDP
Goal of UDT

BDP-Bandwidth Delay Product

Product of a data link's capacity and its endto-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


 ( x)  10
log( B  x ) 
c
Congestion control of UDT





B(Mb/s)
B<=0.1
0.1<B<=1
1<B<=10
10<B<=100
a(x)(packets/interval)
0.00067
0.001
0.01
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

01234567890123456789012345678901
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|0|
Packet Sequence Number
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|FF |O|
Message Number
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
Time Stamp
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Destination Socket ID
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-






UDT Format

Control Packet PCI

01234567890123456789012345678901
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|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
Download