Title: Congestion Control for Multicast Flows with Network Coding
1Congestion Control for Multicast Flows with
Network Coding
- Lijun Cheny, Tracey Hoy, Mung Chiangz, Steven H.
Lowy, and John C. Doyley - Presented by
- Subhash Lakshminarayana
2Introduction
- 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
3Network 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
4Network 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 destinations flows
Information flow for destination d of session m
Amount of link capacity allocated to session m
5Network Coding-3
- Only intra-session Network coding considered
6Network 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
7Multicast 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.
8Multicast 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
9Utility Maximization problem
Multicast with Given Coding Subgraphs-3
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
10Multicast 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
11Multicast with Given Coding Subgraphs-5
Congestion Price at link l for multicast tree
Aggregate congestion price over multicast tree
- Similar to TCP congestion control algorithm
- End to End congestion control mechanism
where
- Session with higher link price is allocated more
capacity
Note
Net flow through a link remains constant
12Multicast with Given Coding Subgraphs-6
- 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
13Convergence 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.
- System converges to an invariant set specified
by
only if p,y,x satisfy optimality conditions
14Convergence 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.
15Networks 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
16Networks without Given Coding Subgraphs-2
- Local congestion price at the source node
- Congestion in the network is propagated to source
node through backpressure.
- Session weights along each link
Sessions having higher weight gets more higher
capacity allocation
No change in the net capacity allocated
17Networks 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 node adjusts its sending rate according to
local congestion price.
- Implementation of price feedback
- 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
18Convergence Analysis
Networks without Given Coding Subgraphs-4
- 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
19Extension to Wireless Networks-1
Hyperarcs transmitting node
receiving neighbors
Hyperarc flow vector
static topology finite fixed broadcast capacity
capacity region at the link layer
20Extension to Wireless Networks-2
- Choosing Multicast Session
- Session scheduling within the hyperarc
- Random linear combination of data of chosen
multicast session at a rate
such that
21Extension to Wireless Networks-3
- Hyperarc scheduling is centralized and is
NP-complete - Yet to design distributed algorithms
22Numerical Examples-1
- 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
23Numerical 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
24Without Coding Subgraphs
Numerical Examples-3
- 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.