- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

#### Presentation Transcript

**1. **Queueing theory for TCP Damon Wischik, UCL
Gaurav Raina, Cambridge

**2. **DJW 2007 2/24 Multiplicative decrease -- when network is congested, load grows exponentially (transmit, retransmit, reretransmit...)
Additive increase -- helps with fairness (of relatively greater benefit to low-bandwidth users)
Devised by Jain+Ramakrishnan (1988) DECbitMultiplicative decrease -- when network is congested, load grows exponentially (transmit, retransmit, reretransmit...)
Additive increase -- helps with fairness (of relatively greater benefit to low-bandwidth users)
Devised by Jain+Ramakrishnan (1988) DECbit

**3. **DJW 2007 3/24 Models for TCP

**4. **DJW 2007 4/24 Models for TCP

**5. **DJW 2007 5/24 Models for TCP

**6. **DJW 2007 6/24 Models for TCP

**7. **DJW 2007 7/24 Simulation results

**8. **DJW 2007 8/24 Simulation results

**9. **DJW 2007 9/24 Formulate a maths question What is the limiting queue-length process, as N??, in the three regimes
large buffers B(N)=BN
intermediate buffers B(N)=BvN
small buffers B(N)=B
Why are these the interesting limiting regimes? What are the alternatives? [Bain, 2003] Interest in these limits? WANT: increasing capacity. Current TCP either has moderate or small rates; to understand current TCP need N flows.
(To understand future TCP: consider TCP algorithm parameterized by N.)
Buffers: these are the three regimes people are interested in.Interest in these limits? WANT: increasing capacity. Current TCP either has moderate or small rates; to understand current TCP need N flows.
(To understand future TCP: consider TCP algorithm parameterized by N.)
Buffers: these are the three regimes people are interested in.

**10. **DJW 2007 10/24 Intermediate buffers B(N)=BvN Consider a standalone queue
fed by N Poisson flows, each of rate x pkts/sec where x varies slowly, served at constant rate NC, with buffer size BvN
i.e. an MNx//DNC //1/BvN queue
xt=0.95 then 1.05 pkts/sec, C=1 pkt/sec, B=3 pkt
Observe
queue size fluctuates very rapidly; busy periods have duration O(1/N) so packet drop probability pt is a function of instantaneous arrival rate xt
queue size flips quickly from near-empty to near-full, in time O(1/vN)
packet drop probability is pt=(xt-C)+/xt

**11. **DJW 2007 11/24 Intermediate buffers B(N)=BvN Consider a standalone queue
fed by N Poisson flows, each of rate x pkts/sec where x varies slowly, served at constant rate NC, with buffer size BvN
i.e. an MNx//DNC //1/BvN queue
xt=0.95 then 1.05 pkts/sec, C=1 pkt/sec, B=3 pkt
Observe
queue size fluctuates very rapidly; busy periods have duration O(1/N) so packet drop probability pt is a function of instantaneous arrival rate xt
queue size flips quickly from near-empty to near-full, in time O(1/vN)
packet drop probability is pt=(xt-C)+/xt

**12. **DJW 2007 12/24 Closing the loop In the open-loop queue
we assumed Poisson inputs with slowly varying arrival rate
queue size flips quickly from near-empty to near-full
queue size fluctuates very rapidly, with busy periods of duration O(1/N), so drop probability pt is a function of instantaneous arrival rate xt In the closed-loop TCP system
the round trip time means that we can treat inputs over time [t,t+RTT] as an exogenous arrival process to the queue
the average arrival rate should vary slowly, according to a differential equation
the aggregate of many point processes converges to a Poisson process, and this carries through to queue size [Cao+Ramanan 2002]

**13. **DJW 2007 13/24 Intermediate buffers B(N)=BvN 2Gb/s link, C=50 pkt/sec/flow
5000 TCP flows
RTT 150–200ms
buffer 619pkt
simulator htsim by Mark Handley, UCL

**14. **DJW 2007 14/24 Intermediate buffers B(N)=BvN 2Gb/s link, C=50 pkt/sec/flow
5000 TCP flows
RTT 150–200ms
buffer 619pkt
simulator htsim by Mark Handley, UCL

**15. **DJW 2007 15/24 Instability and synchronization When the queue is not full, there is no packet loss, so transmission rates increase additively
When the queue becomes full, there are short periods of concentrated packet loss
This makes the flows become synchronized

**16. **DJW 2007 16/24 Large buffers B(N)=BN

**17. **DJW 2007 17/24 Small buffers B(N)=B

**18. **DJW 2007 18/24 Conclusion

**19. **DJW 2007 19/24 Conclusion

**20. **DJW 2007 20/24 Instability & buffer size On the basis of these models, and of a control-theoretic analysis of the limit cycles that ensue, we claimed
a buffer of 30–50 packets should be sufficient
intermediate buffers will make the system become synchronized, and utilization will suffer
large buffers get high utilization, but cause synchronization and delay

**21. **DJW 2007 21/24 Instability & buffer size On the basis of these models, and of a control-theoretic analysis of the limit cycles that ensue, we claimed
a buffer of 30–50 packets should be sufficient
intermediate buffers will make the system become synchronized, and utilization will suffer
large buffers get high utilization, but cause synchronization and delay

**22. **DJW 2007 22/24 Burstiness The problem is that the Poisson limit breaks down
A key step in the C+R proof is showing that each flow contributes at most one packet in a busy period
But TCP, on a fast access link, will produce bursty traffic: sources can send an entire window-full of packets back-to-back
For very fast access speeds, i.e. very bursty TCP traffic, a batch-M/D/1/B model is appropriate

**23. **DJW 2007 23/24 Burstiness & access speeds Simulations of a system with a single bottleneck link with capacity NC, where each flow is throttled by a slow access link

**24. **DJW 2007 24/24 Burstiness & access speeds Simulations of a system with a single bottleneck link with capacity NC, where each flow is throttled by a slow access link