splitstream: high- bandwidth multicast in cooperative environments monica tudora

23
SplitStream: High- SplitStream: High- Bandwidth Multicast Bandwidth Multicast in Cooperative in Cooperative Environments Environments Monica Tudora Monica Tudora

Upload: charles-hall

Post on 16-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream: High-SplitStream: High-Bandwidth Multicast Bandwidth Multicast

in Cooperativein CooperativeEnvironmentsEnvironments

Monica TudoraMonica Tudora

Page 2: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

ContentsContents

► IntroductionIntroduction► SplitStream approachSplitStream approach► BackgroundBackground► SplitStream designSplitStream design► Experimental evaluationExperimental evaluation► ConclusionsConclusions

Page 3: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

IntroductionIntroduction

► in tree-based multicast systems, a relatively in tree-based multicast systems, a relatively small number of interior nodes carry the small number of interior nodes carry the load of forwarding multicast messages.load of forwarding multicast messages.

► SplitStream:SplitStream: enables efficient cooperative distribution of high-enables efficient cooperative distribution of high-

bandwidth content in a peer-to-peer system.bandwidth content in a peer-to-peer system. splits content into stripes and multicasts each splits content into stripes and multicasts each

stripe in a separate tree.stripe in a separate tree. peers join as many trees as there are stripes peers join as many trees as there are stripes

and specify an upper boundand specify an upper bound improved robustness to node failure and sudden improved robustness to node failure and sudden

node departuresnode departures

Page 4: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream approachSplitStream approach

► a participating node: leaf or interior a participating node: leaf or interior node.node.

► splitting the multicast stream into splitting the multicast stream into multiple stripesmultiple stripes

► use of separate multicast trees to use of separate multicast trees to distribute each stripedistribute each stripe

► participating peers can control their participating peers can control their inbound or outbound bandwidth inbound or outbound bandwidth requirements.requirements.

Page 5: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream approachSplitStream approach

Page 6: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream approachSplitStream approach

►Applications need to encode the content Applications need to encode the content such that:such that: each stripe requires approximately the same each stripe requires approximately the same

bandwidthbandwidth the content can be reconstructed from any the content can be reconstructed from any

subset of the stripes of sufficient size (ex: subset of the stripes of sufficient size (ex: media stream encoded using MDC, media stream encoded using MDC, multicasting of file data with erasure coding)multicasting of file data with erasure coding)

Control when to create and tear down a Control when to create and tear down a splitstream forestsplitstream forest

Page 7: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream approachSplitStream approach

► Notations:Notations: N – number of nodes, k – numbers of stripesN – number of nodes, k – numbers of stripes IIi i – desired indegree, C– desired indegree, Ci i – forwarding capacity– forwarding capacity S – source nodesS – source nodes

► Conditions:Conditions: 1 1 - - the sum of the desired indegrees cannot exceed the sum of the desired indegrees cannot exceed

the sum of the forwarding capacities: ∑Ithe sum of the forwarding capacities: ∑Iii <= ∑C <= ∑Cii 2 - 2 - Ci > Ii ⇒ Ii + Ti = k.Ci > Ii ⇒ Ii + Ti = k.

Page 8: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

BackgroundBackground

► implementation using Pastry and Scribe.implementation using Pastry and Scribe.► Pastry:Pastry:

scalable, self-organizing structured peer-to-scalable, self-organizing structured peer-to-peer overlay networkpeer overlay network

nodes and objects are asigned random nodes and objects are asigned random identifiers -> nodeIds and keys.identifiers -> nodeIds and keys.

routes the message to the node with the routes the message to the node with the nodeId that is numerically closest to the key.nodeId that is numerically closest to the key.

each node maintains a routing table and a leaf each node maintains a routing table and a leaf set.set.

Page 9: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

BackgroundBackground

► Scribe: application-level group communication

system built upon Pastry groupId chosen for each multicast tree the multicast tree is formed by the union

of the Pastry routes from each group member to root.

Page 10: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream designSplitStream design

►Building interior-node-disjoint trees: separate Scribe multicast tree for each

stripe nodeIds of all interior nodes share some

number of digits with the tree’s groupId condition is to choose groupIds for the

trees that all differ in the most significant digit

Page 11: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream designSplitStream design

Page 12: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream designSplitStream design

► Limiting node degree: inbound bandwidth is proportional to the

desired indegree Scribe has a built-in mechanism (called

“push-down”) to limit a node’s outdegree► Locating parents:

the node adopts the prospective child regardless of the outdegree limit

evaluates the new set of children and chooses one to reject

Page 13: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream designSplitStream design

Cryterias:► reject children in stripes whose stripeIds do

not share a prefix with the node’s nodeID► the child whose nodeId has the shortest prefix

match with that stripeId

Page 14: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream designSplitStream design

► Spare capacity group: the orphan node sends an anycast

message to the group members – nodes that have less children

in stripe trees than their forwarding capacity

conditions to take an orphan as a child:► it is not an ancestor► you receive the stripe needed by the child

Page 15: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

SplitStream designSplitStream design

Failure scenarios:► the spare capacity group is empty► if attaching the orphan to receive the stripe

from any of the members causes a cycle► no member of the spare capacity group

provides any of the desired stripes.

Page 16: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

►Experimental setup: Network simulation:

► network simulator► 3 network topologies: GATech, Mercator and

CorpNet.

SplitStream configuration: ► leaf set size with l = 16, number of stripes k

= 16► six different configurations of node degree

constraints: 16x16, 16x18, 16x32, 16xNB.

Page 17: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

SplitStream implementation: 3 optimisations

► Forest construction overhead: 2 metrics: node stress and link stress.

Page 18: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

Page 19: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

Link stress

Page 20: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

► Forest multicast performance comparison between SplitStream, IP

multicast and Scribe

Page 21: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

Page 22: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

EXPERIMENTAL EVALUATION

►Resilience to node failures: Catastrophic failures: 10000 nodes, 2500

fail

Page 23: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora

Conclusions

► balance forwarding load► tolerate faults► respect individual node bandwidth

constraints► small overhead of forest construction

and maintenanace► multicasts using forest do not load

nodes beyond their bandwidth constraints