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