Presented by Tom Ternquist CS /28/10

Slides:



Advertisements
Similar presentations
Dynamic Replica Placement for Scalable Content Delivery Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy, EECS Department.
Advertisements

Pastry Peter Druschel, Rice University Antony Rowstron, Microsoft Research UK Some slides are borrowed from the original presentation by the authors.
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.
1 PASTRY Partially borrowed from Gabi Kliot ’ s presentation.
Scribe An application level multicast infrastructure Kasper Egdø and Morten Bjerre.
Computer Science 1 ShapeShifter: Scalable, Adaptive End-System Multicast John Byers, Jeffrey Considine, Nicholas Eskelinen, Stanislav Rost, Dmitriy Zavin.
SCAN: A Dynamic, Scalable, and Efficient Content Distribution Network Yan Chen, Randy H. Katz, John D. Kubiatowicz {yanchen, randy,
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
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,
SplitStream: High-Bandwidth Multicast in Cooperative Environments Marco Barreno Peer-to-peer systems 9/22/2003.
Pastry: Scalable, decentralized object location and routing for large-scale peer-to-peer systems Antony Rowstron and Peter Druschel Proc. of the 18th IFIP/ACM.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
SCRIBE: A large-scale and decentralized application-level multicast infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec and Antony Rowstron.
Scalable Adaptive Data Dissemination Under Heterogeneous Environment Yan Chen, John Kubiatowicz and Ben Zhao UC Berkeley.
Application Layer Multicast
CS 268: Project Suggestions Ion Stoica February 6, 2003.
CS 672 Paper Presentation Presented By Saif Iqbal “CarNet: A Scalable Ad Hoc Wireless Network System” Robert Morris, John Jannotti, Frans Kaashoek, Jinyang.
Application Layer Multicast for Earthquake Early Warning Systems Valentina Bonsi - April 22, 2008.
An Evaluation of Scalable Application-level Multicast Using Peer-to-peer Overlays Miguel Castro, Michael B. Jones, Anne-Marie Kermarrec, Antony Rowstron,
On-Demand Media Streaming Over the Internet Mohamed M. Hefeeda, Bharat K. Bhargava Presented by Sam Distributed Computing Systems, FTDCS Proceedings.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Communication Part IV Multicast Communication* *Referred to slides by Manhyung Han at Kyung Hee University and Hitesh Ballani at Cornell University.
Network Topologies.
1 Napster & Gnutella An Overview. 2 About Napster Distributed application allowing users to search and exchange MP3 files. Written by Shawn Fanning in.
Communication (II) Chapter 4
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
COCONET: Co-Operative Cache driven Overlay NETwork for p2p VoD streaming Abhishek Bhattacharya, Zhenyu Yang & Deng Pan.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
PIC: Practical Internet Coordinates for Distance Estimation Manuel Costa joint work with Miguel Castro, Ant Rowstron, Peter Key Microsoft Research Cambridge.
Peer-to-Peer Overlay Networks. Outline Overview of P2P overlay networks Applications of overlay networks Classification of overlay networks – Structured.
Multicast Presented by Hakim Weatherspoon Slides borrowed from Qi Huang 2009 and Tom Ternquist 2010.
“Intra-Network Routing Scheme using Mobile Agents” by Ajay L. Thakur.
Overcast: Reliable Multicasting with an Overlay Network CS294 Paul Burstein 9/15/2003.
Application-Layer Multicast -presented by William Wong.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
TOMA: A Viable Solution for Large- Scale Multicast Service Support Li Lao, Jun-Hong Cui, and Mario Gerla UCLA and University of Connecticut Networking.
Impact of Topology on Overlay Multicast Suat Mercan.
Overcast: Reliable Multicasting with an Overlay Network Paper authors: Jannotti, Gifford, Johnson, Kaashoek, O’Toole Jr. Slides by Chris Johnstone.
Adaptive Web Caching CS411 Dynamic Web-Based Systems Flying Pig Fei Teng/Long Zhao/Pallavi Shinde Computer Science Department.
2007/03/26OPLAB, NTUIM1 A Proactive Tree Recovery Mechanism for Resilient Overlay Network Networking, IEEE/ACM Transactions on Volume 15, Issue 1, Feb.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
A Membership Management Protocol for Mobile P2P Networks Mohamed Karim SBAI, Emna SALHI, Chadi BARAKAT.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
Application-Level Multicast Routing Michael Siegenthaler CS 614 – Cornell University November 2, 2006 A few slides are borrowed from Swati Agarwal, CS.
Peer-to-Peer Result Dissemination in High-Volume Data Filtering Shariq Rizvi and Paul Burstein CS 294-4: Peer-to-Peer Systems.
Peer to Peer Network Design Discovery and Routing algorithms
CS 6401 Overlay Networks Outline Overlay networks overview Routing overlays Resilient Overlay Networks Content Distribution Networks.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony I.T.
Inside the New Coolstreaming: Principles, Measurements and Performance Implications Bo Li, Susu Xie, Yang Qu, Gabriel Y. Keung, Chuang Lin, Jiangchuan.
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.
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
Peer-to-Peer Networks 05 Pastry Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Fabián E. Bustamante, Fall 2005 A brief introduction to Pastry Based on: A. Rowstron and P. Druschel, Pastry: Scalable, decentralized object location and.
MZR: A Multicast Protocol based on Zone Routing
COS 461: Computer Networks
TDK - Team Distributed Koders Distributed Systems I
COS 461: Computer Networks
Design and Implementation of OverLay Multicast Tree Protocol
Presentation transcript:

Presented by Tom Ternquist CS 6410 10/28/10 MultiCast Presented by Tom Ternquist CS 6410 10/28/10 Greeting Talking about multicast today

Network Communication Unicast One to one Broadcast One to many (everyone) Multicast One to many (groups) Anycast One to one of many e.g. downloading file from webserver e.g. radio transmission e.g. streaming video, IRC Network communication is the center of our universe Go through an example of each Today we will be focusing on multicast e.g. server selection Images courtesy of Wikipedia

Network Communication Unicast One to one Broadcast One to many (everyone) Multicast One to many (groups) Anycast One to one of many e.g. downloading file from webserver e.g. radio transmission e.g. streaming video, IRC e.g. server selection Images courtesy of Wikipedia

Multicast Two Challenges Can’t specify individual IP addresses Identifying the receivers How to address packets that are sent to receivers Can’t specify individual IP addresses Obvious scaling problem Solution - Address Indirection Multicast Groups Remaining Challenges Establishing multicast groups and managing membership How to route messages to recipients within multicast groups Different from broadcast Sending to groups Single-source or potential multi-source Need to be able to route efficiently to without keeping track of everyone’s IP Using routing protocols from DHT talk

Multicast IP Multicast Network Overlay Multicast Pros: Efficient Cons: Unstable, can send more than capacity; not widely deployed Network Overlay Multicast Pros: Can only send what you’re capable of; can use it anywhere Cons: Not as efficient as IP Multicast IP Multicast As name would suggest, implemented at the IP layer Uses Internet Group Management Protocol (IGMP) for group management Protocol-Independent Multicast (PIM) is the predominant multicast routing protocol for the Internet Problem - not fully deployed across all networks uniformly Can’t rely on protocol for widespread usage Hence the use of application-layer multicast

Multicast IP Multicast Network Overlay Multicast Pros: Efficient Cons: Unstable, can send more than capacity; not widely deployed Network Overlay Multicast Pros: Can only send what you’re capable of; can use it anywhere Cons: Not as efficient as IP Multicast

Overlay Network Incrementally Deployable Adaptable Robust Customizable The Good The Bad Incrementally Deployable Adaptable Robust Customizable Standard Management Complexity The Real World Inefficiency Information Loss Here are some more pros and cons of app-level designs From Overcast paper Incrementally Deployable No changes to existing internet infrastructure Adaptable Optimize for app needs – eg latency vs bandwidth Robust Greater number of routes Customizable Can run on any equipment that makes sense Standard Can use common protocols like TCP Management Complexity Manager far removed from machines being managed The real world IP does not provide universal connectivity due to firewalls and NATs Inefficiency Cannot be as efficient as code in every router Information loss Need to deduce network topology

Types of Application-Level Multicast Single-Source Multicast Peer-to-Peer Multicast Trusted servers provide infrastructure for distribution Manual infrastructure setup Depends on cooperative clients Flexible, distributed infrastructure Each paper we’ll looking at has a different target Overcast focuses single-source multicast SplitStream is in a P2P environment

Overcast: Reliable Multicasting with an Overlay Network

Authors John Jannotti David Gifford Kirk Johnson Frans Kaashoek Assistant Professor at Brown David Gifford Computational Genomics at MIT Kirk Johnson Frans Kaashoek Professor at MIT Founded SightPath Inc, acquired by Cisco James O’Toole Student of Kaashoek MIT PhD High school dropout

Motivation and Goals Deliver bandwidth-intensive content on demand How do we scale to support large numbers of clients for long-running content? Applications On demand high-quality video streams Full-fidelity content

Approach Application-level multicast using an overlay network Distribution trees that maximize each node’s bandwidth and efficiently utilize network substrate topology Global status at root that allows quick client joining while still scalable Scalability and efficiency approaching IP Multicast

Design – Overview Tree Building Maintaining Node Status Reliability Dissemination

Bandwidth Optimization – Tree Building Protocol New node contacts root of Overcast group, root set as current Tries to get as far away from root as possible without sacrificing bandwidth

Bandwidth Optimization – Tree Building Protocol New node contacts root of Overcast group, root set as current Tries to get as far away from root as possible without sacrificing bandwidth 100 95 Maximize bandwidth to the root for all nodes Leads to “deep” trees Measure the download time of 10Kbytes When bandwidth is within 10% for 2 potential current nodes, traceroute is used to find the lesser number of hops Periodic reevaluation On failure to contact parent, children will reconnect through grandparent

Bandwidth Optimization – Tree Building Protocol New node contacts root of Overcast group, root set as current Tries to get as far away from root as possible without sacrificing bandwidth 95 5 5

Bandwidth Optimization – Tree Building Protocol New node contacts root of Overcast group, root set as current Tries to get as far away from root as possible without sacrificing bandwidth

Maintaining Node Status – Up/Down Protocol Keeps track of which nodes are currently up and which are down Relies on periodic check ins with node’s parent. Check in notifications are propagated up the tree to the root. “Death certificates” “Birth certificates” Changes to reporting node’s “extra information” Certificates/changes from node’s children Designed to allow web clients to join a group quickly by having overcast node status up to date

Maintaining Node Status – Up/Down Protocol Potential race condition when node chooses a new parent Death certificate from former parent Birth certificate from new parent Birth certificate arrives just prior to death certificate.

Maintaining Node Status – Up/Down Protocol Potential race condition when node chooses a new parent Death certificate from former parent Birth certificate from new parent Birth certificate arrives just prior to death certificate.

Maintaining Node Status – Up/Down Protocol Potential race condition when node chooses a new parent Death certificate from former parent Birth certificate from new parent Birth certificate arrives just prior to death certificate. Birth

Maintaining Node Status – Up/Down Protocol Potential race condition when node chooses a new parent Death certificate from former parent Birth certificate from new parent Birth certificate arrives just prior to death certificate. Birth Death

Maintaining Node Status – Up/Down Protocol Solution: Nodes maintain sequence number for parent changes. Birth Id: 6 Seq: 1 Death Id: 6 Seq:0 Optimization

Reliability – Root Replication Potential for overload and reliability problems Replicated roots used in round-robin fashion Fault tolerance thorough linear configuration at top of hierarchy

Dissemination – “Overcasting” Support for HTTP Clients Data moves along distribution tree using TCP streams Failures during overcasting result in the distribution tree being rebuilt Distribution paused while rebuilding is in process Designed around assumption that application level buffers will mask most failures

Evaluation – Goals How well does Overcast utilize bandwidth? How does Overcast perform relative to IP Multicast? How resilient is Overcast to failures?

Evaluation – Methodology Evaluated using simulation because real-world deployments too small Overlay network simulated with constant number of network nodes with increasing numbers of Overcast nodes Network topologies generated from Georgia Tech Internetwork Models Five different 600 node graphs

Evaluation – Bandwidth Utilization Testing the efficiency of Overcast Simulation artifact Backbone routers turned on 1st in 600 node case Put at top of tree Backbone setup has all its nodes internal to transit domains (45Mbit/s) Once all transit nodes are backbone nodes, the remaining are randomly chosen Should be an indicator of performance compared to IP Multicast Leads to next question, costs associated with performance

Evaluation – Efficiency Network Load Number of times a particular piece of data must traverse a network link to reach all Overcast nodes IP Multicast takes one less than number of nodes Ratio of Overcast network load to IP Multicast load Isn’t incredibly efficient until we get > 100 nodes Authors claim that their lower bound for IP Multicast is optimistic

Evaluation – Resiliency Measure convergence time using “round time” as fundamental unit Authors expect round time to be approximately 1-2 seconds Uses backbone approach With 1 node failing, this could disturb distribution 10-20 seconds with 200 nodes using their “estimate” of round time On upper end the downtime could be > 1 min with 5 or more nodes failing according to their estimates

Discussion and Thoughts Deployable Infrastructure requirements Acceptable fault tolerance? Rebuild time Delays due to polling acceptable?

SplitStream: High-Bandwidth Multicast in Cooperative Environments

Authors Miguel Castro Peter Druschel Anne-Marie Kermarrec Atul Singh Microsoft Research Pastry, Scribe Peter Druschel Rice University Anne-Marie Kermarrec Atul Singh Student of Druschel NEC Research

Motivation Conventional tree-based multicast not well matched to a cooperative environment Only a relatively small number of interior nodes carry the burden of most multicast messages Applications Peer exchanging resources in cooperative in environment Decentralized, generic infrastructure

Approach Striping content across a forest of interior-node-disjoint multicast trees peers contribute only as much forwarding bandwidth as they receive Accommodate different bandwidth capacities Focus on low overhead for maintenance

Routing using Pastry Each member is given a unique nodeId and each multicast group is given a unique key Nodes maintain a routing table and a leaf set Prefix routing Proximity-aware Leaf-sets are the set of neighboring nodes

Multicast and Group Membership with Scribe Scribe is an application-level multicast infrastructure Built upon Pastry’s peer-to-peer routing substrate Group management Multicast tree creation Joins Pastry routes of each group member to common rendezvous point (groupID)

Design – Stripes and Forest Construction Content is divided into k stripes Each stripe is given its own Scribe multicast tree Pastry provides prefix routing to ensure that each node is an interior node in one tree. Inbound constraints met, need addition mechanism for outbound

Design – “Push-down” Scribe’s “push-down” process involves recursively pushing the prospective child down to children. Modified “push-down” Prospective child always admitted, Looks to reject a child whose stripeId do not share prefix (or shortest match) with local node’s nodeId 001* 0800 080* 089* 08B* 081* 9* 1800 Node 001* requests to join stripe 0800

Design – “Push-down” Scribe’s “push-down” process involves recursively pushing the prospective child down to children. Modified “push-down” Prospective child always admitted, Looks to reject a child whose stripeId do not share prefix (or shortest match) with local node’s nodeId 001* 0800 080* 089* 08B* 081* 9* orphan on 1800 Node 080* takes 001* as a child and drop 9*

Design – “Push-down” Scribe’s “push-down” process involves recursively pushing the prospective child down to children. Modified “push-down” Prospective child always admitted, Looks to reject a child whose stripeId do not share prefix (or shortest match) with local node’s nodeId 001* 0800 080* 089* 08B* 081*

Design – “Push-down” Scribe’s “push-down” process involves recursively pushing the prospective child down to children. Modified “push-down” Prospective child always admitted Looks to reject a child whose stripeId do not share prefix (or shortest match) with local node’s nodeId 001* 0800 080* 089* 08B* 081* 0800 Node 085* requests to join stripe 0800 085*

Design – “Push-down” Scribe’s “push-down” process involves recursively pushing the prospective child down to children. Modified “push-down” Prospective child always admitted, Looks to reject a child whose stripeId do not share prefix (or shortest match) with local node’s nodeId 001* 0800 080* 089* 08B* 081* Node 080* takes 085* as a child and drops 001*, since it has shorter prefix match Orphan on 0800 085*

Design – Spare Capacity Group Used when an orphaned node can’t locate a parent Nodes have spare forwarding capacity Checks for cycles

Design – Correctness Argue that forests can be constructed with high probability given the sufficient condition for feasibility (on right)

Evaluation – Goals What is the overhead of maintaining the forest? How well does its multicast perform compared to IP and Scribe? How resilient is SplitStream to failures?

Evaluation – Experimental Setup Network Simulation Packet level, discrete event simulator Network Topologies GATech Transit-stub topology 5050 hierarchically arranged routers Mercator Topology model based on measurements of Internet using Mercator System 102,639 routers CorpNet Generated using measurements from Microsoft corporate network 298 routers

Evaluation – Forest Construction Overhead Efficiency metrics Node stress Link stress Point (x,y) indicates that a fraction y of all nodes have stress <= x

Evaluation – Multicast Performance Compared performance to Scribe and IP Multicast

Evaluation – Resilience to Node Failures Tested performance under catastrophic failure Failed 2,500 of 10,000 nodes 10 seconds into simulation

Discussion Practical/Deployable? Compare to Overcast Complexity of mechanism Is it safe to assume there is enough bandwidth to carry each stripe? Will all clients be cooperative and trusting? What happens with misbehaving clients? Does SplitStream actually deliver on its promises?