280 likes | 470 Views
Analysis of TCP over wireless links implementing hybrid FEC/ARQ-SR at the link level. Chadi BARAKAT INRIA Sophia Antipolis, France Currently visiting Intel Research Cambridge. NetOS series of seminars Computer lab – University of Cambridge June 3, 2004. TCP and wireless links.
E N D
Analysis of TCP over wireless links implementing hybrid FEC/ARQ-SR at the link level Chadi BARAKAT INRIA Sophia Antipolis, France Currently visiting Intel Research Cambridge NetOS series of seminars Computer lab – University of Cambridge June 3, 2004
TCP and wireless links • Wireless links: WLAN, GSM, GPRS, UMTS, satellite, etc. • Characterized by a high bit error rate compared to wired links (non-congestion losses): • Different sources: Signal attenuation, interference, multi-path fading, shadowing, rain, handoff, etc. • Negative impact on TCP performance: • TCP considers the loss of a packet as a congestion signal and reduces its window unnecessarily. • Long term TCP throughput is known to be inversely proportional to the square root of the packet loss rate.
Overview of solutions • Clean links by correcting non-congestion losses locally: • Use of link-level FEC, ARQ, hybrid FEC/ARQ, more power, etc. • Achieve a TCP friendly network where packets are only lost in routers. • Help TCP to distinguish non-congestion losses: • ELN, loss predictors, Vegas, ECN, etc. • Split the TCP connection, isolate the noisy link, and transmit data over the noisy link using an optimized transport protocol: • I-TCP, MTCP, Snoop protocol, STP, etc. Our work focuses on the link-level FEC/ARQ-SR solution …
FEC: pros and cons • FEC incomes: • Reduces the packet loss rate. • Correct packets on the fly, which eliminates any interaction with TCP retransmission timer as in the case of ARQ. • FEC is of particular interest on long delay links and at high loss rates. • FEC cost: • Processing overhead, delay, maximum bit rate. • The redundant information consumes bandwidth, which may reduce the throughput of TCP if added in large amounts. • What isthe amount of FEC that leads to the best TCP throughput? Chadi Barakat, Eitan Altman, "Bandwidth tradeoff between TCP and link-level FEC", Computer Networks, vol. 39, no. 2, pp. 133-150, June 2002.
ARQ: pros and cons • ARQ is interesting on short delay links and at low loss rate: • Incomes: Bandwidth is only wasted when packets are lost. • ARQ cost: • Introduce jitter, which is harmful for real time applications (e.g. telnet). • Introduce burstiness when an in-order delivery is supported. • Introduce reordering when an out-order delivery is supported. • Interfere with TCP timeout mechanism when persistency is high. • ARQ Selective Repeat: • Complex compared to Stop-And-Wait and Go-Back-N. • But, allows higher utilization of the available link capacity.
FEC/ARQ-SR: objective of the study • By combining FEC, ARQ-SR and an in-order delivery of packets at the output of the wireless link, better performance can be achieved. • Objective of the study: How to optimize such an error recovery mechanism to obtain the best TCP performance ? • Main focus on the amount of FEC and the persistency of ARQ. • Outline: • Model of the study. • Analysis for the case of long-lived TCP connections. • Analysis for the case of short-lived TCP connections. • Conclusions, perspectives.
FEC/ARQ-SR model Server Client Internet
FEC/ARQ-SR model • FEC: Erasure block code, a frame is recovered if the number of erroneous units is less than (N - K), K/N being the code rate. • ARQ-SR: • A TCP/IP packet is divided into X frames. • If a frame is not recovered by FEC, it is retransmitted by ARQ-SR. • The maximum number of retransmissions is d (persistency of ARQ). • A link-level NACK is sent for each erroneous frame. The frame is quickly retransmitted and given priority over all frames. • A packet is discarded when FEC and ARQ-SR fail to recover one of its frames. • Packets are delivered in-order at the output of the wireless link.
Part I: Case of long-lived TCP traffic • Tools: • ns-2 simulations. • Analytical modeling. • Performance measure: • Throughput of the wireless link (in percents). • Reference: • Chadi Barakat, Alaeddine Al Fawal, " Analysis of link-level hybrid FEC/ARQ-SR for wireless links and long-lived TCP traffic", to appear in Performance Evaluation journal.
Studied scenario • Long-lived TCP connections. • The wireless link is the bottleneck for the TCP connections: • No congestion losses before the full utilization of the wireless link. • Errors are assumed to be Bernoulli without memory: • Link-level units are dropped with the same probability p. • Without loss of generality: X = 6, packets = 1500 Bytes, units = 25 Bytes, K = 10.
Analytical model • Let R be the throughput of a long-lived TCP connection: • P is the packet loss rate. • RTT is the average round-trip time. • MSS is the maximum segment size. • T0 is the length of Timeout, usually approximated by 4RTT. • B is the wireless link speed (2Mbps in our case). • For C TCP connections in parallel, the throughput of the wireless link can be written as:
Computation of a • a is the maximum throughput one can achieve for some tuning of the link layer (in percentage of B). • obtained when the wireless link is saturated. • One can obtain: • PT is the probability that a frame is lost one time (trial loss rate). • PF is the probability that a frame and all its retransmissions are lost (frame loss rate).
Computation of RTT • Difficult to solve in general due to the fact that: • The RTT of one packet is decided by the maximum time we retransmit the frames that form it (a packet is composed of X frames). • There is also correlation between frames since the transmission of a frame can be delayed by the retransmissions of other frames from the same packet. • The packets are resequenced at the output of the wireless link. • We provided a solution in the case of medium and large bandwidth-delay product networks. • For small band-delay product networks, one can assume that a STOP-WAIT protocol is used for which we can easily compute the RTT. • And for the resquencing problem, we provided a heuristic taken from: F. Baccelli, E. Gelenbe, B. Plateau, ”An end-to-end approach to theresequencing problem”, Journal of theACM, vol. 31, no. 3, pp. 474-485, July 1984.
FEC alone • Performance improves with FEC then deteriorates (there is an optimum). • More FEC is needed when the delay is large (same thing for loss rate).
ARQ alone • Performance always improves with d (even in the extreme case of large delay) ! • At large delay, the in-order delivery of packets is essential for good performance.
Both together • Except at high loss rate, very good performance can be achieved with ARQ alone. • For small values of d, some units of redundancy are needed for a full utilization.
And if we take less connections ? • The same result holds for one connection (advantage of ARQ-SR over FEC). • Intuitively, more effort is needed to clean the wireless link.
Optimization of the error recovery • Both our analysis and simulations show that the throughput of the wireless link is monotonously increasing with d ! • So the best tuning (for instance for long-lived TCP) is to set d to a very large value, then adapt the amount of FEC as a function of the error rate. • For very large d, the wireless link is saturated and the throughput is given by U = a.B • TCP throughput expression disappears. • The problem is then to maximize a. • Find the amount of FEC “N” that maximizes the throughput. Obviously this amount of FEC is a function of the error rate (among others).
ARQ-alone is not enough when the loss rate is high Optimal link utilization versus FEC for infinite d. • There is always an optimal amount of FEC to add, which is a function of the loss rate. The larger the loss rate, the more the FEC to add.
The performance of ARQ-SR worsens with large frames Optimal link utilization versus FEC for infinite d. • The optimal amount of FEC is roughly independent of the frame size. • Result can be different for bursty losses !
Discussions • Counter-intuitive result: throughput always improves with ARQ-SR: • The decrease in the packet loss rate with ARQ-SR is much more important than the increase in the end-to-end delay. • TCP adapts its Timeout value to the delay caused by ARQ. • If there was a lesson: • Choose first the maximum possible persistency level for ARQ-SR. • Then add FEC to correct the remaining errors. • FEC has to be adapted, ARQ-SR is adaptive by nature ! • But do these results hold for short transfers ?
Part II: Case of short-lived TCP traffic • Tools: • ns-2 simulations. • Analytical modeling currently being done. • Performance measure: • Average latency of the TCP transfers. • Reference: • Raja Abdelmoumen, Mohammad Malli, Chadi Barakat, "Analysis of TCP latency over wireless links supporting FEC/ARQ-SR for error recovery", to appear in proceedings of ICC, Paris, June 2004.
Studied scenario • Same as before with one difference: Flows are no longer long-lived. They all have the same size S in bytes and are launched according to a homogenous Poisson process of rate l. • We take flows of the same size in order not to understand the impact of the flow size on the latency. • Condition of stability: We consider a scenario as feasible if Note that a is a function of the parameters of the error recovery scheme (N, K, X and d). • We define the load the wireless link can carry as r = l.S / B
FEC alone • The average latency improves then deteriorates. • The improvement is caused by the decrease in the loss rate. • The deterioration iscaused by the increasein the transmission and queuing times. • More FEC is needed when the delay is large (same when the lossrate is high)
ARQ alone • The latency is almost all time improving with the persistency of ARQ, EXCEPT in one case: • very short transfers. • long delay. • and low error rate. The reason is that TCP in this scenario does not have enough time to adapt its Timeout, so transfers suffer from false Timeouts which reduces their performance.
Hybrid model • Can do better then when both mechanisms are alone: better latency and more throughput !! • A high persistency is always to be used. • For high loss rates, ARQ-alone collapses, so a little of FEC will improve the performance. • For low loss rates, ARQ-alone is usually enough EXCEPT in the case of long delay, low error rate and very short transfers. In this case, FEC has to be added in large amounts so as to correct all errors on behalf of ARQ (kind of disabling ARQ).
Conclusions • A high persistency is almost all time necessary for high performance. • FEC must be added in case of high loss rates to avoid ARQ from collapsing. • No need for FEC in case of low error rate, EXCEPT in the case of long delay, low error rate and very short transfers where FEC should be added to disable ARQ (otherwise we will have false Timeouts).
Future research • Analytical modeling for the case of short-lived TCP flows. • What about multimedia applications ? • What happens when losses are bursty ? The channel is dynamic ? • Burstiness of errors could be in favor of ARQ.