DiffStart: An Algorithm to Improve the Start-up Behaviour of TCP for High Bandwidth-delay Networks

Embed Size (px)

DESCRIPTION

Journal of Telecommunications, ISSN 2042-8839, Volume 25, Issue 1, May 2014 www.journaloftelecommunications.co.uk

Citation preview

  • JOURNAL OF TELECOMMUNICATIONS, VOLUME 25, ISSUE 1, MAY 2014 12

    DiffStart: An Algorithm to Improve the Start-up Behaviour of TCP for High Bandwidth-delay

    Networks Aniruddha A. Agharkar, Gregory MacDonald, and Pramode K. Verma

    AbstractIn this paper, we propose a novel algorithm DiffStart to improve the start-up behaviour of TCP for high bandwidth-delay networks. The standard slow start algorithm is not suitable to operate over high bandwidth-delay networks because of the aggressive doubling of the congestion window without an efficient congestion detection mechanism. Consequently, the connection undergoes a timeout that leads to a slow ramping-up to full network capacity, which adversely affects the overall performance of TCP. The proposed DiffStart algorithm anticipates the onset of congestion in the network and proactively transitions the growth rate of the congestion window from exponential to linear. Based on the simulation results, we show that DiffStart in conjunction with TCP Reno overcomes the limitations of the standard slow start algorithm, and provides an improvement over other TCP protocols namely, TCP Compound, and TCP CUBIC in the case of high bandwidth-delay networks.

    Index Terms bandwidth-delay networks, congestion control, slow start, TCP.

    u

    1 INTRODUCTIONECENT advances in the Internet have led to the de-velopment of new applications and technologies. However, the de facto standard for all reliable con-

    nection-oriented communication continues to be Trans-mission Control Protocol (TCP). Unlike the Internet Pro-tocol (IP) [1], which is a best effort service and operates on a hop-by-hop basis, TCP offers a reliable and end-to-end delivery of data between the communicating nodes. The other important aspect of TCP is to regulate the flow of packets into the network by enforcing congestion control and flow control schemes. TCP/IP together carries the bulk of all Internet traffic.

    The Internet penetration has been increasing globally [2], [3]. Additionally, companies such as Google, Amazon, Microsoft etc. offer cloud based services that have man-dated an overhaul in the underlying network [4]. It is not uncommon to find networks which have bandwidth in the order of Gigabits per second [5]. The network speed continues to increase over the years and some of the cur-rent deployments require speeds of 100 Gbps [6].

    Although high capacity network pipes help accommo-

    date the increase in traffic, this does not, necessarily, im-prove performance. In addition to bandwidth, delay is a

    key factor in determining the performance of high-speed links [7]. Delay can have a significant financial impact for content providers and Internet Service Providers alike. For example, Amazon reported a 1% decrease in its sales because of an additional delay of 100ms [8].

    Delay in networks can be broadly categorized as pro-cessing delay, transmission delay, queuing delay, and propagation delay [9]. With the advent of faster proces-sors and memories, processing and transmission delays have consistently declined. The queuing delay is largely associated with the packet arrival rate, nature of traffic (periodic or burst), etc. Therefore, queuing delay is gener-ally characterized using statistical measures.

    The propagation delay, on the other hand, is governed by the physical distance between the two communicating nodes and the transmission medium. With an increase in the physical distance and the speed of communication, propagation delays become increasingly relevant in con-trolling throughput

    The standard slow start algorithm is not suitable for operating over high bandwidth-delay networks that are characterized by their large bandwidth delay product. This is a well-established limitation and an area of active research [10], [11], [12], [13], [14], [15]. Several slow start algorithms have been proposed over the years to over-come this limitation. We discuss some these slow start algorithms in Section 3 of this paper.

    During the start-up phase, TCP doubles its congestion window (cwnd) every Round Trip Time (RTT) to deter-mine the maximum sustainable window size and the slow start threshold (ssthresh) for the given network. Initially, the value of the ssthresh is arbitrarily assigned from 4K to 64K bytes depending on the type of implementation [16].

    If the value of ssthresh is set lower than the capacity of the link, it causes a premature transition from the slow

    A.A.Agharkar was with the Telecommunications Engineering Program,

    School of Electrical and Computer Engineering, The University of Oklaho-ma, Tulsa OK 74135 (USA).

    G. MacDonald is a member of the faculty at the Telecommunications Engi-neering Program, School of Electrical and Computer Engineering, The University of Oklahoma, Tulsa OK 74135 (USA).

    P.K.Verma is Director of the Telecommunications Engineering Program, School of Electrical and Computer Engineering, The University of Oklaho-ma, Tulsa OK 74135(USA).

    R

  • 13

    start phase to the congestion avoidance phase. This can underutilize the capacity of the link. If the value of the ssthresh is set higher than the capacity of the link without an efficient congestion detection mechanism, the aggres-sive doubling of the cwnd can overshoot the actual sus-tainable window size of the link. The excess packets are dropped by the receiver bcause the connection can no longer sustain the growth of the cwnd. Consequently, the connection undergoes a timeout event. The timeout al-lows the connection to determine its ssthresh and restart incrementing its cwnd. After the timeout event, the cwnd grows exponentially until it reaches the ssthresh and tran-sitions to a linear growth rate thereafter.

    In the case of high bandwidth-delay networks, the lin-ear increase of the cwnd consumes several Round Trip Time cycles multiplied by the large delay associated with the link, for the connection to reach full network capacity. The slow ramping-up to full network capacity adversely affects the overall performance of TCP over high band-width-delay networks.

    We propose DiffStart, which is a sender side addi-tion to the standard slow start algorithm. DiffStart antici-pates the onset of congestion in the network by tracking the deviation in the growth rate of the acknowledgements (ACK) received to, the expected exponential rate of ACKs. After de-tecting congestion in the network, DiffStart proactively transitions the growth rate of the cwnd from exponential to linear, without undergoing a timeout event. By proac-tively transitioning the growth rate of the cwnd, DiffStart not only prevents the TCP sender from overshooting the ssthresh but also assists in quickly ramping-up to full net-work capacity.

    The remainder of this paper is organized as follows. In Section 2, we provide a description of the problems asso-ciated with the start-up behavior of TCP for high band-width-delay networks. In Section 3, we briefly explain some of the slow start algorithms. We discuss the pro-posed algorithm DiffStart in Section 4. In Section 5, we compare the simulation results of DiffStart with the exist-ing slow start algorithms and provide conclusions in Sec-tion 6.

    2 MOTIVATION In this section, we describe the problems associated with the start-up behavior of TCP in the case of high band-width-delay networks. We use the TCP Reno protocol [17], [18] which uses the standard slow start algorithm, to explain the start-up behavior of TCP, followed by an analysis to substantiate the problem.

    2.1 Slow start behavior of TCP TCP Reno incorporates the modifications of fast recovery and fast retransmit in addition to the Additive Increase and Multiplicative Decrease (AIMD) algorithm from its predecessor TCP Tahoe as proposed by Van Jacobson in 1988 [19]. The algorithm for TCP Reno is described as follows: 1. For every non-duplicate ACK if cwnd < ssthresh; (slow start phase) cwnd = cwnd + 1 else (congestion avoidance phase) cwnd = cwnd + 1/cwnd 2. For duplicate ACK (fast recovery and retransmit) ssthresh = cwnd / 2 cwnd = ssthresh cwnd = cwnd + 1/cwnd 3. For Timeout ssthresh = cwnd / 2 cwnd = 1

    TCP is a reliable and end-to-end transport layer proto-col. Hence, we simulate a typical TCP connection between 2 end nodes connected using a full duplex link with a round trip delay of 150ms, and a bandwidth of 1Gbps as shown in Fig. 1.

    We plot the graph of the growth of the cwnd, the ratio of the number of packets dropped to the number of pack-ets arrived, and the overall throughput of the connection over a period of one minute. The simulator used is Net-work Simulator-2 (NS2) [20].

    We plot the growth of the cwnd in Fig. 2. At the start of the connection, we observe that TCP doubles it cwnd eve-ry RTT, following an exponential growth rate. This con-tinues until the connection reaches its maximum cwnd at about 5.8 seconds.

    This also marks an increase in the number of packets dropped as seen from Fig. 3. In order to sustain the con-nection, TCP initiates fast recovery and fast retransmit algorithms. Consequently, the cwnd is reduced to half its current value and is linearly incremented every RTT thereafter.

    We can observe from Fig. 3 that the connection even-tually undergoes a timeout due to the large number of packets dropped. This can be attributed to the increase in the congestion in the network as seen from Fig. 4.

    The ssthresh is re-calculated based on the last value of the cwnd before undergoing a timeout. The TCP sender resumes probing the network by doubling its cwnd before reaching the revised ssthresh, thereafter initiating the con-gestion avoidance phase or, transitioning to a linear growth rate of the cwnd.

    Fig. 1. Two node network topology to simulate performance char-acteristics of high bandwidth-delay networks.

  • 14

    We can observe from Fig. 4 that the connection does

    not reach its full capacity at the end of the simulation and the maximum throughput achieved is about 780Mbps. We believe that the poor start-up behavior of TCP ad-versely affects the overall performance of the connection.

    Based on the simulation results, we can derive two conclusions for the poor start-up behavior of the standard TCP in the case of high bandwidth-delay networks. First-ly, the aggressive doubling of the cwnd without an effi-cient congestion detection mechanism overshoots the ssthresh resulting into a heavy packet loss followed by a timeout event. Secondly, the linear growth rate of the cwnd after the timeout event takes several RTT cycles times the delay of the link to reach full network capacity. This leads to an overall poor performance of the TCP connection.

    2.2 Mathematical Analysis In order to support the argument made in Section 2.1, let us consider the same link parameters and deduce the time required to reach full network capacity.

    The goal of the TCP sender is to ensure that there is a steady stream of data flowing into the network. Theoreti-cally, the maximum sustainable window size (Wmax) [21] is given by (1):

    (1) where C! is the bandwidth-delay product of the link (C is the bandwidth and ! is the RTT) and B is the buffer size. In our case the bandwidth delay product of the link is 18.75MB and the size of the buffer is assumed to be equal to the bandwidth delay product of the link. Hence, Wmax is equal to 37.5MB. With a packet size equal to 1000 bytes, the window size required to attain the required band-width-delay product is equal to 37,500 packets.

    Let us assume that the sender receives three duplicate ACK as soon as the cwnd reaches a value equal to Wmax. This indicates congestion in the network and thus the sender initiates the fast recovery and the fast retransmit mechanism. The TCP sender assigns ssthresh to half the last value of the cwnd, which is 18,750 packets and starts the congestion avoidance phase by increasing the cwnd linearly. From this point onwards, the cwnd grows linear-ly from 18,750 to 37,500 packets that take approximately 18,750 RTT cycles. Thus, the total time for the connection to reach its full network capacity that is given by the product of the number of RTT cycles and the delay of the link, is approximately equal to 46 minutes.

    Additionally, calculating the end-to-end dropping probability (Pr) [22] given by (2), implies that a maximum of one packet can be dropped for 1.07 x 109 packets which is unrealistic.

    (2)

    We can infer from the simulation results and the math-ematical analysis that the poor performance of the stand-ard TCP in the case of high bandwidth-delay networks is due to: 1) the doubling of the cwnd every RTT cycle that

    Fig. 2. Growth of the cwnd during the TCP simulation.

    Fig. 3. Ratio of the number of packets dropped to the number of pack-ets arrived during the TCP simulation

    Fig. 4. Throughput achieved during the TCP simulation.

    C ! + B

    238cwnd

    Pr =

  • 15

    overshoots the ssthresh; 2) the lack of an efficient mecha-nism to anticipate congestion in the network and, 3) the lack of a proactive transition from the slow start phase to the congestion avoidance phase without undergoing a timeout event.

    3 RELATED WORK Several modifications have been proposed to the standard slow start algorithm to improve the performance of TCP over high bandwidth-delay links. Quick Start [23], eXplic-it Control Protocol (XCP) [11], and Rate Control Protocol [24] rely on explicit congestion notification or the ECN field in the IP header to determine congestion in the net-work. Fast Start [25] on the other hand uses cached in-formation from previous connections to preset the values of critical parameters such cwnd, ssthresh etc. There have also been recommendations to modify the initial window size, to improve the start-up behavior of the standard TCP. RFC 3390 [26] proposes to increase the initial win-dow from between 2 to 4 segments. A recent RFC 6928 [27], released in April 2013, proposes to increase the ini-tial window to 10 segments. It can be argued that these algorithms either use explicit feedback mechanisms or preset values to modify the slow start behavior of TCP. Since our proposed algorithm DiffStart does not use ei-ther a router assisted mechanism or pre-cached infor-mation, these algorithms have not been considered for further analysis. Accordingly, we do not consider these algorithms for comparing with our proposed alternative. 3.1 Packet Pair Technique Janey C. Hoe proposed to improve the start-up behavior of TCP by incorporating the Packet Pair technique [28]. The packet-pair technique determines the ssthresh for a connection by calculating the bandwidth-delay product of the link, using closely spaced probe packets. The sender measures the inter ACK spacing of the probe packets to calculate the bandwidth of the link. This value is then used to correspondingly assign the ssthresh so that the connection can smoothly transition the growth of the cwnd from exponential to linear. TCP NewReno [29] and TCP Hybla [30] have incorporated this technique. 3.2 Expected Rate Estimate Technique The expected rate estimate technique [31] is used to com-pute and compare the expected throughput to the actual throughput. If the value of difference is positive, i.e. the actual throughput is less than the expected throughput, the TCP sender switches the growth function from expo-nential to linear, or else the TCP sender continues to grow the cwnd exponentially. The value of the cwnd is incre-mented every alternate RTT cycle. TCP Vegas [31] has incorporated this technique. 3.3 Limited Slow-Start The Limited Slow-Start [32] is an optional modification to the standard TCP slow start algorithm. It introduces a new variable, max_ssthresh into the standard slow start algorithm. The max_ssthresh assigns an upper limit on the

    cwnd to grow exponentially. Limited Slow-Start algorithm proposes to modify the growth of the cwnd by a factor that depends on current value of the cwnd and the max_ssthresh after crossing over the max_ssthresh value. This technique is incorporated into HighSpeed TCP [33].

    3.4 Hybrid Start HyStart [34] is a recently proposed slow start algorithm which has been incorporated in the TCP CUBIC protocol [35]. HyStart uses the summation of the inter-arrival times "(N), of ACKs on the return path and compares it with the one way forward path delay Dmin to find a safe exit point to transition from the slow start phase to the congestion avoidance phase. The forward path delay is calculated by dividing the minimum measured RTT by two.

    3.5 TCP Compound Although Compound TCP (CTCP) [36] does not modify the slow start behavior of the standard TCP however, it is essential to include it in this discussion because it is de-ployed in the Microsoft Windows Operating systems since Windows Vista and Windows Server 2008 [37]. CTCP uses the best of both, delay-based and loss-based congestion avoidance mechanism to optimize the efficien-cy and TCP friendliness requirements.

    4. PROPOSED ALGORITHM DIFFSTART In this section, we describe our proposed algorithm DiffStart. We describe our philosophy to improve the per-formance of TCP over high bandwidth-delay networks, the working of DiffStart followed by its corresponding algorithm. 4.1 Philosophy We believe that the key to improve the performance of TCP during the start-up phase lies in detecting congestion in the network and proactively transitioning the growth rate of the cwnd from exponential to linear.

    Using the tracefile extracted from the simulation con-ducted in Section 2, we plotted the flow of the TCP pack-ets sent and their corresponding ACKs received, and compared it with the expected exponential behavior of ACKs, as shown in Fig. 5.

  • 16

    12

    0

    2

    = SRTTTT

    e

    c

    ACK

    After closely studying the behavior of the TCP connec-

    tion, we observed that as the connection approaches the maximum network capacity, there is significant variation in the exponential behavior of the ACKs received.

    We can observe from the Fig. 5 that at about 5.5 se-conds, the growth rate of the ACKs received starts to de-viate from the exponential growth rate. At about the same time, we can observe from Fig. 3 in Section 2.1, an in-crease in the number of packets dropped. We believe that the deviation in the growth rate of the ACKs can be asso-ciated to the increase in the amount of congestion in the network. This behavior was observed to be consistent over different bandwidth and round trip time values1. We observed a deviation in the growth rate of the ACKs re-ceived as the connections starts experiencing congestion in the network. We mark the point at which the value of the expected ACK exceeds the value of the actual ACK received as the crossover point.

    We can infer from the above discussion that the devia-tion in the growth rate of the ACK received to the ex-pected exponential growth rate provides a precursor to an imminent congestion event in the network. This inference has formed the basis of our proposed algorithm. DiffStart anticipates the onset of congestion in the network by tracking the deviation in the growth rate of ACK received, and proactively initiating a transition in the growth rate of the cwnd from exponential to linear without undergo-ing a timeout event. The proactive transitioning of the growth rate of the cwnd prevents the overshooting of the ssthresh, in addition to quickly ramping-up to full net-work capacity. 4.2 Working Adhering to our philosophy, we have developed a heuris-tic method to implement DiffStart. We rely on two crucial parameters called the Expected ACK (ACKe) which com-putes the expected exponential value of the ACK, and the timer (t) which measures the time elapsed since ACKe > ACK to initiate the transition in the growth rate of cwnd.

    We have derived a formula as seen in (3), to compute the value of ACKe. On the receipt of an ACK, the TCP sender computes the difference between the timestamp of

    1 We conducted simulations varying the bandwidth from 100Mbps to 10Gbps and the round trip delay between 100ms to 250ms.

    the ACK received and the timestamp of the first ACK re-ceived, as a factor of the SRTT2 (smooth round trip time) [38]. Since TCP doubles its cwnd every RTT, the exponent value is raised to the base of two.

    (3)

    where, TC = timestamp of the received ACK T0 = timestamp of the 1st ACK A timer (t) is maintained to determine the total time

    elapsed since the value of ACKe is greater than ACK. For ACKe > ACK, the difference between the inter-arrival times of successive ACKs (") is calculated as seen from (4). The value of the timer is incremented by " as long as the value of ACKe remains greater than that of ACK as seen from (5).

    (4)

    (5) On running simulations using different network pa-

    rameters, we observed that for some time instances, the value of the ACKe shortly surpasses the actual ACK re-ceived. However, it does not imply the occurrence of a crossover point but is a false positive as a result of the overestimation of the ACKe for that particular time in-stance.

    In order to ascertain the occurrence of the crossover point, we compare the value of t against a heuristic threshold that is a function of the RTT. We observed a premature transition in the growth rate of the cwnd for the values of threshold less than 90% of the RTT resulting in the underutilization of the network capacity. Hence, we assigned the value of the threshold equal to 90% of the RTT.

    As soon as the value of t exceeds 90% of the RTT, the TCP sender switches from the slow start phase to the congestion avoidance phase, or transitions the growth rate of the cwnd from exponential to linear. 4.3 Algorithm The DiffStart algorithm retains most of the structure of the standard slow start algorithm as discussed in Section 2.1. The only addition to the standard slow start algo-rithm is to compute the value of ACKe and maintain the value of the timer t. The value of the timer is incremented as long as ACKe > ACK else it is reset to zero. As soon as the value of the timer exceeds 90% of the RTT, the TCP sender initiates a transition in the growth of the cwnd from exponential to linear. On receipt of a duplicate ACK, or upon expiration of the Retransmission Timer (RTO), DiffStart reacts similar to that of the standard slow start algorithm.

    2 The value of SRTT is calculated using the formula SRTTi+1 = # x SRTTi + (1- # ) x M where # = 0.9 and M is the most recent value of RTT

    Fig. 5. Comparing the expected growth rate of the ACKs to the actual ACKs received during simulation.

  • 17

    12

    0

    2

    = SRTTTT

    e

    c

    ACK

    The DiffStart algorithm is summarized as follows: 1. For every non-duplicate ACK

    if ACKe > ACK " = T(ACKi) T(ACKi-1) ti = ti-1 + " else

    ti = 0 " = 0 if ti >0.9 x RTT (congestion avoidance) cwnd = cwnd + 1/ cwnd else (slow start) cwnd = cwnd + 1 2. For duplicate ACK (fast recovery and retransmit) ssthresh = cwnd / 2 cwnd = ssthresh cwnd = cwnd + 1/cwnd 3. For Timeout ssthresh = cwnd / 2 cwnd = 1

    5 SIMULATION RESULTS AND DISCUSSION We have implemented DiffStart in conjunction with TCP Reno in the NS2 simulator. For the scope of this paper, we have compared the performance of DiffStart with TCP CUBIC which has been implemented in the Linux kernel [35], and TCP Compound which has been implemented in Microsoft Windows Vista and later operating systems. The comparison is with respect to the growth of the con-gestion window, packet loss ratio, and throughput.

    5.1 Simulation configuration We have abstracted a typical high bandwidth-delay net-work scenario by connecting two nodes, using a high ca-pacity 1Gbps link with a RTT of 150ms as shown in Fig. 1. We run the simulation for one minute using a FTP appli-cation, which uses TCP as the transport layer protocol.

    Fig. 7. Comparing the packet drop ratio of: a) TCP Compound, b) TCP CUBIC, and c) TCP Reno with DiffStart.

    Fig. 6. Comparing the cwnd growth of: a) TCP Compound, b) TCP CUBIC, and c) TCP Reno with DiffStart.

  • 18

    5.2 Discussion We plot the simulation results for the growth of the con-gestion window, ratio of number of packets dropped, and throughput in Fig. 6, Fig. 7, and Fig. 8 respectively. We can observe from Fig. 6 that the growth of the cwnd ad-heres to the philosophy of DiffStart as discussed in Sec-tion 4.1. DiffStart anticipates the onset of congestion in the network and proactively transitions the growth rate of the cwnd from exponential to linear thereby preventing the overshooting of the ssthresh. Thus, DiffStart not only pre-vents the connection from undergoing a timeout event but also ensures no packet is dropped as seen from Fig. 7. We can observe from Fig. 8 that DiffStart in conjunction with TCP Reno reaches full network capacity at an earlier stage as compared to TCP Compound or TCP CUBIC be-cause it continues to linearly increase the cwnd without undergoing a timeout event. DiffStart reaches full net-work throughput at 5.6s as compared to 7.6s in the case of TCP Compound and 7.1s in the case of TCP CUBIC. 5.3 Advantages We summarize the advantages of our proposed algorithm DiffStart in the case of high bandwidth-delay networks as follows: 1) DiffStart anticipates the onset of congestion in the network and prevents the cwnd from overshooting the ssthresh. 2) DiffStart reduces the number of packets dropped and prevents the connection from undergoing a timeout event. 3) DiffStart assists the connection to reach full throughput at an early stage.

    6. CONCLUSION We have proposed a novel algorithm called DiffStart, which improves the start-up behaviour of TCP for high bandwidth-delay networks. We believe that the standard slow start algorithm lacks an efficient mechanism to de-tect congestion in the network and cannot transition the growth rate of the cwnd from exponential to linear with-out undergoing a timeout event. In the case of high bandwidth-delay networks, the doubling of cwnd after each RTT cycle during the start-up phase, leads to an overshooting of the ssthresh and subsequently a timeout event. Thus, the connection not only suffers from heavy packet loss but also takes several RTT cycles times the delay of the link to reach full network capacity after the timeout event. We have developed a heuristic method that measures the deviation in growth rate of the ACK received to anticipate the onset of congestion in the net-work, and proactively transition the growth rate of the cwnd from exponential to linear without undergoing a timeout event. After simulating and comparing the per-formance of DiffStart in terms of the growth of the con-gestion window, packet drop ratio, and throughput, we conclude that by proactively transitioning the growth rate of the cwnd without undergoing a timeout event, DiffStart can reach full network capacity at an earlier stage thereby overcoming the limitations of the standard slow start al-gorithm.

    REFERENCES [1] J. Postel, "RFC 791: Internet protocol," 1981. [2] B. Sanou, "ICT Facts and Figures," International

    Telecommunications Union, 2013. [3] Akamai, "State of the Internet," 2013. [4] C. Labovitz, S. Iekel-Johnson, D. McPherson, J.

    Oberheide, and F. Jahanian, "Internet inter-domain traffic," in ACM SIGCOMM Computer Communication Review, 2010, pp. 75-86.

    [5] A. Mahimkar, A. Chiu, R. Doverspike, M. D. Feuer, P. Magill, E. Mavrogiorgis, J. Pastor, S. L. Woodward, and J. Yates, "Bandwidth on demand for inter-data center communication," in Proceedings of the 10th ACM Workshop on Hot Topics in Networks, 2011, p. 24.

    [6] B. Koley, V. Vusirikala, C. Lam, and V. Gill, "100GbE and beyond for warehouse scale computing," in OptoeElectronics and Communications Conference (OECC), 2010 15th, 2010, pp. 106-107.

    [7] M. Hassan and R. Jain, High performance TCP/IP networking: concepts, issues, and solutions: Pearson/Prentice Hall, 2004.

    [8] A. Greenberg, J. Hamilton, D. A. Maltz, and P. Patel, "The cost of a cloud: research problems in data center networks," ACM SIGCOMM Computer Communication Review, vol. 39, pp. 68-73, 2008.

    [9] J. F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approach: Pearson Education, Limited, 2012.

    [10] T. V. Lakshman and U. Madhow, "The performance of TCP/IP for networks with high bandwidth-delay products and random loss," Networking, IEEE/ACM Transactions

    Fig. 8. Comparing the throughput of: a) TCP Compound, b) TCP CU-BIC, and c) TCP Reno with DiffStart.

  • 19

    on, vol. 5, pp. 336-350, 1997. [11] D. Katabi, M. Handley, and C. Rohrs, "Congestion control

    for high bandwidth-delay product networks," SIGCOMM Comput. Commun. Rev., vol. 32, pp. 89-102, 2002.

    [12] D. Katabi, "Decoupling congestion control and bandwidth allocation policy with application to high bandwidth-delay product networks," Massachusetts Institute of Technology, 2003.

    [13] E. Altman, K. Avrachenkov, and C. Barakat, "TCP network calculus: the case of large delay-bandwidth product," in INFOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, 2002, pp. 417-426 vol.1.

    [14] J. C. Hoe, "Start-up dynamics of TCP's congestion control and avoidance schemes," Massachusetts Institute of Technology, 1995.

    [15] S. Ha, "Improving tcp congestion control for high bandwidth and long distance networks," North Carolina State University, 2009.

    [16] R. Wang, G. Pau, K. Yamada, M. Y. Sanadidi, and M. Gerla, "TCP startup performance in large bandwidth networks," in INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies, 2004, pp. 796-805 vol.2.

    [17] M. Allman, V. Paxson, and W. Stevens, "RFC 2581: TCP congestion control," ed: April, 1999.

    [18] V. Jacobson, "Modified TCP congestion avoidance algorithm," end2end-interest mailing list, 1990.

    [19] V. Jacobson, "Congestion avoidance and control," presented at the Symposium proceedings on Communications architectures and protocols, Stanford, California, USA, 1988.

    [20] http://www.isi.edu/nsnam/ns. [21] R. Srikant, The mathematics of Internet congestion control:

    Springer, 2004. [22] S. Floyd and K. Fall, "Promoting the use of end-to-end

    congestion control in the Internet," Networking, IEEE/ACM Transactions on, vol. 7, pp. 458-472, 1999.

    [23] S. Floyd, M. Allman, A. Jain, and P. Sarolahti, "Quick-Start for TCP and IP," IETF RFC4782, 2007.

    [24] N. Dukkipati and N. Adviser-Mckeown, Rate Control Protocol (RCP): Congestion control to make flows complete quickly: Stanford University, 2008.

    [25] V. N. Padmanabhan and R. H. Katz, "TCP fast start: A technique for speeding up web transfers," 1998.

    [26] M. Allman, S. Floyd, and C. Partridge, "Increasing TCPs initial window," 1998.

    [27] J. Chu, N. Dukkipati, Y. Cheng, and M. Mathis, "Increasing TCPs initial window," in IRTF ICCRG and IETF TCPM working group meetings, IETF, 2010.

    [28] S. Keshav, "A control-theoretic approach to flow control," SIGCOMM Comput. Commun. Rev., vol. 21, pp. 3-15, 1991.

    [29] T. Henderson, S. Floyd, A. Gurtov, and Y. Nishida, "The NewReno modification to TCPs fast recovery algorithm," RFC6582, 2012.

    [30] C. Caini and R. Firrincieli, "TCP Hybla: a TCP enhancement for heterogeneous networks," International

    Journal of Satellite Communications and Networking, vol. 22, pp. 547-566, 2004.

    [31] L. S. Brakmo and L. L. Peterson, "TCP Vegas: end to end congestion avoidance on a global Internet," Selected Areas in Communications, IEEE Journal on, vol. 13, pp. 1465-1480, 1995.

    [32] S. Floyd, "Limited slow-start for TCP with large congestion windows," 2004.

    [33] S. Floyd, "HighSpeed TCP for large congestion windows," 2003.

    [34] S. Ha and I. Rhee, "Hybrid slow start for high-bandwidth and long-distance networks," in Proc. PFLDnet, 2008.

    [35] S. Ha, I. Rhee, and L. Xu, "CUBIC: a new TCP-friendly high-speed TCP variant," SIGOPS Oper. Syst. Rev., vol. 42, pp. 64-74, 2008.

    [36] M. Sridharan, K. Tan, D. Bansal, and D. Thaler, "Compound TCP: A new TCP congestion control for high-speed and long distance networks," Internet-draft draft-sridharan-tcpm-ctcp-022008.

    [37] http://research.microsoft.com/en-us/projects/ctcp/. [38] K. R. Fall and W. R. Stevens, TCP/IP Illustrated, Volume

    1: The Protocols: Pearson Education, 2011. Aniruddha A. Agharkar holds the Master of Science degree in Tel-ecommunications Engineering from the University of Oklahoma, Tulsa (2013); and a Bachelor of Engineering degree in Electronics and Telecommunications from the University of Mumbai, India (2009). He is currently working as a Systems Engineer at Speciality Telecommunications Services. Gregory MacDonald holds the Doctor of Philosophy degree in Gen-eral Engineering from the University of Oklahoma, Tulsa (2012); Master of Science degree in Astronomy from the University of West-ern Sydney (2004), and the Master of Science degree in Telecom-munications Engineering from the University of Oklahoma (2003); and Bachelor of Science degree in Physics and Mathematics from Eastern Michigan University (1979). He has worked in the automo-tive and petroleum industries and is currently a Technical Consultant at HP. His research interests include machine learning and anomaly detection. Pramode K. Verma holds the Master of Business Administration degree (1984) from Wharton School of the University of Pennsylva-nia, USA; Doctor of Philosophy degree in Electrical Engineering from Concordia University - Montreal, Quebec, Canada (1970); Bachelor of Engineering degree in Telecommunication from Indian Institute of Science, Bangalore, India (1962); and Bachelor of Science (Honors) degree in Physics from Patna University, India (1959). Prior to joining the University of Oklahoma in 1999, Dr. Verma held a variety of pro-fessional and leadership positions in the telecommunications indus-try at AT&T Bell Laboratories and Lucent technologies. He also holds the Williams Chair in Telecommunications Networking. He is the author/co-author of over 150 journal articles and conference papers, and several books in telecommunications engineering. He is also the co-inventor of eight patents. He is a Senior Member of the IEEE and a Senior Fellow of The Information and Telecommunication Educa-tion and Research Association.