240 likes | 368 Views
Congestion Control for Multicast Flows with Network Coding. Lijun Cheny, Tracey Hoy, Mung Chiangz, Steven H. Lowy, and John C. Doyley Presented by Subhash Lakshminarayana. Introduction. Flow control at end-systems for network coding based multicast flows with elastic rate demand.
E N D
Congestion Control for Multicast Flows with Network Coding Lijun Cheny, Tracey Hoy, Mung Chiangz, Steven H. Lowy, and John C. Doyley Presented by Subhash Lakshminarayana
Introduction • Flow control at end-systems for network coding based multicast flows with elastic rate demand. • Optimization based models for network resource allocation. • Decentralized controllers at sources and links/nodes for congestion control in wired networks. • Two scenarios • Use coding subgraphs that are un-capacitated • Do not explicitly find coding subgraphs • dynamic routing and coding decisions based on queue length gradients • Work at the transport layer - adjust the source rates • Work at the network layer - carry out network coding • Random linear Network coding approach used • Partially-primal and dual gradient algorithm
Network Coding-1 • Extends the functionality of network nodes from storing/forwarding packets to performing algebraic operations on received data • Bandwidth Gains • Maximize multicast throughput • Robustness to link/node failures • Robustness to packet losses
Network Coding-2 Graph with set N of nodes and a set L of directed links Set of multicast sessions Source of session m Destination set of session m Session rate • Information must flow at rate to each destination • With network coding the actual physical flow on each link need only be the maximum of the individual destination’s flows Information flow for destination d of session m Amount of link capacity allocated to session m
Network Coding-3 • Only intra-session Network coding considered
Network Coding-4 1Theorem 1: The rate vector g satisfies the above constraints if and only if there exists a network code that sets up a multicast connection at rate arbitrarily close to from source to destinations in set and that injects packets at rate arbitrarily close to on each link • 2Random Linear Network Coding • Network nodes form output packets by taking random linear combinations of corresponding blocks of bits in input packets • Linear combination specified by the coefficient vector in the packet header • Each sink receives with high probability a set of packets with linearly independent coefficient vectors, allowing it to decode 1. D. S. Lun, N. Ratnakar, M. Medard, R. Koetter, D. R. Karger, T. Ho and E. Ahmed, Minimum-cost multicast over coded packet networks, IEEE Trans. Inform. Theory, 2006. 2. Tracey Ho, Muriel Médard, Ralf Koetter, David R. Karger, Michelle Effros, Jun Shi, and Ben Leong , A Random Linear Network Coding Approach to Multicast, IEEE Trans. Inform. Theory, 2006
Multicast with Given Coding Subgraphs-1 • Coding is done on overlapping segments of different trees of a session that have disjoint sets of downstream destinations. • Coding subgraphs chosen in a variety of ways • Delay • Resource Usage • Commercial relationship amongst network providers.
Multicast with Given Coding Subgraphs-2 Coding subgraph for multicast session m Set consisting of union of links of possibly overlapping multicast trees connection source to all destinations Set of all destinations of session m Information flow rate for session m Multicast Matrix with of dimension Amount of link capacity associated with session m • Network Coding Constraint There exists a corresponding multicast network code of rate arbitrarily close to from source to destinations
Multicast with Given Coding Subgraphs-3 Utility Maximization problem Continuously differentiable, increasing and strictly concave Objective: Decentralized controllers at source and links/nodes to achieve optimum • Linear constraints form a convex set • Convex optimization problem! • Strong duality holds • Decentralized solution using Lagrange dual methods
Multicast with Given Coding Subgraphs-4 Traffic split variable for each multicast tree Rate supported by each tree Two-Level Optimization Problem • Source rate, session allocation problem; fast timescale • Traffic splitting problem; slow traffic engineering timescale
Multicast with Given Coding Subgraphs-5 “Congestion Price” at link l for multicast tree • Congestion Control Aggregate congestion price over multicast tree • Similar to TCP congestion control algorithm • End to End congestion control mechanism • Session Allocation where • Session with higher link price is allocated more capacity Note Net flow through a link remains constant
Multicast with Given Coding Subgraphs-6 • Congestion price update • Tries to match supply and demand • Distributed and can be implemented at each link with local information • Tree adaptation Algorithm Much slower; minimization of over p can be seen instantaneous • Traffic split vector updates • Discourages more congested trees • Slow algorithm
Convergence Analysis-1 • Optimality conditions for convex program Theorem 2: Under congestion control and session allocation defined above, the system converges to the optimum of the problem P1a. • Lyapunov function • Negative Lyapunov drift • System converges to an invariant set specified by only if p,y,x satisfy optimality conditions
Convergence Analysis-2 Theorem 3: The tree adaptation algorithm (9) converges to the optimum of the system problem P1. Prove that Tree adaptation algorithm will converge to equilibrium such that and solves the system problem • Implementation of price feedback • Each link keeps a separate virtual queue for each multicast tree • Packet header contains indices of trees whose information it contains • Each node i will pass aggregate price along the links from the receivers till itself to the upstream node j.
Networks without Given Coding Subgraphs-1 Information flow for destination d of session m Amount of link capacity allocated to session m Capacity of link (i,j). • Network coding constraint
Networks without Given Coding Subgraphs-2 • Congestion Control • Local congestion price at the source node • Congestion in the network is propagated to source node through backpressure. • Session Allocation • Session weights along each link • Capacity gradient Sessions having higher weight gets more higher capacity allocation No change in the net capacity allocated
Networks without Given Coding Subgraphs-3 • Over link (i,j), transmit a random linear combination of data of multicast session m to all destinations having positive price gradient. • Each packet need to carry a vector of destination identities in the packet header • Each nodes i keep a separate virtual queue as congestion price for each multicast session m and • Congestion Price Update • Each node adjusts its sending rate according to local congestion price. • Implementation of price feedback
Networks without Given Coding Subgraphs-4 Convergence Analysis • Theorem 4 • Under congestion control and session allocation algorithm defined above, the system converges to the optimum of the problem P2. • Prove that Lyapunov drift is negative • System converges to an invariant set specified by only if p,f,g,x satisfy the optimality conditions for convex problem
Extension to Wireless Networks-1 Hyperarcs transmitting node receiving neighbors Hyperarc flow vector static topology; finite fixed broadcast capacity capacity region at the link layer
Extension to Wireless Networks-2 • Congestion Control • Scheduling • Choosing Multicast Session • Session scheduling within the hyperarc • Price Differential • Random linear combination of data of chosen multicast session at a rate such that
Extension to Wireless Networks-3 • Hyperarc scheduling is centralized and is NP-complete • Yet to design distributed algorithms • Congestion price update
Numerical Examples-1 • With Coding subgraphs • 2 Sessions routed • Session1: source ‘s’ and destinations ‘x’ and ‘y’ • Session2: source ‘t’ and destinations ‘u’ and ‘z’ Session Utilities Period of update of cong control/session allocation algorithm Period of update of cong tree adaptation algorithm
Numerical Examples-2 • Comments • Source rate reach 5% of optimal within 5 iterations. • Traffic split vectors reach 5% of optimal within 10 iterations. • Inner loop runs for 500 iterations • End users can dynamically control number of iterations by monitoring the congestion prices over different trees • Dynamic step sizes
Numerical Examples-3 Without Coding Subgraphs • Comments: • Smaller step size, slower the convergence and the closer to the optimal • Throughput achieved for the case without given subgraphs is larger than that for the case with given coding subgraphs. • Capacity region for the case with given coding subgraph is a subset of the capacity region with the coding subgraphs unspecified.