Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 22 Network Layer (Broadcast and Multicast) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Advertisements

Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
Epidemic Techniques Algorithms and Implementations.
Gossip Algorithms and Implementing a Cluster/Grid Information service MsSys Course Amar Lior and Barak Amnon.
Feb 7, 2001CSCI {4,6}900: Ubiquitous Computing1 Announcements.
Lecture 7 Data distribution Epidemic protocols. EECE 411: Design of Distributed Software Applications Epidemic algorithms: Basic Idea Idea Update operations.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Gossip Scheduling for Periodic Streams in Ad-hoc WSNs Ercan Ucan, Nathanael Thompson, Indranil Gupta Department of Computer Science University of Illinois.
Unstructured overlays: construction, optimization, applications Anne-Marie Kermarrec Joint work with Laurent Massoulié and Ayalvadi Ganesh.
1 Complexity of Network Synchronization Raeda Naamnieh.
Scribe: A Large-Scale and Decentralized Application-Level Multicast Infrastructure Miguel Castro, Peter Druschel, Anne-Marie Kermarrec, and Antony L. T.
CS 582 / CMPE 481 Distributed Systems
Computer Science Lecture 16, page 1 CS677: Distributed OS Last Class: Web Caching Use web caching as an illustrative example Distribution protocols –Invalidate.
Network Layer4-1 Spanning trees r Suppose you have a connected undirected graph m Connected: every node is reachable from every other node m Undirected:
CS 582 / CMPE 481 Distributed Systems
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Teknik Routing Pertemuan 20 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
1 A Distributed Delay-Constrained Dynamic Multicast Routing Algorithm Quan Sun and Horst Langendorfer Telecommunication Systems Journal, vol.11, p.47~58,
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
Anonymous Gossip: Improving Multicast Reliability in Mobile Ad-Hoc Networks Ranveer Chandra (joint work with Venugopalan Ramasubramanian and Ken Birman)
Epidemic Techniques Chiu Wah So (Kelvin). Database Replication Why do we replicate database? – Low latency – High availability To achieve strong (sequential)
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Composition Model and its code. bound:=bound+1.
 Structured peer to peer overlay networks are resilient – but not secure.  Even a small fraction of malicious nodes may result in failure of correct.
Cache Updates in a Peer-to-Peer Network of Mobile Agents Elias Leontiadis Vassilios V. Dimakopoulos Evaggelia Pitoura Department of Computer Science University.
The Zone Routing Protocol (ZRP)
Epidemic spreading in complex networks: from populations to the Internet Maziar Nekovee, BT Research Y. Moreno, A. Paceco (U. Zaragoza) A. Vespignani (LPT-
Epidemic Algorithms for replicated Database maintenance Alan Demers et al Xerox Palo Alto Research Center, PODC 87 Presented by: Harshit Dokania.
Communication (II) Chapter 4
1 6.4 Distribution Protocols Different ways of propagating/distributing updates to replicas, independent of the consistency model. First design issue.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
1 CS 4396 Computer Networks Lab LAN Switching and Bridges.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 6 Synchronization.
Network Layer introduction 4.2 virtual circuit and datagram networks 4.3 what’s inside a router 4.4 IP: Internet Protocol  datagram format  IPv4.
ON DESIGING END-USER MULTICAST FOR MULTIPLE VIDEO SOURCES Y.Nakamura, H.Yamaguchi, A.Hiromori, K.Yasumoto †, T.Higashino and K.Taniguchi Osaka University.
WAN technologies and routing Packet switches and store and forward Hierarchical addresses, routing and routing tables Routing table computation Example.
Overcast: Reliable Multicasting with an Overlay Network CS294 Paul Burstein 9/15/2003.
1 CS 6823 ASU Message-Queuing Model The underlying system takes care of fragmenting and assembling large messages Put: nonblocking call Get:
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
Higashino Lab. Maximizing User Gain in Multi-flow Multicast Streaming on Overlay Networks Y.Nakamura, H.Yamaguchi and T.Higashino Graduate School of Information.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Lecture 7 Data distribution Multicast Epidemic protocols.
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
Data Collection and Dissemination. Learning Objectives Understand Trickle – an data dissemination protocol for WSNs Understand data collection protocols.
2007/1/15http:// Lightweight Probabilistic Broadcast M2 Tatsuya Shirai M1 Dai Saito.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
 Communication Distributed Systems IT332. Outline  Fundamentals  Layered network communication protocols  Types of communication  Remote Procedure.
1 Gossip-Based Ad Hoc Routing Zygmunt J. Haas, Joseph Halpern, LiLi Cornell University Presented By Charuka Silva.
Distributed and hierarchical deadlock detection, deadlock resolution
Self-stabilizing energy-efficient multicast for MANETs.
A Bandwidth Scheduling Algorithm Based on Minimum Interference Traffic in Mesh Mode Xu-Yajing, Li-ZhiTao, Zhong-XiuFang and Xu-HuiMin International Conference.
Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable.
Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle.
1 Chapter 11 Global Properties (Distributed Termination)
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 6: Synchronyzation 3/5/20161 Distributed Systems - COMP 655.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Fault Tolerance (2). Topics r Reliable Group Communication.
Delay-Tolerant Networks (DTNs)
The consensus problem in distributed systems
MZR: A Multicast Protocol based on Zone Routing
Gossip-based Data Dissemination
湖南大学-信息科学与工程学院-计算机与科学系
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.
Replica Placement Model: We consider objects (and don’t worry whether they contain just data or code, or both) Distinguish different processes: A process.
Last Class: Web Caching
Optional Read Slides: Network Multicast
Presentation transcript:

Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source sends a message to a group – The message then is delivered to all members of the group Example applications: video conferencing, multiplayer games, update of replicated data We will study two multicast approaches – Application-level multicasting – Epidemic algorithms 1

Application-Level Multicasting In application-level multicast, nodes (i.e. application processes) are organized into an overlay network and multicast messages are sent along multicast trees created on the overlay network – Sender is the root of the tree – The tree spans all the receivers In network-level multicast, routers maintain multicast trees created on the physical network and forward multicast messages along the trees A connection between two nodes in the overlay network may cross several physical links  routing messages within the overlay may not be optimal in comparison to network- level multicast 2

3 10 When A sends a multicast message to B, C, and D using a tree in the overlay network (black), cost = cost(A-B) + cost(B-D)+cost(D-C)=9+24+7=40. When A sends a multicast message to B, C, and D using a tree in the physical network (red), cost = =26

Multicast Tree Construction in Chord Let S be the initiator of a multicast session S generates a (randomly chosen) multicast identifier mid, then looks up succ(mid) and promotes it to be the root of the multicast tree If node P wants to join the multicast tree – it executes Lookup(mid) to send a join request toward the root – it becomes a forwarder in the tree When the join request arrives at a node Q – If Q has not seen a join request for mid before, it becomes a forwarder and P becomes the child of Q. Q will continue to forward the join request toward the root – If Q is already a forwarder for mid, P becomes the child of Q and Q does not forward the join request Sending a multicast message: – Sender sends the message toward the root by executing Lookup(mid) – The root then sends the message along the tree 4

Epidemic Algorithms (1) In large-scale distributed systems, epidemic algorithms are used to rapidly propagate information among a large collection of nodes with no central coordinator – No need to set up a multicast tree Assumptions – All updates for a specific data item are initiated at a single node (i.e., no write-write conflict) – We can distinguish old data from new data because data is timestamped or versioned Basic idea: – When a node is updated, it tries to “infect” other nodes as quickly as possible using pair-wise exchange of updates (like pair-wise spreading of a disease) – Eventually, each update should reach every node 5

Epidemic Algorithms (2) Terminology – A node is called infected if it holds an update that it is willing to spread to other nodes – A node is called susceptible if it has not yet been updated – A node is called removed if it is not willing or able to spread its update We will study two propagation models – Anti-entropy – Gossiping 6

Anti-Entropy A node P picks another node Q at random and exchanges updates with Q using one of the three approaches – Push: P only pushes its updates to Q – Pull: P only pulls in updates from Q – Push-Pull: P and Q send updates to each other A pure push-based or pull-based approach does not help spread updates quickly – Push-based approach is better at the beginning (i.e., when a small number of nodes are infected) – Pull-based approach is better towards the end (i.e., when a large number of nodes are infected) – Push-pull is the best strategy If there are N nodes in the system, it takes O(log(N)) rounds to disseminate an update to all nodes – A round is a period in which every node has taken the initiative to exchange updates with another node 7

Gossiping When a node P receives an update, it tries to push the update to an arbitrary other node Q If Q was already updated by another node, P stops spreading the update (i.e., becomes removed) with probability 1/k Gossiping can rapidly spread updates, but cannot guarantee that all nodes will be updated – When there is a large number of nodes, the fraction s of nodes that will remain susceptible satisfy the equation s=e -(k+1)(1-s) – Example: when k=4, s < After a certain time, we can run an anti-entropy protocol to ensure all nodes are updated 8

The relation between the fraction s of susceptible nodes and the parameter k in gossiping. The graph displays ln(s) as a function of k.

Removing Data Epidemic algorithms are excellent for spreading updates, but deletion of data items is hard – When a node deletes a data item, and then receives an old copy of the data item, the old copy will be interpreted as something new – The node can’t distinguish between a deleted copy and no copy! Solution: use death certificates – Treat deletes as updates and spread a death certificate – Ever node keeps a record of the deletion using death certificate – Death certificates should eventually be cleaned up 10

Removing Death Certificates A death certificate is timestamped when it is created Assuming death certificates propagate to all nodes in finite time, death certificates can be removed after this maximum propagation time has elapsed To provide hard guarantee that deletions are spread to all nodes, a few nodes maintain dormant death certificates that are never thrown away – Suppose node P has a dormant death certificate for data item x. If P receives an obsolete update for x, p will spread the death certificate for x again. 11

Information Aggregation Using Epidemic Algorithms Let every node i maintains an initial value x i When node i contacts node j, they each update their value to (x i + x j )/2 In the end each node will have computed the average, where N is the number of nodes What happens if initially x i = 1 if i=1 and x i = 0 if i>1? – Eventually each node will compute the average (i.e., x i =1/N), so every node can estimate the size of the system as being 1/x i ! 12