Optimization models for congestion control with multipath routing in TCP/IP networks Roberto Cominetti Cristóbal Guzmán Departamento de Ingeniería Industrial Universidad de Chile Workshop on Optimization, Games and Dynamics 28-29 Novembre 2011, Institut Henri Poincaré, Paris
Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 2 / 27
Overview 1 TCP/IP communication protocols 2 Congestion control and network utility maximization 3 Congestion control with Markovian multipath routing Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 3 / 27
TCP/IP Single path routing Communication network G = (N, A) Each source s S transmits packets from origin o s to destination d s At which rate? Along which route? Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 4 / 27
Congestion measures: link delays / packet loss Switch/Router Links have random delays λ a = λ a + ɛ a with E(ɛ a ) = 0 λ a = Queuing + Transmission + Propagation Finite queuing buffers packet loss probability p a Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 5 / 27
TCP/IP Current protocols Route selection (RIP/OSPF/IGRP/BGP/EGP) Dynamic adjustment of routing tables Slow timescale evolution (15-30 seconds) Network Layer 3 Rate control (TCP Reno/Tahoe/Vegas) Dynamic adjustment of source rates congestion window Fast timescale evolution (100-300 milliseconds) Transport Layer 4 Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 6 / 27
TCP Congestion window control Packets Acks Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 7 / 27
TCP Congestion window control Packets Acks x s = source rate congestion window round-trip time = W s τ s Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 8 / 27
TCP Congestion control Sources adjust transmission rates in response to congestion Basic principle: higher congestion smaller rates x s : source transmission rate [packets/sec] λ a : link congestion measure (loss pbb, queuing delay) y a = s a x s q s = a s λ a (aggregate link loads) (end-to-end congestion) Decentralized algorithms xs t+1 = F s (xs t, qs) t (TCP source dynamics) λ t+1 a = G a (λ t a, ya) t (AQM link dynamics) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 9 / 27
TCP Congestion control Sources adjust transmission rates in response to congestion Basic principle: higher congestion smaller rates x s : source transmission rate [packets/sec] λ a : link congestion measure (loss pbb, queuing delay) y a = s a x s q s = a s λ a (aggregate link loads) (end-to-end congestion) Decentralized algorithms xs t+1 = F s (xs t, qs) t (TCP source dynamics) λ t+1 a = G a (λ t a, ya) t (AQM link dynamics) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 9 / 27
TCP Congestion control Sources adjust transmission rates in response to congestion Basic principle: higher congestion smaller rates x s : source transmission rate [packets/sec] λ a : link congestion measure (loss pbb, queuing delay) y a = s a x s q s = a s λ a (aggregate link loads) (end-to-end congestion) Decentralized algorithms xs t+1 = F s (xs t, qs) t (TCP source dynamics) λ t+1 a = G a (λ t a, ya) t (AQM link dynamics) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 9 / 27
Example: TCP-Reno / packet loss probability AIMD control { W t Ws t+τs = s + 1 Ws t /2 if Ws t packets are successfully transmitted one or more packets are lost (duplicate ack s) π t s = a s (1 pt a) = success probability (per packet) Additive congestion measure q t s ln(π t s) λ t a ln(1 p t a) Approximate model for rate dynamics } qs t = a s λt a E(Ws t+τs Ws t ) e qt s Ws t (Ws t + 1) + (1 e qt s Ws t ) Ws t /2 ] xs t+1 = xs t + 1 2τ s [e τsqt s xt s (x t s + 2 τ s ) xs t Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 10 / 27
Example: TCP-Reno / packet loss probability AIMD control { W t Ws t+τs = s + 1 Ws t /2 if Ws t packets are successfully transmitted one or more packets are lost (duplicate ack s) π t s = a s (1 pt a) = success probability (per packet) Additive congestion measure q t s ln(π t s) λ t a ln(1 p t a) Approximate model for rate dynamics } qs t = a s λt a E(Ws t+τs Ws t ) e qt s Ws t (Ws t + 1) + (1 e qt s Ws t ) Ws t /2 ] xs t+1 = xs t + 1 2τ s [e τsqt s xt s (x t s + 2 τ s ) xs t Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 10 / 27
Example: TCP-Reno / packet loss probability AIMD control { W t Ws t+τs = s + 1 Ws t /2 if Ws t packets are successfully transmitted one or more packets are lost (duplicate ack s) π t s = a s (1 pt a) = success probability (per packet) Additive congestion measure q t s ln(π t s) λ t a ln(1 p t a) Approximate model for rate dynamics } qs t = a s λt a E(Ws t+τs Ws t ) e qt s Ws t (Ws t + 1) + (1 e qt s Ws t ) Ws t /2 ] xs t+1 = xs t + 1 2τ s [e τsqt s xt s (x t s + 2 τ s ) xs t Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 10 / 27
Example: AQM / Droptail RED-REM Marking probability on links controlled by AQM p t a = ϕ a (r t a) as a function of the link s average queue length r t+1 a = (1 α)r t a + αl t a Loss probability vs. average queue length Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 11 / 27
Network Utility Maximization Kelly, Maullo and Tan (1998) proposed an optimization-based model for distributed rate control in networks. Low, Srikant, etc. (1999-2002) showed that current TCP/AQM control algorithms solve an implicit network optimization problem. During last decade, the model has been used and extended to study the performance of wired and wireless networks. Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 12 / 27
Steady state equations x t+1 λ t+1 s = F s (xs t, qs) t (TCP source dynamics) a = G a (λ t a, ya) t (AQM link dynamics) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 13 / 27
Steady state equations x s = F s (x s, q s ) (TCP source equilibrium) λ a = G a (λ a, y a ) (AQM link equilibrium) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 13 / 27
Steady state equations x s = F s (x s, q s ) (TCP source equilibrium) λ a = G a (λ a, y a ) (AQM link equilibrium) x s = f s (q s ) λ a = ψ a (y a ) (decreasing) (increasing) q s = a s λ a y a = s a x s Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 13 / 27
Steady state equations x s = F s (x s, q s ) (TCP source equilibrium) λ a = G a (λ a, y a ) (AQM link equilibrium) x s = f s (q s ) λ a = ψ a (y a ) q s = a s λ a y a = s a x s (decreasing) (increasing) x s = f s ( a s λ a) λ a = ψ a ( s a x s) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 13 / 27
Examples Workshop on Optimization, Games and Dynamics IHP, Paris, 28-29 Novembre 2011 TCP-Reno (loss probability) q s = f 1 s (x s ) 1 τ sx s ln(1 + 2 τ sx s ) λ a = ψ a (y a ) δya c a y a TCP-Vegas (queueing delay) q s = f 1 s (x s ) ατs x s λ a = ψ a (y a ) y a c a y a Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 14 / 27
Steady state Primal optimality x s = f s ( a s λ a) λ a = ψ a ( s a x s) f 1 s (x s ) = a s λ a = a s ψ a( u a x u) optimal solution of strictly convex program (P) min x s S U s(x s ) + a A Ψ a( s a x s) U s( ) = f 1 s ( ) Ψ a( ) = ψ a ( ) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 15 / 27
Steady state Primal optimality x s = f s ( a s λ a) λ a = ψ a ( s a x s) f 1 s (x s ) = a s λ a = a s ψ a( u a x u) optimal solution of strictly convex program (P) min x s S U s(x s ) + a A Ψ a( s a x s) U s( ) = f 1 s ( ) Ψ a( ) = ψ a ( ) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 15 / 27
Steady state Dual optimality x s = f s ( a s λ a) λ a = ψ a ( s a x s) ψ 1 a (λ a ) = s a x s = s a f s( b s λ b) optimal solution of strictly convex program (D) min λ a A Ψ a(λ a ) + s S U s ( a s λ a) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 16 / 27
Steady state Dual optimality x s = f s ( a s λ a) λ a = ψ a ( s a x s) ψ 1 a (λ a ) = s a x s = s a f s( b s λ b) optimal solution of strictly convex program (D) min λ a A Ψ a(λ a ) + s S U s ( a s λ a) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 16 / 27
Theorem (Low 2003) x s = f s ( a s λ a) λ a = ψ a ( s a x s) x and λ are optimal solutions for (P) and (D) respectively Relevance: Reverse engineering of existing protocols / forward engineering (f s, ψ a ) Design distributed stable protocols to optimize prescribed utilities Flexible choice of congestion measure q s Limitations: Ignores delays in transmission of congestion signals Improper account of stochastic phenomena Single-path routing Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 17 / 27
Theorem (Low 2003) x s = f s ( a s λ a) λ a = ψ a ( s a x s) x and λ are optimal solutions for (P) and (D) respectively Relevance: Reverse engineering of existing protocols / forward engineering (f s, ψ a ) Design distributed stable protocols to optimize prescribed utilities Flexible choice of congestion measure q s Limitations: Ignores delays in transmission of congestion signals Improper account of stochastic phenomena Single-path routing Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 17 / 27
Theorem (Low 2003) x s = f s ( a s λ a) λ a = ψ a ( s a x s) x and λ are optimal solutions for (P) and (D) respectively Relevance: Reverse engineering of existing protocols / forward engineering (f s, ψ a ) Design distributed stable protocols to optimize prescribed utilities Flexible choice of congestion measure q s Limitations: Ignores delays in transmission of congestion signals Improper account of stochastic phenomena Single-path routing Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 17 / 27
Markovian Network Utility Maximization (MNUM) Increase transmission rates: single path multi-path Goal: design distributed TCP protocols with multi-path routing Packet-level protocol that is stable and satisfies optimality criteria Model based on the notion of Markovian traffic equilibrium Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 18 / 27
MNUM: integrated routing & rate control Cross-layer design: routing + rate control Based on a common congestion measure: delay Link random delays λ a = λ a + ɛ a with E(ɛ a ) = 0 λ a = Queuing + Transmission + Propagation Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 19 / 27
MNUM: Markovian multipath routing At switch i, packets headed to destination d are routed through the outgoing link a A + i that minimizes the observed cost-to-go τ i d = min a A + λ a + τj d i } {{ } a z a d Markov chain with transition matrix P d ij = { P( z d a z d b, b A+ i ) if i = i a, j = j a 0 otherwise Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 20 / 27
MNUM: Markovian multipath routing At switch i, packets headed to destination d are routed through the outgoing link a A + i that minimizes the observed cost-to-go τ i d = min a A + λ a + τj d i } {{ } a z a d Markov chain with transition matrix P d ij = { P( z d a z d b, b A+ i ) if i = i a, j = j a 0 otherwise Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 20 / 27
Expected flows (invariant measures) The flow φ d i entering node i and directed towards d φ d i = os =i x s + a A ds =d i v d a splits among the outgoing links a = (i, j) according to v d a = φ d i P d ij Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 21 / 27
Expected costs Letting z d a = E( z d a ) and τ d i = E( τ d i ), we have z d a = λ a + τ d j a τ d i = ϕ d i (zd ) with ϕ d i (zd ) E(min a A + [za d + ɛ d a ]) i Moreover ( P z a d z b d, b A+ i ) = ϕd i za d (z d ) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 22 / 27
Expected costs Letting z d a = E( z d a ) and τ d i = E( τ d i ), we have z d a = λ a + τ d j a τ d i = ϕ d i (zd ) with ϕ d i (zd ) E(min a A + [za d + ɛ d a ]) i Moreover ( P z a d z b d, b A+ i ) = ϕd i za d (z d ) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 22 / 27
Markovian NUM Definition x s = f s (q s ) λ a = ψ a (y a ) y a = d v a d q s = τ s τs 0 (source rate control) (link congestion) (total link flows) (end-to-end queuing delay) where τ s = τ ds o s with expected costs given by { z d (ZQ) a = λ a + τj d a τi d = ϕ d i (zd ) and expected flows v d satisfying (FC) φ d i = os =i x s + a A ds =d i v d a = φ d i v d a i d ϕ d i (z d ) a A + za d i Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 23 / 27
MNUM Characterization: Dual problem (ZQ) defines implicitly za d and τi d as concave functions of λ x s = f s (q s ) with q s = τo ds s (λ) τo ds s (λ 0 ) yields x s as a function of λ (FC) then defines va d as functions of λ MNUM conditions ψa 1 (λ a ) = y a = d v a d (λ) Theorem MNUM optimal solution of the strictly convex program (D) min λ a A Ψ a(λ a ) + s S U s (q s (λ)) Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 24 / 27
MNUM Characterization: Primal problem Theorem MNUM optimal solution of where min (x,y,v) P s S U s (x s ) + a A Ψ a (y a ) + d D χ d (v d ) = sup z d (ϕ d i a (z d ) za d )va d a A χ d (v d ) and P is the polyhedron defined by flow conservation constraints. Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 25 / 27
SUMMARY Described an optimization model for TCP/IP equilibrium rates Model extended to multipath routing & rate control (MNUM) Inspired from packet-level distributed protocols Implementable under current TCP/IP standards FUTURE WORK Simulation and testing of MNUM-based protocols Investigate stochastic-stability of protocols Investigate delay-stability of protocols ECN mechanisms for congestion signals Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 26 / 27
SUMMARY Described an optimization model for TCP/IP equilibrium rates Model extended to multipath routing & rate control (MNUM) Inspired from packet-level distributed protocols Implementable under current TCP/IP standards FUTURE WORK Simulation and testing of MNUM-based protocols Investigate stochastic-stability of protocols Investigate delay-stability of protocols ECN mechanisms for congestion signals Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 26 / 27
Some references F. Kelly, A. Maulloo, D. Tan: Rate control for communication networks: Shadow prices, proportional fairness and stability, Journal of Operation Research, (1998). H. Yaïche, R. Mazumdar and C. Rosenberg: A game theoretic framework for bandwidth allocation and pricing in broadband networks, IEEE/ACM Transactions on Networking, (2000). M. Chiang, S. H. Low, A. R. Calderbank, J. C. Doyle: Layering as optimization decomposition, Proceedings of IEEE, (2006). J. B. Baillon, R. Cominetti: Markovian traffic equilibrium, Mathematical Programming (2007). R. Cominetti, C. Guzmán: Network congestion control with Markovian multipath routing, Submitted (2011). Cominetti-Guzmán (Universidad de Chile) Congestion control with multipath routing 27 / 27