designing overlay multicast networks for streaming jevan saks bruce maggs konstantin andreev adam...

19
Designing Overlay Designing Overlay Multicast Networks Multicast Networks for Streaming for Streaming Jevan Saks Jevan Saks Bruce Maggs Bruce Maggs Konstantin Andreev Konstantin Andreev Adam Meyerson Adam Meyerson

Post on 21-Dec-2015

221 views

Category:

Documents


0 download

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

ConsiderationsConsiderations

CostCost QualityQuality CapacityCapacity BandwidthBandwidth

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

ConstraintsConstraints

Minimize:Minimize:

Subject To:Subject To:

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)

An ExampleAn Example (Thanks to graphviz)

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

ComparisonComparisonIP Solution (Cost = 59) Approx Solution (Cost = 62)

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

FinallyFinally

Use real-world data from AkamaiUse real-world data from Akamai Does this improve cost and Does this improve cost and

performance in practice?performance in practice?