• No results found

SAAR: A Shared Control Plane for Overlay Multicast

N/A
N/A
Protected

Academic year: 2021

Share "SAAR: A Shared Control Plane for Overlay Multicast"

Copied!
53
0
0

Loading.... (view fulltext now)

Full text

(1)

SAAR: A Shared Control Plane SAAR: A Shared Control Plane

for Overlay Multicast for Overlay Multicast

Animesh

Animesh NandiNandi

Aditya

Aditya GangamGangam, Peter , Peter DruschelDruschel, T.S. Eugene Ng,, T.S. Eugene Ng, Ion

Ion StoicaStoica, , HuiHui Zhang, Bobby Zhang, Bobby BhattacharjeeBhattacharjee (MPI for Software Systems, Rice University, CMU,

(MPI for Software Systems, Rice University, CMU,

UC Berkeley, University of Maryland)

(2)

Overlay Multicast

Overlay Multicast

Endsystems cooperatively disseminate content

(3)

Applications Applications

Webcast special events

e.g. ESM, e.g. ESM, TMeshTMesh ……

P2P-Internet Television

(4)

Why another Overlay Multicast

Why another Overlay Multicast

paper?

paper?

Architectural insight:

Architectural insight:

- separate overlay, optimized for control - separate overlay, optimized for control

- shared among many data overlays - shared among many data overlays

- benefits single-tree, multi-tree, mesh - benefits single-tree, multi-tree, mesh

(5)

Data dissemination

Data dissemination

OC3 T1 T1 T1 T1 OC3

Overlay structure optimized for efficient data dissemination

U.S

Asia Multicast source

(6)

Control Mechanism Control Mechanism

Employs controlEmploys control mechanisms to mechanisms to build/repair build/repair overlay structure overlay structure A

(7)

ESM

ESM’ss Data/Control Data/Control

Data overlay optimized for latency/bandwidth Gossip to distribute membership info Probing to select parents

Summary: efficient data plane structure but Summary: efficient data plane structure but unscalableunscalable control control Does not scale to large groups and high membership churn

A C B E D {B,C} {C,E} {D} {D,B} Probe Probe

(8)

Idea: Decouple control/data into

Idea: Decouple control/data into

separate overlays

separate overlays

Dataplane optimized

for data dissemination Separate overlayprovides efficient control

(9)

Sharing control overlay Sharing control overlay

Shared overlay provides

efficient control

BBC CNN

Summary: Sharing reduces control overlay churn.

Channel switching does not affect control overlay

(10)

Neighbor Acquisition

Neighbor Acquisition

A

A A

single-tree multi-tree mesh

(11)

Anycast

Anycast Primitive for Neighbor Primitive for Neighbor Acquisition

Acquisition

anycast

anycast ( (groupIdgroupId gg, constraint , constraint pp, objective function , objective function oo))

(Amongst the members of (Amongst the members of gg satisfying satisfying pp, chooses the one, chooses the one that maximizes

that maximizes oo))

Summary: Anycast primitive used to build different overlays

(12)

Question: Can the control overlay Question: Can the control overlay efficiently implement this

efficiently implement this anycastanycast primitive ?

(13)

Idea: Use structured overlay

Idea: Use structured overlay

Data planes optimized for efficient data

dissemination

Shared structured overlay provides efficient

anycast service

Pastry key space

(14)

SAAR: Per-channel control tree SAAR: Per-channel control tree

Dataplane View Control plane view

Root

(Control-tree) channel membermember of other channel

Control tree’s structure is optimized for control and independent of data overlay structure.

(15)

Control tree formation Control tree formation

Tree structure formed efficiently Tree structure formed efficiently

Root (GID)

channel member member of other channel

(16)

SAAR: Aggregation SAAR: Aggregation

Control plane view

Root

(Control-tree)

channel member

member of other channel

3

0 0

State variable cap :=

#spare capacity slots 0 2 0

cap = 0

cap = 5

cap = 0

(17)

SAAR: Aggregation SAAR: Aggregation

Control plane view

Root

(Control-tree)

channel member

member of other channel

4 State variable dep :=

advertised tree depths 1

mindep = mindep = 1 mindep =mindep = 1 ∞ ∞ ∞ ∞

(18)

SAAR: Efficient search

SAAR: Efficient search

- spare capacity Anycast

request

Aggregation enables efficient Depth-First-Search of control tree

- no spare capacity ∑cap= 0 mindep = ∞ ∑cap= 5 mindep = 1 (cap=3 dep=4) (cap=2 dep=1)cap= 2 mindep = 1

(19)

Evaluation Evaluation   ModelnetModelnet   350 nodes350 nodes 

 heterogeneous forwarding bandwidthsheterogeneous forwarding bandwidths

 mean stay time of 5 minutes (exponential distribution)mean stay time of 5 minutes (exponential distribution)

 Metrics: channel switching delayMetrics: channel switching delay streaming quality

streaming quality

control overhead

(20)

SAAR enables low join delays SAAR enables low join delays

(21)

SAAR enables low join delays SAAR enables low join delays

ESM

Initial single-tree join when not in SAAR

(22)

SAAR enables low join delays SAAR enables low join delays

ESM

Multitree Singletree

Initial single-tree join when not in SAAR

(23)

SAAR enables low join delays SAAR enables low join delays

Mesh

ESM

Singletree Multitree

Initial single-tree join when not in SAAR

(24)

SAAR: good streaming quality SAAR: good streaming quality

ESM

Singletree Multitree

(25)

SAAR: low control overhead SAAR: low control overhead

Singletree

Multitree

ESM Mesh

(26)

SAAR supports complex overlays SAAR supports complex overlays

(27)

More results in the paper More results in the paper

 Flash crowd conditionsFlash crowd conditions 

 Higher churn (2 min mean, exp. dist)Higher churn (2 min mean, exp. dist) 

 Control churnControl churn 

(28)

Conclusions Conclusions

 Control efficiency is key to performance of overlayControl efficiency is key to performance of overlay multicast systems, especially tree-based systems.

multicast systems, especially tree-based systems. 

 AnycastAnycast based on structured overlays enables based on structured overlays enables

powerful, efficient control for tree-based systems.

powerful, efficient control for tree-based systems. 

 Fast channel switching can be achieved with tree-Fast channel switching can be achieved with tree-based overlay multicast systems.

based overlay multicast systems.

(29)

Backup Slides Backup Slides

(30)

Planetlab

(31)

Planetlab

(32)

Flash crowd: Join Delays Flash crowd: Join Delays

(33)

Flash crowd: Tree Depths Flash crowd: Tree Depths

(34)

eg

eg. Scribe. Scribes Control/Datas Control/Data

Scribe has efficient control but inefficient data paths

Scribe has efficient control but inefficient data paths

Pastry’s Key space 128 965 991 Root(GId=999) 128 128 924 subscribers Match prefix with GId Low bandwidth Prefix-based Routing path

(35)

SAAR

SAAR AnycastAnycast: Interior-node-disjoint: Interior-node-disjoint control trees per CEM

control trees per CEM 302 781 331 Root(Tree 1 gId=333) 127 380 597 604 617 - spare capacity - overloaded

Summary: SAAR provides uninterrupted control in the face of

Anycast requestor 858 881 Root(Tree 2 gId=888) 470

(36)

Enabling multi-tree data plane Enabling multi-tree data plane

 Attempts to build k interior-node disjoint stripe trees.Attempts to build k interior-node disjoint stripe trees. 

 Node anycastsNode anycasts to establish parents in each stripe, but joins only one to establish parents in each stripe, but joins only one

anycast

anycast group corresponding to its primary stripe. group corresponding to its primary stripe.

 Resource based primary stripe selection: groupAggregateRequestResource based primary stripe selection: groupAggregateRequest ( (groupIdgroupId,,

state-variable) state-variable)

 Same predicate and objective function as in single-tree for each stripe treeSame predicate and objective function as in single-tree for each stripe tree

anycasts anycasts

 SummarySummary : multi-tree policy expressed easily. : multi-tree policy expressed easily.

Data plane Control plane

(37)

Enabling block-based data plane Enabling block-based data plane

 Node Node anycastsanycasts for for indegreeindegree-neighbors and employs swarming-neighbors and employs swarming 

 GroupGroup’’s state variabless state variables – – ggcapacitycapacity, g, gloadload, g, glossloss, , g, , gbuffermapbuffermap, g, gcoordinatecoordinate,,

 PredicatePredicate: (load < capacity) & // not overloaded: (load < capacity) & // not overloaded

(loss < threshold) // low loss (loss < threshold) // low loss

 Objective functionObjective function::

cardinality(missingsetcardinality(missingset ΠΠ ggbuffermapbuffermap) // recover missing blocks) // recover missing blocks 1/g

1/gloss loss // establish a good mesh neighbor// establish a good mesh neighbor

Indegree neighbors - serve blocks to A Oudegree Neighbors -request blocks From A A with D= 2 1 0 1 011 buffermap

Data Plane Control Plane

(38)

Graphs from paper Graphs from paper

(39)

Planetlab

(40)

Planetlab

(41)

Multi-tree: Resource Balance Multi-tree: Resource Balance

(42)

Multi-tree: #stripes

(43)

Locality-awareness Locality-awareness

(44)

Load-awareness Load-awareness

(45)

Depth-Optimization Depth-Optimization

(46)

Single-tree: Join Delays Single-tree: Join Delays

(47)

Single-tree: Continuity Single-tree: Continuity

(48)

Single-tree: tree-depths Single-tree: tree-depths

(49)

Single-tree:

(50)

Multi-tree: Join delays Multi-tree: Join delays

(51)

Multi-tree: Streaming Quality Multi-tree: Streaming Quality

(52)

Mesh-based: Streaming Quality Mesh-based: Streaming Quality

(53)

Mesh-based: Path lengths Mesh-based: Path lengths

References

Related documents

The procedures can be summarized as follows: (i) download all encrypted keys (including the data key for the file and the set of control keys for the associated Boolean combination

Second, if control packets (TREE-.. Number of Data Packets Transmitted per Data Packet Delivered as a Function of Mobility Speed... CREATE, JOIN-ACK, etc.) are dropped, the tree is

Domain Name Server Connection Controller End Station Policy Server Call Controller Call Control Policy Control Connection Control Data Plane ARP DNS STP OSPF MPLS Network

Performance of the new model was compared against the trunk and validated against independent spatially explicit data for basal area, tree height, canopy structure, gross

y Tree optimizations Technologie-Zentrum Informatik Domain B Domain Hierarchies in BGMP Domain A Domain C R S Domain D allocated root domain for G Multicast data for group G

The formation control structure designed is independent of the robot capability to maintain trajectory while unaffected by terrain condition. AmigoBot mobile robots are

In order to get a minimum power control error in the CDMA overlay situations, an optimum downlink power allocation scheme is used, which works well for a wide range of signal

– Segment structure – Reliable data transfer – Flow control.. –