designing overlay multicast networks for streaming

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

Upload: bruis

Post on 18-Jan-2016

39 views

Category:

Documents


4 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Designing Overlay Multicast Networks for Streaming

Designing Overlay Multicast Designing Overlay Multicast Networks for StreamingNetworks for Streaming

Jevan SaksJevan SaksBruce MaggsBruce Maggs

Konstantin AndreevKonstantin AndreevAdam MeyersonAdam Meyerson

Page 2: Designing Overlay Multicast Networks for Streaming

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

Page 3: Designing Overlay Multicast Networks for Streaming

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

Page 4: Designing Overlay Multicast Networks for Streaming

ApproachApproach

Three-tier structureThree-tier structureS – Sources (aka Streams)

R - Reflectors

D - Sinks

Page 5: Designing Overlay Multicast Networks for Streaming

ConsiderationsConsiderations

CostCost QualityQuality CapacityCapacity BandwidthBandwidth

Page 6: Designing Overlay Multicast Networks for Streaming

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)

Page 7: Designing Overlay Multicast Networks for Streaming

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

Page 8: Designing Overlay Multicast Networks for Streaming

ConstraintsConstraints

Minimize:Minimize:

Subject To:Subject To:

Page 9: Designing Overlay Multicast Networks for Streaming

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)

Page 10: Designing Overlay Multicast Networks for Streaming

An ExampleAn Example (Thanks to graphviz)

Page 11: Designing Overlay Multicast Networks for Streaming

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

Page 12: Designing Overlay Multicast Networks for Streaming

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

Page 13: Designing Overlay Multicast Networks for Streaming

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!

Page 14: Designing Overlay Multicast Networks for Streaming

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

Page 15: Designing Overlay Multicast Networks for Streaming

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%

Page 16: Designing Overlay Multicast Networks for Streaming

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

Page 17: Designing Overlay Multicast Networks for Streaming

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

Page 18: Designing Overlay Multicast Networks for Streaming

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

Page 19: Designing Overlay Multicast Networks for Streaming

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?