350 likes | 358 Views
This study examines the design of overlay multicast networks for streaming media delivery, focusing on optimizing costs, reliability, and capacity constraints. It proposes a three-level network reliability min-cost multicommodity flow problem and presents approximation algorithms to address these challenges effectively.
E N D
Designing overlay multicast networks for streaming Konstantin Andreev Bruce Maggs Adam Meyerson Jevan Saks Ramesh Sitaraman
And now a word from our founder “Governor Sanford [sic] has created a useless rival to the State University, as you and I saw when last in San Francisco. I could have no part in such a thing.” -- Andrew Carnegie in a letter to Andrew White, Ambassador to Berlin, 1901.
Delivering streaming media • Video quality is heavily impacted by packet losses on individual links • Feed from live event must be distributed to streaming servers
Delivering Streams the Conventional Way Live Events Internet Encoder Production Signal Acquisition Media Player or client Streaming Server On-Demand Clips On-Demand Clips END-USER CONTENT PROVIDER
1 X 34 1 2 3 4 x 123 4 X X X 1 2 3 4 x 123 4 x 123 4 Akamai’s Live Streaming Architecture Reflectors Entry Point Encoder Edge Servers (Sinks)
Minimize cost Obey fan-out and capacity constraints Satisfy reliability requirements Goals when building the overlay multicast network Sources - S Reflectors - R Sinks - D
Formal definition 3-level network reliability min-cost multicommodity flow problem • Tripartite digraph V=S [R [D • Costs on the edges (depending on the commodity) cu: Eu! Ru • Cost of using a reflector r : R !R • Fanout constraint on reflectors F: R !R • Failure rate on the edges p: E ! [0,1] • Success thresholds for each sink, commodity pair Fu: Du! [0,1]u Here u is the number of commodities
Important Caveats • Assume losses on different edges are independent. Not true in practice! (But will return to this issue.) • Only model and optimize packet loss rates. Burstiness of losses matters a lot in practice. On the positive side: don’t assume anything about distribution of losses on a single edge.
Flow combination rules p1 p2 p1 p2 • The fraction of packets not arriving is p1+p2-p1p2 • The fraction of packets not arriving is p1p2
Unusual aspects of our flow problem • No preservation of flow 1 unit of flow 1 unit of flow 1 unit of flow • Nonlinear flow combination rules 1-p1 1-p2 Total flow (1-p1)(1-p2) 1 unit of flow
Konstantin Andree: Problem transformation • Shortened notation pijk = pki+pij-pkipij wijk = - log pijk • Path recombination pijk x pmjk wijk + wmjk pki k i pij j k i m pijk pmjk j
Our results • Approximation algorithm solution which: • has cost within a O(log n) factor of optimal • violates fan-out constraints by at most O(1) factor • violates weight constraints by at most O(1) factor • Note: weights are logs of probabilities E.g. We want success rate .999 and we violate the weight constraint by a factor of at most 3. That implies success rate of .9 or better.
Previous related work • The Network Reliability Problem: In a network with a given source s and sink t where every edge has a probability of failure associated with it, compute what is the probability of a path connecting s to t. • We can encode Set Cover, thus no approximation better than log n on the cost • In general networks this problem is #P-complete. • There is an FPRAS that approximates it with in 1+e • In 3-level networks one can compute the exact reliability in polynomial time.
Constructive Criticism The introduction is the best part of this paper. -- FOCS Program Committee
IP formulation/LP relaxation s.t. • yik· zi8 i 2 R, k 2 S • xijk· yik8 i 2 R, j 2 D, k 2 S • åk 2 S, j 2 D xijk· Fizi8 i 2 R • åj 2 D xijk· Fi yik8 i 2 R, k 2 S • åi2 R xijk wijk¸ Wjk8 j 2 D, k 2 S • xijk2 {0,1}, yjk2 {0,1}, zi2 {0,1}
Phases of our solution • If we use straight LP rounding we get both log n blow up in cost and w.h.p. log n factor violation of the constraints • Relaxation followed by partial randomized rounding (round zi and yik) • Modified GAP rounding of the remaining fractional variables similar to Shmoys and Tardos
Words of Encouragement These are all standard techniques. -- FOCS Program Committee
S capacity F i Reflectors Capacity 1 Reflector, Sink k 0 pair with x = ij Capacity 1/2 Edges sorted by x values, flow of 1/2 to each box Capacity 1/2 T Modified GAP approximation
GAP approximation analysis • There exists an optimal flow with values only 0, ½ and 1 (Shmoys and Tardos). • We double this solution • We violate the fanout and capacity constraints by at most a factor of 2
Running time • Let |S|=# of streams • |R|=# of reflectors • |D|=# of (stream, sink) pairs • The algorithm running time is dominated by solving an LP on O(|S|.|R|.|D|) variables • Polynomial time.
Extensions Reflectors Entry Point UU Net Encoder Edge Server (Sink) BMM Net
Extension’s constraints • Color constraints where R=R1[ R2[… [ Rm (Ri is the set of reflectors on the ith ISP) • Here different colors represent different ISPs • There is no added value in serving to a fixed sink from two reflectors of the same color.
A B Flow problem with additional set constraints • Additional set capacity constraint • E.g. {AB, PQ} has capacity 3 • There is an LP/IP gap • E.g. Fractional flow is 3.5, best integral flow is 3 2 2 2 1 S T 2 2 P Q 2
Flow problem solution Theorem: Let A be a real valued r £ s matrix and y be an s-vector. Assume that in every column of A • the sum of all positive entries is at most t • the sum of all negative entries is at least –t Then we can round the solutionto Ay=b component wise up or down (say y’ is the rounded integral vector) in such a way that Ay’=b’ where b’i-bi<t • Because of the bounded depth in our case t · 7 • The running time is at most O(|R|3.|D|3)
Keys to High Course Evaluations • Absence of mathematical content • Attractiveness of male instructors • Expected grade in course • Conformity to traditional teaching methods
An Example (Thanks to graphviz)
Comparison Approx Solution (Cost = 62) IP Solution (Cost = 59)
IP Solver Open Solver Interface(coin-or.org) Solution LP Solver Randomized Rounding Cplex Xpress-MP Modified GAP (Max-Flow using Boost Graph Library[boost.org]) GLPK How? Use C++, of course! Multicast Network Configuration Data
Constraint Violations • Preliminary results… • Fanout constraints • Average violation: overloaded by ~25% • Weight constraints • Violated less than 50% of the time • On average, under-supplied by ~10%
LP Solver Randomized Rounding IP Solver on non-integral values Approxhack2 • Instead of Modified GAP, use IP solver • Separates effects of Randomized Rounding andModified GAP
Applied to Real-Word Data • Two-months of streaming logs • Fan-out constraints • Costs • Packet loss experiments