Stochastic Multicast with Network Coding
Ajay Gopinathan, Zongpeng Li
Department of Computer ScienceUniversity of Calgary
ICDCS 2009, June 24 2009, Montreal
Outline
• Capacity planning at multicast service provider
• Solution 1 – Heuristic– Usually but not always good solutions
• Solution 2 – Sampling– Provable performance bound
• Simulations• Conclusion
Problem Statement
NetworkNetwork
SLAContent
Provider
Content
Provider
Network
Service Provide
r
Network
Service Provide
r
Potential CustomersPotential Customers
Usage beyond SLA incurs penalties!
negotiate
negotiate
P(t)
The Content Provider’s Dilemma
• Content provider’s goal:– Minimize expected cost
• 2-stage stochastic optimization
Two-stage stochastic optimization
• Stage 1:– Estimate capacity needed– Purchase capacity at fixed initial pricing scheme
• Stage 2:– Set of multicast receivers revealed– Bandwidth price increases by factor – Augment stage 1 capacity, for sufficient capacity to serve
everyone• Stage 1 purchasing decision should minimize cost of both
stages in expectation
The Content Provider’s Dilemma
• Content provider’s goal:– Minimize expected cost
• Obstacles– Set of customers is non-deterministic
• Assume probability of subscription• Based on market analysis/historical usage patterns
– Employ the cheapest method for data delivery• Multicast
Why multicast?
• Exploits replicable property of information– Reduce redundant transmissions– Efficient bandwidth usage => cost savings!
Content Provider’s Routing Solution
Traditional multicast • Finding and packing Steiner trees – NP-Hard!
Network coding• Exploit encodable property of information• Polynomial time solvable • linear programming formulation
Multicast with network coding
• Take home message– Compute multicast as union of unicast flows– Union of flows do not compete for bandwidth
• Conceptual flows
“A multicast rate of d is achievable if and only if d is a feasible unicast rate to each multicast receiver
separately”
Network Model
– Directed graph– Edge has cost and capacity– Receiver has set of paths to the source
Multicast Routing LP
How to minimize expected cost?
• First stage, buy capacity at unit cost • Second stage, cost increases by
– Unit capacity cost
• For every let be probability that set is the customer set in second stage
• Capacity bought in first stage – • Capacity bought in second stage -
Two-stage optimization
Two-stage optimization
• Optimal
• But intractable!– Exponentially sized– #P-Hard in general
• Can we approximate the optimal solution?
Solution 1 - Heuristic
• Idea – Future is more expensive by– Buy units of capacity in stage one if probability
of requiring is
• Algorithm overview– Compute optimal flow to all receivers– Compute probability of requiring amounts of
capacity on each edge– Buy on if above condition is met
Solution 1 - Heuristic
• Simulations show excellent performance in most cases
• No provable performance bound– In fact, it is unbounded
Solution 2 - Sampling
• Basic idea – sample from probability distribution to get estimate of customer set
• Is sampling once enough?– Need to factor in inflation parameter
• Theorem [Gupta et al., ACM STOC 2004]– Optimal – sample times– Possible to prove bound on solution
Cost sharing schemes
• Method for allocating cost of solution to the service set (multicast receivers)
• Denote as the cost share of in A• A -strict cost sharing scheme for any two
disjoint sets A and B:1)2)3)
Cost sharing schemes
• Theorem [Gupta et al., ACM STOC 2004]If there exists a -strict cost sharing scheme, then sampling provides a (1 + )-approximate solution
• Does network coded multicast have such a scheme?– Yes! Use dual variables of primal multicast linear
program
Multicast LP dual formulation
A 2-strict cost sharing scheme
• TheoremThe variables in the dual linear program for multicast
constitute a 2-strict cost sharing scheme
• Proof using LP duality and sub-additivity• Sampling guarantees a 3-approximate
solution!
Simulations
Conclusion
• Problem – minimize expected cost for content provider when set of customers are stochastic
• Two solutions– Heuristic
• Performs well in most cases• No performance bound
– Sampling• Performs less well than heuristic in simulations• Guaranteed performance bound
Steiner Trees