300 likes | 544 Views
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.
E N D
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
Applications Applications Socket API UDT Socket UDP UDT UDT overview
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/semerging
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
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 • 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