1 / 56

Modeling TCP Throughput: A Simple Model and its Empirical Validation

Modeling TCP Throughput: A Simple Model and its Empirical Validation. Jitendra Padhye, Victor Firoiu, Don Towsley, and Jim Kurose Department of Computer Science University of Massachusetts SIGCOMM 1998. Outline. Introduction A Model for TCP Congestion Control

grahamjean
Télécharger la présentation

Modeling TCP Throughput: A Simple Model and its Empirical Validation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modeling TCP Throughput: A Simple Model and its Empirical Validation Jitendra Padhye, Victor Firoiu, Don Towsley, and Jim Kurose Department of Computer Science University of Massachusetts SIGCOMM 1998 Hsia-Chun Chu

  2. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  3. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  4. Introduction • Goal:Develop a simple analytic characterization of the steady state throughput of a bulk transfer TCP flow (i.e., a flow with an unlimited amount of data to send) as a function of loss rate and round trip time • The model captures both the behavior of TCP’s fast retransmit mechanism and the effect of TCP’s timeout mechanism on throughput Hsia-Chun Chu

  5. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  6. A Model for TCP Congestion Control • Focus on the congestion avoidance behavior of TCP and its impact on throughput, taking into account the dependence of congestion avoidance on ACK behavior, the manner in which packet loss is inferred (triple-duplicate ACKs (TD) or by timeout (TO)), limited receiver window size, and average round trip time (RTT) • The model is based on TCP-Reno Hsia-Chun Chu

  7. TCP-Reno Hsia-Chun Chu

  8. A Model for TCP Congestion Control (Cont’d) • Recall: in TCP’s congestion avoidance, • The congestion window, W, is increased by 1/W each time a regular ACK is received • Conversely, the window is decreasedwhenever a lost packet is detected: • if the loss is detected by the triple dup ACKs, cwnd = cwnd / 2 • if the loss is detected by timeout, cwnd = 1 (slow-start) Hsia-Chun Chu

  9. Details of the Model • TCP’s congestion avoidance behavior is modeled in terms of “rounds”: • A “round” starts with the back-to-back transmission of W packets, where W is the current size of the TCP congestion window • The current round doesn’t end until the first ACK is received for one of these W packets • The duration of a round is equal to the RTT round Hsia-Chun Chu

  10. Details of the Model (Cont’d) • At the beginning of the next round, W’ new packets will be sent, where W’ is the new size of the congestion window • Let b be the number of packets that are acknowledged by a received ACK. (i.e., delayed ACK, b=2) • If W packets are sent in the 1st round and are all received and acked correctly, then W/b acks will be received • Since each ack increases the window size by 1/W, then W’ = W + 1/b • During congestion avoidance and in the absence of loss, the window size increases linearly in time, with a slope of 1/b packets per round trip time Hsia-Chun Chu

  11. Details of the Model (Cont’d) • Assumptions: • The duration of a round is assumed to be independent of the window size • The time needed to send all the packets in a window is smaller than the RTT • A packet is lost in a round independently of any packets lost in other rounds • If a packet is lost, all remaining packets transmitted until the end of that round are also lost (bursty loss behavior) - tail drop • “Throughput” is measured in terms of packets per unit of time Hsia-Chun Chu

  12. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  13. Loss indications are exclusively “triple-duplicate” ACKs • The window size is not limited by the receiver’s advertised window • The flow starts at time t = 0, and for any given time t > 0, • Let Nt be the number of packets transmitted in the interval [0, t] • Let Bt = Nt / t be the throughput of that interval • The long-term steady-state TCP throughput“B” is defined as: • Let p be the probability that a packet is lost • Goal:to establish a relationship B(p) Hsia-Chun Chu

  14. Analysis of TDP─B • TD period (TDP) is a period between two TD loss indications • For the i-th TDP, • Yi: # packets sent in the period • Ai: the duration of the period • Wi: the window size at the end of the period • To derive B, the long-term steady state throughput, we must derive E[Y] and E[A] Hsia-Chun Chu

  15. Analysis of TDP─E[Y] • TDP starts with congestion window size of Wi-1 / 2 • At the end of each round the window is incremented by 1/b • : the first packet lost in TDPi Xi : the round which loss occurs • After packet , (Wi) - 1 more packets are sent in an additional round before a TD loss indication occurs • A total of Yi = + (Wi) - 1 packets are sent in (Xi) + 1 rounds • It follows that: Hsia-Chun Chu

  16. Analysis of TDP─E[Y] (Cont’d) • To derive , consider the random process . Based on the assumption that packet losses in different rounds are independent, is a sequence of i.i.d. random variables • Given the proposed loss model • The probability that is equal to the probability that exactly k-1 packets are successfully acked before a loss occurs • The mean of is thus • From (2) to (4), it follows that • Now, we have to derive E[W] and E[A] Hsia-Chun Chu

  17. Analysis of TDP─E[A] • To derive E[W] and E[A], consider again a TDPi • rij : the duration (RTT) of the j-th round of TDPi • Then, the duration of TDPi is • If follows that: • E[r] denotes the average value of RTT • Now, we have to derive an expression for E[X] Hsia-Chun Chu

  18. Analysis of TDP─E[X], E[W] • First of all, it can be expressed that during the i-th TDP, the window size increases between Wi-1 / 2 and Wi. Since the increase is linear with slope 1 / b, we have: • Next, the fact that Yipackets are transmitted in TDPi is expressed by: • Where : the number of packets sent in the last round (Xi+1-th) Hsia-Chun Chu

  19. Analysis of TDP─E[X], E[W] (Cont’d) • It follows from (7) that • It also follows from (10) and (5) that • We consider that , the number of packets in the last round is uniformly distributed between 1 and Wi, and thus • From (11) and (12), we have: • Observe that, • i.e., for small values of p Hsia-Chun Chu

  20. Analysis of TDP─E[X], B(p) • From (11) and (13), we have • Substitute (15) in (6), we have • Observe that, • From (1) and (5), we have • Substitute (13) and (16) in (18), we get • Equation (19) can be expressed as: (13) (16) Hsia-Chun Chu

  21. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  22. Loss indications are triple-duplicate ACKs and timeouts • From the measurements done by this paper, the majority of window decreases are due to time-outs rather than fast retransmits • To capture time-out loss indications, the model has to be extended to include the case where the TCP sender times-out • This occurs when • Packets are lost, • ACKs are lost, • Less than three duplicate ACKs are received Hsia-Chun Chu

  23. Loss indications are triple-duplicate ACKs and timeouts (Cont’d) • The sender waits for a period of time denoted by T0, and then retransmits non-acked packets • Following a timeout, the congestion window is reduced to one, and one packet is thus resent in the first round after a timeout. • In the case that another timeout occurs before successfully retransmitting the packets lost during the first timeout, the period of timeout doubles to 2*T0; this doubling is repeated for each unsuccessful retransmission until 64*T0is reached, after which the timeout period remains constant at 64*T0 Hsia-Chun Chu

  24. Analysis of Si • ZiTO : the duration of a sequence of timeouts (no successful retransmission in those periods) • ZiTD : the time interval between two consecutive timeout sequences • Define Si to be: Si = ZiTD + ZiTO • Mi : # packets sent during Si • Ri : # packets sent during time-out sequence ZiTO Hsia-Chun Chu

  25. Analysis of Si (Cont’d) • Given {(Si, Mi)}i is an i.i.d. sequence of random variables, we have: • Let ni be the number of TDPs in interval ZiTD • For the j-th TDP of interval ZiTD, • Yij : the number of packets sent in the period • Aij : be the duration of the period • Xij : be the number rounds in the period • Wij : be the window size at the end of the period • Definition of TDP is extended: • Between two TD loss indications (original definition) • Starting after a TO, ended by a TD loss indication • Starting after a TD, ended by a TO loss indication Hsia-Chun Chu

  26. Analysis of E[M]and E[S] • Hence, we have: • And thus • Assume that {ni}i to be an i.i.d. sequence of random variables, independent of {Yij} and {Aij}, we have : Hsia-Chun Chu

  27. Analysis of E[n] • To derive E[n]. During ZiTD, the time between two consecutive timeout sequences, there are ni TDPs, where each of the first ni-1 end in a TD, and the last TDP ends in a TO • Therefore, if we denote by Q the probability that a loss indication ending a TDP is a TO, we have E[n] = 1 / Q • Note that {ni}i is considered as Geom(Q) • Consequently, • Since Yij and Aij do not depend on timeouts, their means are those derived in (5) and (16) • To compute TCP throughput using (21), we must still determine Q, E[R] and E[ZTO] Hsia-Chun Chu

  28. Packet and ACK Transmissions Before a Loss Indication • Note that, in figure 4, the ACK is not delayed (b = 1) for simplicity of illustration lost acked lost acked Hsia-Chun Chu

  29. Analysis of Q (Cont’d) • Since ACKs are not delayed in this scenario, the number of duplicate ACKs is equal to the number of successfully received packets in the last round • If the number of such ACKs is greater than 3, then a TD indication occurs • Otherwise, a TO occurs • Define A(w,k) to be the probability that the first k packets are ACKed in a round of w packets, given there is a sequence of one or more losses in the round. Hsia-Chun Chu

  30. Analysis of • Also, define C(n, m) to be the probability that m packets are ACKed in sequence in the last round (where n packets were sent; p is the probability that a packet will be lost) • Then, , the probability that a loss in a window of size w is a TO, is given by Hsia-Chun Chu

  31. Analysis of (Cont’d) • : # of packets successfully transmitted in the penultimate round, k, is less than three • : # of packets successfully transmitted in the penultimate round, k, is greater than three; however # of packets successfully transmitted in the last round, m, is less than three • After algebraic manipulations, we have • Using L’Hopital’s rule • Numerically, a very good approximation of is Hsia-Chun Chu

  32. Analysis of Q and E[R] • Q, the probability that a loss indication is a TO, is • Next, we consider the derivation of E[R] • A sequence of k TOs occurs when there are k-1 consecutive losses (the first loss is given) followed by a successfully transmitted packet • # of TOs in a TO sequence has a geometric distribution • Then, the expected value of R is Hsia-Chun Chu

  33. Analysis of E[ZTO] • Next, we focus on E[ZTO], the average duration of a time-out sequence excluding retransmission times • The first six time-outs in one sequence have length (2i-1)*T0, where i = 1…6 • All immediately following timeouts having length 64*T0 • Then, the duration of a sequence with k time-outs is • The mean of ZTO is Hsia-Chun Chu

  34. Analysis of B(p) • With the expressions for Q, E[S], E[R] and E[ZTO], the equation (21) for B(p) can be expressed as: • Where • And is given in (23), E[W] in (13) and E[X] in (15) • Using (24), (14) and (17), we have that (27) can be approximated by: Hsia-Chun Chu

  35. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  36. The impact of window limitation • The sender’s window is dominated by both the congestion avoidance algorithm and the receiver’s advertised window • Sender’s window = min(cwnd, advertised window) • Let Wmax = min(cwnd, advertised window) • As a consequence, during a period without loss indications, the window size can grow up to Wmax, but will not grow further beyond this value Hsia-Chun Chu

  37. The impact of window limitation (Cont’d) • Define Wu to be the unconstrained window size, the mean of which is given in (13): • If E[Wu] < Wmax, E[W] ≈ E[Wu] • The receiver-window limitation has negligible effect on the long term average of the TCP throughput, and thus the TCP throughput is given by (27) • If Wmax <= E[Wu], E[W] ≈ E[Wmax] • Consider an interval ZTD between two timeout sequences consisting of a series of TD periods as in figure 6 Hsia-Chun Chu

  38. Analysis of E[U] • During the 1st TDP, the window grows linearly up to Wmax for U1 rounds, then remains constant for V1 rounds • Then a TD indication occurs, the window drops to Wmax / 2, and the process repeats • Thus, • W max / 2 = E[U] / b • E[U] = (b / 2) Wmax Hsia-Chun Chu

  39. Analysis of E[X] • Considering the number of packets sent in the i-th TDP, we have: • And then • Given by (5), , and thus • Finally, since Xi = Ui + Vi, we have 梯形 長方形 Hsia-Chun Chu

  40. Analysis of B(p) • By substituting this result of E[X] and E[W] ≈ Wmax in (27), we obtain the TCP throughput, B(p), when the window is limited • In conclusion, the complete characterization of TCP throughput, B(p), is: full model Hsia-Chun Chu

  41. Analysis of B(p) (Cont’d) • Where f(p) is given in (28), is given in (23) and E[Wu] is in (13) • The following approximation of B(p) follows from (29) and (31): approximate model Hsia-Chun Chu

  42. Comparison of B(p) • Only TD ACKs • TD ACKs and Timeouts • Plus window limitation full model Hsia-Chun Chu approximate model

  43. Outline • Introduction • A Model for TCP Congestion Control • Loss indications are exclusively “triple-duplicate” ACKs • Loss indications are triple-duplicate ACKs and timeouts • The impact of window limitation • Measurements and Trace Analysis • Conclusion Hsia-Chun Chu

  44. Measurements and Trace Analysis • Equations (31) and (32) provide an analytic characterization of TCP as a function of packet loss indication rate, RTT and maximum window size • Next, the empirical validation of these formulae will be done • The measurement data are collected from 37 TCP connections established between 18 hosts scattered across United States and Europe Hsia-Chun Chu

  45. Table 1:Domainsand OS of Hosts • Table 1 lists the domains and operating systems of 18 hosts • All data sets are for unidirectional bulk data transfer • The measurement data are gathered by running tcpdump at the sender, and analyzing its output • Further verified by checking them against tcptrace and ns Hsia-Chun Chu

  46. (1) (2) (3) (4) (5) (6) (7) (8) Table 2:Summary data from 1hr traces • 24 data sets, • Each corresponds to a 1 hour long TCP connection • Sender behaves as an “infinite source” • p  (total # loss) / (total # packet sent) = (4) / (3) • (5) and (6) columns show a breakdown of the loss indications to: TD and TO • (7) and (8) report the average RTT and average duration of a “single” timeout (T0) Hsia-Chun Chu

  47. Table 3:Summary data from 100s traces • Summary results from additional 13 data sets: • Each data set represents 100 serially-initiated TCP connections between a given sender-receiver pair • Each connection lasted 100 seconds, and was followed by a 50 second gap before the next connection was initiated Hsia-Chun Chu

  48. Validation of the Model • Important observations drawn from the data in these tables: • In all traces, timeouts constitute the majority or a significant fraction of the total number of loss indications • Next, use the measurement data described above to validate the model proposed in the paper • Each one-hour trace was divided into 36 consecutive 100 second intervals, and each plotted point on a graph represents the number of packet sent versus the number of loss indications during a 100s interval Hsia-Chun Chu

  49. Fig 7~12:1*1hr • Each 100 sec interval is classified into one of five categories: • TD: did not suffer any timeout (only triple-duplicate ack) • T0: suffered at least one “single” timeout (no exp backoff) • T1: suffered from a single exp backoff (double timeout) • T2: suffered from two exp backoffs • T3 or more: more than two exp backoffs occurred overestimate TCP throughput is limited by the recv window Hsia-Chun Chu

  50. Hsia-Chun Chu

More Related