Stability of Hop by Hop Congestion Control Stephan
Stability of Hop by Hop Congestion Control Stephan Bohacek Dept. of Mathematics University of Southern California
End to End and Hop by Hop Congestion Control End to End Congestion Control (e. g. TCP) – The sender determines the rate at which it sends data based on estimates of congestion derived from information from the receiver. • There may be a large delay between when congestion occurs and when the sender reacts. 100 KBps link with 250 ms delay. TCP takes 1. 5 secs to reach full speed. In this time 150 KB could have been sent. Most http files are smaller than 150 KB. Hence, TCP is usually under utilizing the link. • A large number of packets may be dropped. Hop by Hop Congestion Control – Each router negotiates with its neighbors to decide how fast data should be sent. • Little delay • No estimation is necessary • Few drops • Burden on the routers • Stability is an issue (distributed control)
Connection Oriented Approach to Hop by Hop Congestion Control Neglect all other links except the ones involved in the connection. S 1 Control information (e. g. sending rate, queue size) about this particular connection is exchanged between neighboring nodes. D 1
node i-1 qi-1, i ri-1, i node i qi, i+1 queue occupancy for flow from node i-1 to node i ri, i+1 node i+1 ri+1, i+2 qi+1, i +2 data flow from node i to node i+1 queue dynamics qi, i+1(k+1) = L (qi, i+1(k) + ri-1, i(k) – ri, i+1(k)) rate dynamics ri, i+1(k+1) = L (ri+1, i+2(k) + F(q* - qi+1, i+2(k))) r. N(k+1) = M “bottleneck link” M = bandwidth of bottleneck link / number of competing flows Objective: match rates, ri, i+1=M, and make qi+1, i+2 = q* “optimal queue size”
q r = 1 1 1 -F z-1 q temporal shift r + 0 -1 0 0 σ-1 q r spatial shift It can be shown that this closed loop system is stable (Mishra 1996). Drawbacks • The optimal rate M? (Why not just feed M back directly? ) • Optimal queue occupancy q*? Hence, optimal delay? • The router must maintain flow control for each connection (per VC congestion control). E. g. , a 10 Gbps router can accommodate 200, 000, 56 Kbps connections. If each buffer can hold 20 packets, then the total memory is 48 Gb! For this reason, the ATM steering committee did not choose per VC congestion control for ABR (Jain 1996).
non-connection oriented approach Pazos and Gerla (Infocom, 1999) Kulkarni, Bohacek, and Safonov (Allerton, 1998) Define i, , j = aggregate queue occupancy in node i queue dynamics (conservation of data) 1 if node i sends data to node j 0 otherwise q i = - j i, , j ri, j The rate that data exits node i to other nodes. rate controller average data rate that data enters/leaves the network through node i rate that node i sends data to node j + j j, i rj, i + ui The rate that data enters node i from other nodes. r i, j = - (ri, j - ri, j) – F 1 (qj – q*) + F 2 (qi – q*) ri, j = - ri, j + ri, j optimal queue size
non-connection oriented approach q = Ar + u A link is an output from one node and it is an input to another. Hence, columns of A sum to zero. The close-loop LTI system has one eigenvalue at zero and the rest have negative real parts. The eigenvalue at zero corresponds to the fact that if i ui > 0, then more data enters the network then leaves the network. The excess data accumulates in the queues.
Blocking A B fast links C slow link D E Data flows from A to D and from B to E. Since link C, E is slow, the queue in node C fills. Both flows slow down to alleviate the filling queue.
Define i, j, k to be the ratio of data going from node i to node j that will then go to node k. queue occupancy for link i, j input rates q i, j = L (- ri, j + h h, i, j rh, i + ui, j) ri, j = L (F 1 qi, j + F 2 qi, j – F 3 k i, j, k qj, k – F 4 k i, j, k qj, k + F 5 h h, i, j qh, i + F 6 h h, i, j qh, i) increase rate if local queue is full or is filling decrease rate if downstream queue is full or is filling (Back Pressure) increase rate if upstream queue is full or is filling (Forward Pressure) Node i, j adjust its rate only when directly responsible for congestion. This should alleviate the blocking problem. No preset values.
Inputs and Outputs IN 1 2 network under control OUT q 1, 2 = L( -r 1, 2 + r. IN ) r 1, 2 = L(F 1 q 1, 2 + F 2(-r 1, 2 + r. IN) – F 3 q 2, OUT - F 4(-r 2, OUT + r 1, 2)) q 2, OUT = L( -r 2, OUT + r 1, 2 ) r 2, OUT = L(F 1 q 2, OUT + F 2(-r 2, OUT + r 1, 2) + F 5 q 1, 2 + F 6(-r 1, 2 + r. IN)) Like connection oriented Hop-by-Hop, this topology is stable for all Fi > 0 but queues are empty at equilibrium. No preset values.
Define i, j, k to be the ratio of data going from node i to node j that will then go to node k k i, j, k 1 the data flowing along link i, j must next either flow along some other link j, k or must exit the network. u 1 3 1 2 u 3 Suppose that 1, 2, 3 = 2, 3, 1 = 3, 1, 2 = 1. Then all the data that enters the network remains in the network and queues overflow. We require 1, 2, 3 · 2, 3, 1 · 3, 1, 2 1
No – Loop Condition u 1 u 3 5 3 1 2 u 5 4 u 2 u 4 If 1, 2, 3 = 3, 1, 2 = 3, 4, 5 = 4, 5, 3 = 1 2, 3, 1 = 2, 3, 4 = 5, 3, 2 = 0. 5, then data that enters the network never leaves. We require that for all sequence of tuples L and some > 0. A static requirement is that = 1.
Matrix Representation q = L((A – I) r + u) r =L( (F 1 I – F 3 AT + F 5 A)q + (F 2 I – F 4 AT + F 6 A)(A – I)r ) L accounts for state saturation Since k i, j, k 1 the row sums of A 1. Hence, AT is a substochastic matrix. A(i, j), (j, k) 0 A(j, k), (i, j) = 0 no-loop condition A is time varying LPV a convex set
Asymptotic Stability Define Fa : = F 1 = F 3 and Fb : = F 2 = F 4 Set F 5 = 0 q· = L((A – I) r + u) r· = L(Fa (I – AT)q + Fb (I – AT)(A – I)r) Set R = A – I For F 6=0 q· 0 ·r =L -F RT a R -Fb. RTR q r Note: R varies with time The system is asymptotically stable if -Fb 2 + F 6 (n – n 1/2) < 0 Fa > 0, Fb > 0, F 6 0 However, the system might not be exponentially stable! (delay)
Exponential Stability Is x = (AT – I)x stable? Since AT substochastic and loop-free condition LPV/LMI approach find P > 0 such that P(A – I)T + (A – I)P < 0 for all A
LPV/LMI does not work 2 -D illustration T A 1 = 1 - 0 T A 2 = 0 1 - lines of constant cost vector field for (A 1 - I)T vector field for (A 2 – I)T
Define the cost Lemma: Choose s > 1 such that s=4
Exponential Stability Choose Fi 0 such that there exists P 11 P 12 P 22 with then the closed loop system is exponentially stable.
A simple example of hop-by-hop control At time 0 node in 4 begins to send data to node 7. in 1 in 2 in 3 in 4 1 in 5 4 5 2 3 6 7 in 6 in 7 in 8 in 9
A simple example of TCP control At time 0 node in 4 begins to send data to node 7. in 1 in 2 in 3 in 4 1 in 5 4 5 2 3 6 7 in 6 in 7 in 8 in 9
Hop-by-Hop and TCP
Blocking 1 2 fast links 3 3 congested node 4 5 4 6 slow link i, j, k, l the ratio of data that is traveling from i to j and to k which then travels to l. connection oriented i, j, . . . , z congested node 5 6 slow link i, j, k, l, m 7 per VC control
Conclusions • • • Hop-by-Hop congestion control is a classic control problem. Asymptotic stability is easy. However, exponential stability is difficult to prove and may require high gain. So far the result are not scalable (they depend on n, the number of nodes, but could be changed to fan-in). Future work • Topology depend strategies should be investigated. • Performance issues • Min delay/min queue size (minimize L norm of queue). • Minimize transaction time (high bandwidth). • End to End flow control and Fairness.
- Slides: 23