splitstream: high- bandwidth multicast in cooperative environments monica tudora
TRANSCRIPT
![Page 1: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/1.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/2.jpg)
ContentsContents
► IntroductionIntroduction► SplitStream approachSplitStream approach► BackgroundBackground► SplitStream designSplitStream design► Experimental evaluationExperimental evaluation► ConclusionsConclusions
![Page 3: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/3.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/4.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/5.jpg)
SplitStream approachSplitStream approach
![Page 6: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/6.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/7.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/8.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/9.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/10.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/11.jpg)
SplitStream designSplitStream design
![Page 12: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/12.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/13.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/14.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/15.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/16.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/17.jpg)
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](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/18.jpg)
EXPERIMENTAL EVALUATION
![Page 19: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/19.jpg)
EXPERIMENTAL EVALUATION
Link stress
![Page 20: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/20.jpg)
EXPERIMENTAL EVALUATION
► Forest multicast performance comparison between SplitStream, IP
multicast and Scribe
![Page 21: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/21.jpg)
EXPERIMENTAL EVALUATION
![Page 22: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/22.jpg)
EXPERIMENTAL EVALUATION
►Resilience to node failures: Catastrophic failures: 10000 nodes, 2500
fail
![Page 23: SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora](https://reader036.vdocument.in/reader036/viewer/2022062515/56649cda5503460f949a3fa9/html5/thumbnails/23.jpg)
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