SplitStream: High-Bandwidth Multicast in Cooperative Environments Marco Barreno Peer-to-peer systems 9/22/2003.

Slides:



Advertisements
Similar presentations
CAN 1.Distributed Hash Tables a)DHT recap b)Uses c)Example – CAN.
Advertisements

Chapter 4: Trees Part II - AVL Tree
Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility Antony Rowstron, Peter Druschel Presented by: Cristian Borcea.
X stream Project proposal. Project goals: Students Students: Academic Supervisor Academic Supervisor: Advisors: Developing and Implementing a large scale.
TDK - Team Distributed Koders Distributed Systems I Team Report II 1/24/07 Team Members: Kumar Keswani John Kaeuper Jason Winnebeck Fairness in P2P Streaming.
SplitStream by Mikkel Hesselager Blanné Erik K. Aarslew-Jensen.
SplitStream: High- Bandwidth Multicast in Cooperative Environments Monica Tudora.
SCRIBE A large-scale and decentralized application-level multicast infrastructure.
TDK - Team Distributed Koders Distributed Systems I Team Report III 2/7/07 Team Members: Kumar Keswani John Kaeuper Jason Winnebeck Fairness in P2P Streaming.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
Scribe An application level multicast infrastructure Kasper Egdø and Morten Bjerre.
SASH Spatial Approximation Sample Hierarchy
Presented by Tom Ternquist CS /28/10
Qi Huang CS FA 10/29/09. Basic idea: same data needs to reach a set of multiple receivers Application: What is multicast?
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
Data Structures and Algorithms1 B-Trees with Minimum=1 2-3 Trees.
ZIGZAG A Peer-to-Peer Architecture for Media Streaming By Duc A. Tran, Kien A. Hua and Tai T. Do Appear on “Journal On Selected Areas in Communications,
A New Approach for the Construction of ALM Trees using Layered Coding Yohei Okada, Masato Oguro, Jiro Katto Sakae Okubo International Conference on Autonomic.
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
P2PCAST A Peer-to-Peer Multi-Cast Scheme for Streaming Data
SCRIBE: A large-scale and decentralized application-level multicast infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec and Antony Rowstron.
B + -Trees (Part 1) Lecture 20 COMP171 Fall 2006.
B + -Trees (Part 1). Motivation AVL tree with N nodes is an excellent data structure for searching, indexing, etc. –The Big-Oh analysis shows most operations.
Chunkyspread: Multi-tree Unstructured Peer to Peer Multicast Vidhyashankar Venkataraman (Vidhya) Paul Francis (Cornell University) John Calandrino (University.
Application Layer Multicast for Earthquake Early Warning Systems Valentina Bonsi - April 22, 2008.
B-Trees. CSM B-Trees 2 Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if we have so.
An Evaluation of Scalable Application-level Multicast Using Peer-to-peer Overlays Miguel Castro, Michael B. Jones, Anne-Marie Kermarrec, Antony Rowstron,
P2P Course, Structured systems 1 Introduction (26/10/05)
Project Mimir A Distributed Filesystem Uses Rateless Erasure Codes for Reliability Uses Pastry’s Multicast System Scribe for Resource discovery and Utilization.
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
B + -Trees (Part 2) COMP171. Slide 2 Review: B+ Tree of order M and of leaf size L n The root is either a leaf or 2 to M children n Each (internal) node.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 24 – P2P Streaming Klara Nahrstedt Ramsés Morales.
1 B-Trees Section AVL (Adelson-Velskii and Landis) Trees AVL tree is binary search tree with balance condition –To ensure depth of the tree is.
ICS 220 – Data Structures and Algorithms Week 7 Dr. Ken Cosh.
ALGORITHMS FOR ISNE DR. KENNETH COSH WEEK 6.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
1 SD-Rtree: A Scalable Distributed Rtree Witold Litwin & Cédric du Mouza & Philippe Rigaux.
Multicast Presented by Hakim Weatherspoon Slides borrowed from Qi Huang 2009 and Tom Ternquist 2010.
Fair Layered Coding Streaming Jaime García-Reinoso  Iván Vidal  Francisco Valera University Carlos III of Madrid Alex Bikfalvi IMDEA Networks.
DHT-based Multicast. Motivation 1.How does it perform in the presence of heterogeneity? –DHTs are good at balancing load –However, resources are usually.
B-Trees. Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if we have so much data that it.
B-Trees. CSM B-Trees 2 Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if we have so.
Peer to Peer Network Design Discovery and Routing algorithms
B-TREE. Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if we have so much data that it won’t.
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony I.T.
1 Binary Search Trees  Average case and worst case Big O for –insertion –deletion –access  Balance is important. Unbalanced trees give worse than log.
1 FairOM: Enforcing Proportional Contributions among Peers in Internet-Scale Distributed Systems Yijun Lu †, Hong Jiang †, and Dan Feng * † University.
Incentives-Compatible P2P Multicast Tsuen-Wan “Jonny” Ngan, Dan S.Wallach, Peter Druschel Presenter: Jianming Zhou.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
B-Trees B-Trees.
B-Trees B-Trees.
Controlling the Cost of Reliability in Peer-to-Peer Overlays
Backtracking And Branch And Bound
COS 461: Computer Networks
(edited by Nadia Al-Ghreimil)
PROSE CS 218 Fall 2017.
Data Structures and Algorithms
TDK - Team Distributed Koders Distributed Systems I
Multi-Way Search Trees
Object Location Problem: Find a close copy of an object in a large network Solution should: Find object if it exists Find a close copy of the object (no.
CSIT 402 Data Structures II With thanks to TK Prasad
COMP171 B+-Trees (Part 2).
(edited by Nadia Al-Ghreimil)
COS 461: Computer Networks
COMP171 B+-Trees (Part 2).
B-Trees.
Heaps & Multi-way Search Trees
Presentation transcript:

SplitStream: High-Bandwidth Multicast in Cooperative Environments Marco Barreno Peer-to-peer systems 9/22/2003

Background Tree-based multicast High demand on few internal nodes Cooperative environments Peers contribute resources We don't assume dedicated infrastructure Different peers may have different limitations

Goals of SplitStream Balance load over peers Accommodate different limitations Each node has a desired indegree and a forwarding capacity (max outdegree) Be robust to failures

The SplitStream approach Split data into stripes, each over its own tree Each node is internal to only one tree Built on Pastry and Scribe Recall that Pastry uses prefix routing

Scribe background Built on top of Pastry Any Scribe node may create a group Other nodes may join group or send multicast Node with nodeId numerically closest to groupId is the rendezvous point Root of multicast tree for the group Joins handled locally But it's only a single tree

Stripes SplitStream divides data into stripes Each stripe uses one Scribe multicast tree Prefix routing ensures property that each node is internal to only one tree Inbound bandwidth: can achieve desired indegree while this property holds Outbound bandwidth: this is harder—we'll have to look at the node join algorithm to see how this works

Respecting forwarding capacity The tree structure described may not respect maximum capacities Scribe's push-down fails to resolve the problem because a leaf node in one tree may have children in another tree

Compare this to Overcast Overcast also creates an overlay to spread multicast work around, but... Overcast is single-source, while SplitStream is multi- source Overcast uses a single tree, while SplitStream uses multiple trees Overcast is designed to maximize bandwidth between root and leaves, while SplitStream is designed to spread load evenly to all nodes (including leaves)

Parent location algorithm 1 Node adopts prospective child 2 If too many children, choose one to reject: i. First, look for one in stripe without shared prefix ii. Otherwise, select node with shortest prefix match 3 Orphan locates new parent in up to two steps: i. Tries former siblings with stripe prefix match I. Adopts or rejects using same criteria; continue push-down ii. Use the spare capacity group

The spare capacity group If orphan hasn't found parent yet, anycasts to spare capacity group Group contains all SplitStream nodes with fewer children than their forwarding capacity Anycast returns nearby node, which starts a DFS of the spare capacity group tree, sending first to a child...

Spare capacity group (cont.) At each node in the search: If node has no children left to search, check whether it receives a stripe the orphan seeks If so, verifies that the orphan is not an ancestor (which would create a cycle) If both tests succeed, the node adopts the orphan May leave spare capacity group If either test fails, back up to parent (more DFS...)

A spare capacity example

Consequences Parent is likely to be physically near orphan due to locality of Pastry and Scribe However, it is possible for the parent already to be an internal node for another stripe If this parent fails it will bring down two stripes Anycast can still fail Adding the orphan may cause a cycle (fixable) No node with spare capacity provides stripe sought Declare failure and notify the application

Correctness and complexity Big assumptions: All nodes join at the same time and communication is reliable Nodes do not leave the system either voluntarily or due to failures Splitstream can deal with violations of either, but problems may arise that prevent the forest from being constructed Simulation shows this isn't problematic in practice

Correctness and complexity (2) A fairly lengthy analysis reveals this rough upper bound on the probability that the algorithm fails to build a feasible forest: But when the desired indegree of all nodes equals the total number of stripes, the algorithm never fails

Correctness and complexity (3) Expected state maintained by each node is O(log|N|) Expected number of messages to build forest is O(|N|log|N|) if trees are well balanced and O(|N| 2 ) in the worst case Trees should be well balanced if each node forwards its own stripe to two other nodes

Experiments

Experiments (2)

Experiments (3)

Experiments (4)

Conclusions So what are the major points? =)