190 likes | 312 Views
Designing Overlay Multicast Networks for Streaming. Jevan Saks Bruce Maggs Konstantin Andreev Adam Meyerson. Delivering Streaming Media. Server bottlenecks Points of failure Can only serve about 50Mbps of streams Network bottlenecks Unpredictable topology
E N D
Designing Overlay Multicast Networks for Streaming Jevan Saks Bruce Maggs Konstantin Andreev Adam Meyerson
Delivering Streaming Media • Server bottlenecks • Points of failure • Can only serve about 50Mbps of streams • Network bottlenecks • Unpredictable topology • Best-effort delivery = No guarantees
1 X 34 1 2 3 4 x 123 4 X X X 1 2 3 4 x 123 4 x 123 4 Live Streaming Reflectors Entry Point Encoder Edge Servers (Sinks)
Approach • Three-tier structure S – Sources (aka Streams) R - Reflectors D - Sinks
Considerations • Cost • Quality • Capacity • Bandwidth
IP Parameters • Success requirements () • Failure probabilities (p) • Cost on edges (c) • Cost on reflectors (r) • Fanout restrictions (F)
Integer Program • Indicator variables: • – reflector i used • – stream k sent to reflector i • – stream k sent to sink j through reflector i
Constraints • Minimize: • Subject To:
IP Solver Packages • ILOG Cplex (concert library) • DashOptimization Xpress-MP • GLPK (GNU Linear Programming Kit)
An Example (Thanks to graphviz)
Approximation • Why? • IP is slow! • Topology is large and changes often • How? • Randomized rounding • Modified GAP Assignment • Cost violated by factor O(log n) • Fanout/weight constraints violated by factor of at most 4
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? Multicast Network Configuration Data Use C++, of course!
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
Finally • Use real-world data from Akamai • Does this improve cost and performance in practice?