Application Based Rate Controllable TCP for High Performance Bulk ...

4 downloads 14995 Views 270KB Size Report
Email: {renyongmao,jlee}@cstnet.cn. Abstract—In order to solve the problem of transporting e-. VLBI data in fast long distance networks, a new TCP algorithm.
2012 IEEE 14th International Conference on High Performance Computing and Communications

Application Based Rate Controllable TCP for High Performance Bulk Data Transfer Guodong Wang∗† , Yongmao Ren† , Jun Li†

∗ Graduate

University of Chinese Academy of Sciences Beijing, China Email: [email protected] † Computer Network Information Center of Chinese Academy of Sciences Beijing, China Email: {renyongmao,jlee}@cstnet.cn its cwnd is adjusted directly by the required transfer rate from applications. To reach the desired throughput, ABCTCP increases its cwnd aggressively without considering other competing flows, but once it reaches the desired throughput, other TCP flows can friendly share the remaining bandwidth. Therefore, ABCTCP is especially useful for some critical data’s transfer with a constant rate. ABCTCP is implemented on a Linux platform and extensive experiments have been conducted both in FLDnet test-bed and actual network. The experimental results verify that ABCTCP has obvious advantages in bulk data transfer and TCP friendliness.

Abstract—In order to solve the problem of transporting eVLBI data in fast long distance networks, a new TCP algorithm is proposed in this paper. This new algorithm directly relays on the application layer to adjust its congestion window (cwnd) and transfer rate, so we named it ABCTCP (Application Based rate Controllable TCP). To reach the desired throughput, ABCTCP increases its cwnd aggressively without considering other competing flows, but once it reaches the desired throughput, by stoping increasing its cwnd, other TCP flows can friendly share the remaining bandwidth. So, ABCTCP is especially useful in some emergent data’s transportation. To evaluate ABCTCP’s performance, a series of experiments have been conducted not only in fast long distance network (FLDnet) test-bed, but also in actual networks. Experimental results verify that ABCTCP can maintain the transfer rate and effectively utilize the link capacity. Besides of these, ABCTCP can also achieve a certain of friendliness in competing with other TCP variants. Index Terms—Bulk Data Transfer; Congestion Control; High Speed Network; TCP;

II.

In order to solve traditional TCP’s problems in fast long distance network, quite a number of TCP variants have been proposed. The improved TCP variants can be divided into the following categories according to the congestion control strategy they used: Loss-based Congestion Algorithm (LCA), Delay-based Congestion Algorithm (DCA) and Compound Congestion Algorithm (CCA) which combines the LCA and DCA together. Specifically, LCA uses packet loss as the only indicator of congestion. DCA uses the variation of RTT (Round Trip Time) to reflect the network’s condition. CCA combines LCA and DCA together to detect network’s congestion level. Table I is the classified description of the popular TCP variants.

I. I NTRODUCTION Moving bulk data quickly over fast long distance networks is a critical requirement for many scientific researches. Traditional TCPs (such as Reno) have serious problems preventing TCP from reaching high throughput in fast long distance networks. Consequently, quite a number of TCP variants have been proposed to directly tackle this problem. The improved TCP variants include HSTCP [1], STCP [2], HTCP [3], Westwood [4], BIC [5], CUBIC [6], Yeah [7], ACP [8] etc. Although these algorithms have achieved success in their respective target areas, there are still many challenges that cause researchers’ widespread concern [9]. The challenges include TCP’s efficiency in fast long distance networks, the stability mechanism, the fairness problems and so on. Besides of these challenges mentioned above, there are still not enough approaches to meet the special requirement for applications with fixed transfer rate. Circuit TCP [10] made a step in this field, but its completely removing the congestion control function makes it is only suitable for dedicated optical network. In this paper, a new congestion control algorithm is proposed for fast long distance networks. This new protocol directly relies on the application layer to adjust its cwnd and transfer rate, so we named it ABCTCP (Application Based rate Controllable TCP). The main feature of ABCTCP is that 978-0-7695-4749-7/12 $26.00 © 2012 IEEE DOI 10.1109/HPCC.2012.93

RELATED WORK

TABLE I C LASSIFICATION OF TCP Categories Loss based Congestion Algorithm Delay based Congestion Algorithm Compound Congestion Algorithm

VARIANTS

Representatives STCP, HSTCP, BIC, CUBIC, HTCP Fast, ACP CTCP, Illinois, Yeah

STCP [2] alters standard TCP’s AIMD (Additive Increase Multiplicative Decrease) congestion avoidance scheme to MIMD (Multiplicative Increase Multiplicative Decrease). Specifically, STCP increases its congestion window by 0.01 times of cwnd on each received ACK (acknowledgement) and decreases it to its 0.875 times upon a packet loss. In contrast, 655

HSTCP [1] still adopts the AIMD scheme, but it polishes the increase and decrease parameters. BIC [5] uses a binary search growth and linear growth together to adjust its congestion window. Binary search growth is similar to the classical binary search algorithm. But if the distance between the current window and desired window is too large, BIC adopts the linear growth strategy instead of binary search growth. However, BIC’s cwnd updating rate appears too aggressive, especially under short RTT or in low speed networks. CUBIC [6] is a revised version of BIC. It simplifies BIC’s cwnd updating algorithm to increase its friendliness. FAST [11] uses the variation of RTT as the link feedback factor. By detecting the coming RTT’s variation, its sending rate will be gracefully reduced upon the increase of RTT. ACP [8] uses estimation of bottleneck queue size and fairness ration to achieve high utilization and friendly share network resources. CTCP [12] combines the loss based CAA (Congestion Avoidance Algorithm) and delay based CAA together to achieve high bandwidth utilization and preferable TCP friendliness. Delay based CAA is achieved by introducing dwnd (delay window). After introducing dwnd, the sending window is controlled by both cwnd and dwnd. The delay-based component has a scalable window increasing rule that not only probes the link capacity, but also reacts early to avoid congestion by sensing the changes of RTT. Illinois [13] divides network into two states, congestion and congestion-free. In congestion avoidance phase, the increment of cwnd on arrival of an ACK is cwnd = cwnd + α, but when packet loss is detected, cwnd = cwnd - β × cwnd. Yeah [7] also divides network into ’fast’ and ’slow’ states. In ’fast’ state, the increase of cwnd is expeditious just like STCP, while in ’slow’ state, cwnd increases moderately just like Reno to avoid network congestion.

from burst flow in the IP link greatly degrades the efficiency of TCP. Transmitting e-VLBI data is a critical requirement for us. Therefore, improvements must be taken to meet the demand. The requirement can be concluded in the following: (1) aggressively grab available bandwidth from the link for it is the critical application comparing to other flows; (2) maintain the constant transfer rate as much as possible; (3) once the required resources are satisfied, share the bandwidth friendly with other flows. This paper is trying to make a simple change to the congestion control algorithm of TCP to improve its transmission efficiency and meet our demands. B. ABCTCP As for ABCTCP, the slow start phase of Reno is kept down for slow start is not slow at all. The congestion avoidance phase is adjusted by the factor of cnt to make it more aggressive than current TCP variants. Calculated from the the required transfer rate, a factor cwnd required is introduced to make ABCTCP know where the required cwnd is. In the way of climbing to the required cwnd, traditional Slow Start strategy is used to effectively grab the bandwidth, however, once the required cwnd (or transfer rate) is met, ABCTCP will stop increasing its cwnd and maintain the value, in which way to keep the transfer rate. If any congestion occurs, ABCTCP will drop a small component of the required cwnd to guarantee the transfer rate still meet the requirement. ABCTCP is implemented in the Linux 2.6.18 kernel. The pseudo code is described as follows. Initialization: //get transfer rate from application layer T R = T ransf errate Required On each ACK: rtt = usecs to jif f ies(usrtt) //get rtt rtt min = min(rtt min, rtt) //get minimum rtt //get required cwnd cwnd requird = T R × rtt min/M SS cwnd low = cwnd requird × α cwnd up = cwnd requird × β snd ssthresh = cwnd low if snd cwnd ≤ snd ssthresh snd cwnd + + else if cwnd cnt ≥ cnt if snd cwnd

Suggest Documents