splitstream: high- bandwidth multicast in cooperative environments monica tudora
TRANSCRIPT
SplitStream: High-SplitStream: High-Bandwidth Multicast Bandwidth Multicast
in Cooperativein CooperativeEnvironmentsEnvironments
Monica TudoraMonica Tudora
ContentsContents
► IntroductionIntroduction► SplitStream approachSplitStream approach► BackgroundBackground► SplitStream designSplitStream design► Experimental evaluationExperimental evaluation► ConclusionsConclusions
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
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.
SplitStream approachSplitStream approach
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
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.
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.
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.
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
SplitStream designSplitStream design
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
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
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
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.
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.
EXPERIMENTAL EVALUATION
SplitStream implementation: 3 optimisations
► Forest construction overhead: 2 metrics: node stress and link stress.
EXPERIMENTAL EVALUATION
EXPERIMENTAL EVALUATION
Link stress
EXPERIMENTAL EVALUATION
► Forest multicast performance comparison between SplitStream, IP
multicast and Scribe
EXPERIMENTAL EVALUATION
EXPERIMENTAL EVALUATION
►Resilience to node failures: Catastrophic failures: 10000 nodes, 2500
fail
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