designing overlay multicast networks for streaming jevan saks bruce maggs konstantin andreev adam...
Post on 21-Dec-2015
221 Views
Preview:
TRANSCRIPT
Designing Overlay Multicast Designing Overlay Multicast Networks for StreamingNetworks for Streaming
Jevan SaksJevan SaksBruce MaggsBruce Maggs
Konstantin AndreevKonstantin AndreevAdam MeyersonAdam Meyerson
Delivering Streaming MediaDelivering Streaming Media
Server bottlenecksServer bottlenecks• Points of failurePoints of failure• Can only serve about Can only serve about
50Mbps of streams50Mbps of streams Network bottlenecksNetwork bottlenecks
• Unpredictable topologyUnpredictable topology• Best-effort delivery = Best-effort delivery =
No guaranteesNo guarantees
Live StreamingLive Streaming
Edge Servers (Sinks)
1 2 3 41 2 3 4
11 X X 33 44
1 2 3 1 2 3 44X X X
11 22 3 43 4x
Entry Point
Reflectors
Encoder
11 22 3 43 4x
11 22 3 43 4x
ApproachApproach
Three-tier structureThree-tier structureS – Sources (aka Streams)
R - Reflectors
D - Sinks
IP ParametersIP Parameters
Success requirements (Success requirements ()) Failure probabilities (p)Failure probabilities (p) Cost on edges (c)Cost on edges (c) Cost on reflectors (r)Cost on reflectors (r) Fanout restrictions (F)Fanout restrictions (F)
Integer ProgramInteger Program
Indicator variables: Indicator variables: – – reflector reflector ii used used – – stream stream kk sent to sent to
reflector reflector ii – – stream stream kk sent to sent to
sink sink jj through through reflector reflector ii
IP Solver PackagesIP Solver Packages
ILOG Cplex (concert library)ILOG Cplex (concert library) DashOptimization Xpress-MPDashOptimization Xpress-MP GLPK (GNU Linear Programming Kit)GLPK (GNU Linear Programming Kit)
ApproximationApproximation
Why?Why? • IP is slow! IP is slow! • Topology is large and changes oftenTopology is large and changes often
How?How? • Randomized roundingRandomized rounding• Modified GAP AssignmentModified GAP Assignment
Cost violated by factor O(log n)Cost violated by factor O(log n) Fanout/weight constraints violated by factor of at Fanout/weight constraints violated by factor of at
most 4most 4
How?How?MulticastNetwork
ConfigurationData
Open Solver Interface(coin-or.org)
IP Solver
Randomized Rounding
LP Solver
Modified GAP(Max-Flow using
Boost Graph Library[boost.org])
Solution
Cplex
GLPK
Xpress-MP
Use C++, of course!
Timing Comparison (Log-plot)Timing Comparison (Log-plot)
0.001
0.01
0.1
1
10
100
1000
10000
cplex
cplex approx
glpk approx
Drop Page Fields Here
Average of Total Time
Num Constraints
Solver
Constraint ViolationsConstraint Violations
Preliminary results…Preliminary results… Fanout constraintsFanout constraints
• Average violation: overloaded by ~25%Average violation: overloaded by ~25% Weight constraintsWeight constraints
• Violated less than 50% of the timeViolated less than 50% of the time• On average, under-supplied by ~10%On average, under-supplied by ~10%
Cost (Objective) ComparisonCost (Objective) Comparison
0
100
200
300
400
500
600
700
cplex
cplex approx
cplex approxhack2
glpk approx
Drop Page Fields Here
Min of Objective
Network+NumConstraints
Solver
Approxhack2Approxhack2
Instead of Modified GAP, use IP solverInstead of Modified GAP, use IP solver Separates effects of Separates effects of
Randomized Rounding andRandomized Rounding andModified GAPModified GAP
Randomized Rounding
LP Solver
IP Solver onnon-integral
values
Cost (Objective) ComparisonCost (Objective) Comparison
0
100
200
300
400
500
600
700
cplex
cplex approx
cplex approxhack2
glpk approx
Drop Page Fields Here
Min of Objective
Network+NumConstraints
Solver
top related