COS 461 Fall 1997 Group Communication u communicate to a group of processes rather than point-to-point u uses –replicated service –efficient dissemination.

Slides:



Advertisements
Similar presentations
1 Process groups and message ordering If processes belong to groups, certain algorithms can be used that depend on group properties membership create (
Advertisements

COS 461 Fall 1997 Time and Clocks u uses of time in distributed systems: –time-based algorithms (e.g. in security) –distributed make –gathering event traces.
COS 461 Fall 1997 Replication u previous lectures: replication for performance u today: replication for availability and fault tolerance –availability:
Reliable Communication in the Presence of Failures Kenneth Birman, Thomas Joseph Cornell University, 1987 Julia Campbell 19 November 2003.
CS 542: Topics in Distributed Systems Diganta Goswami.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Copyright 2004 Koren & Krishna ECE655/DataRepl.1 Fall 2006 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing.
COS 461 Fall 1997 Transaction Processing u normal systems lose their state when they crash u many applications need better behavior u today’s topic: how.
Reliability on Web Services Presented by Pat Chan 17/10/2005.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
LEADER ELECTION CS Election Algorithms Many distributed algorithms need one process to act as coordinator – Doesn’t matter which process does the.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
588 Section 6 Neil Spring May 11, Schedule Notes – (1 slide) Multicast review –(3slides) RLM (the paper you didn’t read) –(3 slides) ALF & SRM –(8.
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 9: Time, Coordination and Replication Dr. Michael R. Lyu Computer.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering.
SynchronizationCS-4513, D-Term Synchronization in Distributed Systems CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts,
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
EEC 688/788 Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Synchronization in Distributed Systems CS-4513 D-term Synchronization in Distributed Systems CS-4513 Distributed Computing Systems (Slides include.
Distributed Systems 2006 Group Membership * *With material adapted from Ken Birman.
Distributed Systems 2006 Virtual Synchrony* *With material adapted from Ken Birman.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
Time, Clocks, and the Ordering of Events in a Distributed System Leslie Lamport (1978) Presented by: Yoav Kantor.
Communication (II) Chapter 4
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Switching breaks up large collision domains into smaller ones Collision domain is a network segment with two or more devices sharing the same Introduction.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
(Business) Process Centric Exchanges
Lab 2 Group Communication Farnaz Moradi Based on slides by Andreas Larsson 2012.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
Group Communication Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Paxos: Agreement for Replicated State Machines Brad Karp UCL Computer Science CS GZ03 / M st, 23 rd October, 2008.
Client-Server Model of Interaction Chapter 20. We have looked at the details of TCP/IP Protocols Protocols Router architecture Router architecture Now.
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.
Totally Ordered Broadcast in the face of Network Partitions [Keidar and Dolev,2000] INF5360 Student Presentation 4/3-08 Miran Damjanovic
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
CS603 Fault Tolerance - Communication April 17, 2002.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
V1.7Fault Tolerance1. V1.7Fault Tolerance2 A characteristic of Distributed Systems is that they are tolerant of partial failures within the distributed.
- Manvitha Potluri. Client-Server Communication It can be performed in two ways 1. Client-server communication using TCP 2. Client-server communication.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
Replication and Group Communication. Management of Replicated Data FE Requests and replies C Replica C Service Clients Front ends managers RM FE RM Instructor’s.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
Reliable Communication in the Presence of Failures Kenneth P. Birman and Thomas A. Joseph Presented by Gloria Chang.
Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable.
Fault Tolerance (2). Topics r Reliable Group Communication.
Distributed Systems Lecture 9 Leader election 1. Previous lecture Middleware RPC and RMI – Marshalling 2.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
More on Fault Tolerance
Coordination and Agreement
Lecture 17: Leader Election
EECS 498 Introduction to Distributed Systems Fall 2017
Outline Announcements Fault Tolerance.
Active replication for fault tolerance
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Lecture 9: Ordered Multicasting
Optional Read Slides: Network Multicast
CSE 486/586 Distributed Systems Reliable Multicast --- 2
Presentation transcript:

COS 461 Fall 1997 Group Communication u communicate to a group of processes rather than point-to-point u uses –replicated service –efficient dissemination of “news” –building block for protocols u variety of specifications –trade off speed and complexity vs. ease of use

COS 461 Fall 1997 Example u replicated file server u N copies of file server –N may vary over time u send commands to all servers u all servers execute commands u want to keep all servers in identical states u result: can survive loss of a server

COS 461 Fall 1997 Replicated Servers u to keep replicas in same state: –make sure that same sequence of commands leads to same state »no dependence on time or randomness –make sure that all replicas get the same sequence of commands –after crash and reboot, bring rebooted server up to date by replaying missed commands

COS 461 Fall 1997 Groups u a group is any set of processes that want to cooperate u processes can join or leave groups, either by explicit action or implicitly u a process may belong to several groups u basic operation of group communication: multicast a message to an entire group u group name provides a useful level of indirection

COS 461 Fall 1997 Closed vs. Open Groups u open group: anybody may send a message to the group u closed group: only a member may send messages to the group –security implications –usually more efficient, since all senders know who is in the group u master-slave group: only the “master process” can send to the group

COS 461 Fall 1997 Best-Effort Group Comm u simplest approach –but provides least value to programmer u system tries to deliver each message to each member u on one LAN, can use LAN’s multicast support (if any) u on Internet, need to do more

COS 461 Fall 1997 Simple Multicast u approach 1: send separate copy of message to each destination –simple, but inefficient u approach 2: recipients form logical tree –use flooding on the tree edges u approach 3: include intermediate routers on tree –complex protocols for deciding how to do this

COS 461 Fall 1997 Multicast Trees

COS 461 Fall 1997 Best-Effort Multicast: Drawbacks u not reliable, some members might miss some messages u different members see different messages arriving in different orders –causes trouble for replicated services »example: replicate file servers with “create foo” and “delete foo” messages u different members may see different group membership at the same time

COS 461 Fall 1997 Improvements u reliable message delivery u atomic messages u message ordering guarantees –within group –across groups u membership agreement guarantees –usually, ordered with respect to messages

COS 461 Fall 1997 Membership u central membership server –send message to this server to join or leave –membership server sends message to group to announce changes in membership u distributed membership management –send message to group to join –send message to group to leave

COS 461 Fall 1997 Membership and Crashes u crashed process must be removed from group somehow –can’t rely on it to announce its departure u with central membership server: –central server pings all members –announces death of member u with distributed algorithm –hosts ping each other –voting or buddy system

COS 461 Fall 1997 Atomic Messages u atomicity property: a message is delivered to all members, or to none u first try –each recipient acknowledges message –sender retransmits if ack not received –doesn’t work: sender could crash before message is delivered everywhere

COS 461 Fall 1997 Atomic Messages u fix: if sender crashes, a recipient volunteers to be “backup sender” for the message –re-sends message to everybody, waits for acks –use simple algorithm to choose volunteer –apply method again if backup sender crashes u must remember all received messages, in case we need to become backup sender –periodic protocol to “purge” old messages

COS 461 Fall 1997 Message Ordering u so far: different members may see messages in different orders u ordered group communication requires that all members agree about the order of messages u within each group, assign global ordering to messages u hold back messages that arrive out of order

COS 461 Fall 1997 Holding Back Messages u messages can arrive at group comm code out of order u messages must be delivered to the application in order u group comm code “holds back” delivery of message until it is certain that no earlier message can arrive –details depend on ordering method

COS 461 Fall 1997 Ordering: First Approach u central ordering server assigns global sequence numbers u hosts apply to ordering server for numbers, or ordering server sends all messages itself u tricky protocol to deal with case where ordering server fails –leader election; topic for a later lecture u hold-back easy, since sequence numbers are sequential

COS 461 Fall 1997 Ordering: Second Approach u use time message was sent –measured on sending host –use host address to break ties u advantage –simple and decentralized u disadvantage –requires nearly synchronized clocks –must hold back messages for period equal to maximum clock difference

COS 461 Fall 1997 Atomicity, Ordering, and Failure u suppose A is broadcasting a message, and B fails before getting the message u atomicity says that message must be delivered to all members, but it can’t be delivered to B –solution: remove B from group u removing B requires a message u removal message must precede A’s message

COS 461 Fall 1997 Interactions Between Groups u processes can belong to multiple groups u groups can overlap u are there inter-group message ordering guarantees? u example –NFS-server group for replicated NFS service –SMB-server group for replicated PC file service –some servers belong to both groups

COS 461 Fall 1997 Inter-Group Ordering u total ordering: all messages can be globally ordered, even across groups u causal ordering: message delivery order respects the “happened before” relation u sync ordering: mark some messages as “sync messages”; total order required, except that two non-sync messages can occur in either order u unordered: no guarantees

COS 461 Fall 1997 Performance u providing strong guarantees and good performance at the same time is hard u lots of research on this –acknowledgement and negative-ack strategies –message storage and purging algorithms –leader election –optimized timestamp management

COS 461 Fall 1997 Isis u Isis is the best example of this technology –originally developed at Cornell –now a successful commercial product –frequently used on Wall Street u the bottom line –inefficient compared to build-your-own protocols –but simplifies programmer’s life a lot »faster development »fewer bugs