Dealing with open groups The view of a process is its current knowledge of the membership. It is important that all processes have identical views. Inconsistent.

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

CS425/CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
DISTRIBUTED SYSTEMS II FAULT-TOLERANT BROADCAST Prof Philippas Tsigas Distributed Computing and Systems Research Group.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Reliable Multicast Steve Ko Computer Sciences and Engineering University at Buffalo.
CS542 Topics in Distributed Systems Diganta Goswami.
DISTRIBUTED SYSTEMS II REPLICATION CNT. II Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Lab 2 Group Communication Andreas Larsson
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
CS 582 / CMPE 481 Distributed Systems
Transis Efficient Message Ordering in Dynamic Networks PODC 1996 talk slides Idit Keidar and Danny Dolev The Hebrew University Transis Project.
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
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.
Optimistic Virtual Synchrony Jeremy Sussman - IBM T.J.Watson Idit Keidar – MIT LCS Keith Marzullo – UCSD CS Dept.
Lab 1 Bulletin Board System Farnaz Moradi Based on slides by Andreas Larsson 2012.
Computer Science 425 Distributed Systems (Fall 2009) Lecture 5 Multicast Communication Reading: Section 12.4 Klara Nahrstedt.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
1 A Modular Approach to Fault-Tolerant Broadcasts and Related Problems Author: Vassos Hadzilacos and Sam Toueg Distributed Systems: 526 U1580 Professor:
ECE291 Computer Engineering II Lecture 23 Dr. Zbigniew Kalbarczyk University of Illinois at Urbana- Champaign.
TOTEM: A FAULT-TOLERANT MULTICAST GROUP COMMUNICATION SYSTEM L. E. Moser, P. M. Melliar Smith, D. A. Agarwal, B. K. Budhia C. A. Lingley-Papadopoulos University.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
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.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Practical Byzantine Fault Tolerance
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.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Dealing with open groups The view of a process is its current knowledge of the membership. It is important that all processes have identical views. Inconsistent.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
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.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Hwajung Lee. A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types of groups:
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
November NC state university Group Communication Specifications Gregory V Chockler, Idit Keidar, Roman Vitenberg Presented by – Jyothish S Varma.
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
Fault Tolerance. Basic Concepts Availability The system is ready to work immediately Reliability The system can run continuously Safety When the system.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
Hwajung Lee.  Improves reliability  Improves availability ( What good is a reliable system if it is not available?)  Replication must be transparent.
Computer Science 425 Distributed Systems (Fall 2009) Lecture 6 Multicast/Group Communication and Mutual Exclusion Section &12.2.
Lecture 13: Replication Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Lecture 4-1 Computer Science 425 Distributed Systems (Fall2009) Lecture 4 Chandy-Lamport Snapshot Algorithm and Multicast Communication Reading: Section.
Relying on Safe Distance to Achieve Strong Partitionable Group Membership in Ad Hoc Networks Authors: Q. Huang, C. Julien, G. Roman Presented By: Jeff.
Fault Tolerance (2). Topics r Reliable Group Communication.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Distributed Systems Lecture 7 Multicast 1. Previous lecture Global states – Cuts – Collecting state – Algorithms 2.
Chapter 8 Fault Tolerance. Outline Introductions –Concepts –Failure models –Redundancy Process resilience –Groups and failure masking –Distributed agreement.
Distributed Computing Systems Replication Dr. Sunny Jeong. Mr. Colin Zhang With Thanks to Prof. G. Coulouris,
Replication Chapter Katherine Dawicki. Motivations Performance enhancement Increased availability Fault Tolerance.
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.
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Computer Science 425 Distributed Systems CS 425 / ECE 428 Fall 2013
Advanced Operating System
Active replication for fault tolerance
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
Seminar Mobilkommunikation Reliable Multicast in Wireless Networks
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
CSE 486/586 Distributed Systems Reliable Multicast --- 2
CSE 486/586 Distributed Systems Reliable Multicast --- 1
Presentation transcript:

Dealing with open groups The view of a process is its current knowledge of the membership. It is important that all processes have identical views. Inconsistent views can lead to problems. Example: Four members (0,1,2,3) will send out 144 s. Assume that 3 left the group but only 2 knows about it. So, 0 will send 144/4 = 36 s (first quarter 1-36) 1 will send 144/4 = 48 s (second quarter 37-71) 2 will send 144/3 = 48 s (last one-third ) 3 has left. The mails will not be delivered!

Dealing with open groups Views can change unpredictably, and no member may have exact information about who joined and who left at any given time. In a managed group, views and their changes should propagate in the same order to all members.

Dealing with open groups Example. Current view (of all processes) v 0 (g) = {0, 1, 2, 3}. Let 1, 2 leave and 4 join the group concurrently. This view change can be serialized in many ways: {0,1,2,3}, {0,1,3} {0,3,4}, OR {0,1,2,3}, {0,2,3}, {0,3}, {0,3,4}, OR {0,1,2,3}, {0,3}, {0,3,4} To make sure that every member observe these changes in the same order, changes in the view should be sent via total order multicast.

View propagation {Process 0}: v 0 (g); v 0 (g) = {0.1,2,3}, send m1,... ; v 1 (g); send m2, send m3; v 1 (g) = {0,1,3}, v 2 (g) ; {Process 1}: v 2 (g) = {0,3,4} v 0 (g); send m4, send m5; v 1 (g); send m6; v 2 (g)...;

View delivery guidelines Rule 1. If a process j joins and continues its membership in a group g that already contains a process i, then eventually j appears in all views delivered by process i. Rule 2. If a process j permanently leaves a group g that contains a process i, then eventually j is excluded from all views delivered by process i.

View-synchronous communication Rule. With respect to each message, all correct processes have the same view. m sent in view V  m received in view V This is also known as virtual synchrony

View-synchronous communication Agreement. If a correct process k delivers a message m in v i (g ) before delivering the next view v i+1 (g), then every correct process j  v i (g)  v i+1 (g) must deliver m before delivering v i+1 (g). Integrity. If a process j delivers a view v i (g ), then v i (g ) must include j. Validity. If a process k delivers a message m in view v i (g) and another process j  v i (g) does not deliver that message m, then the next view v i+1 (g) delivered by k must exclude j. v i (g ) v i+1 (g), m v i (g ) v i+1 (g), m Sender k Receiver j

Example Let process 1 deliver m and then crash. Possibility 1. No one delivers m, but each delivers the new view {0,2,3}. Possibility 2. Processes 0, 2, 3 deliver m and then deliver the new view {0,2,3} Possibility 3. Processes 2, 3 deliver m and then deliver the new view {0,2,3} but process 0 first delivers the view {0,2,3} and then delivers m. Are these acceptable? {0,1,2,3}{0,2,3} m m m Possibility 3

Overview of Transis What is Transis? A group communication system developed by Danny Dolev and his group at the Hebrew University of Jerusalem. (see Important objectives of Transis are to develop a framework for Computer Supported Cooperative Work (CSCW) applications, such as multi-media and desktop conferencing, as well as a scalable Video- on-demand service. Deals with open group Supports scalable reliable multicast Tolerates network partition

Overview of Transis (2) What is Transis? Deals with open group Supports scalable reliable multicast Tackles network partition. Allows the partitions to continue working and later restore consistency upon merger

Overview of Transis (3)

Overview of Transis (4) FIFO (single source) Causal mode (maintains causal order) Agreed mode (maintains total order that does not conflict with the causal order) Safe mode (Delivers a message only after the lower levels of the system have acknowledged its reception at all the destination machines. All messages are delivered relative to a safe message)

Overview of Transis Each partition assumes that the machines in the other partition have failed, and maintains virtual synchrony within its own partition only. After repair, consistency is restored in the entire system. Dealing with partition

Example of message delivery Assume A was sending a safe message M, and the configuration changed to {A, B, C}  {A, B}, {C}. All but C sent ack to A, B. Now, to deliver M, A, B must receive the new view {A,B} first. If C ack’ed M and also received acks from A and B before the partition, then C may deliver M before it receives the new view {C}. Otherwise, C will ignore message M as spurious without contradicting any guarantee.

More on partitions Electronic Town Hall A B C D E Polling booth Votes are counted manually at each booth and the counts are forwarded to every other booth, so that the latest count is displayed at each booth. Apparently, if a single wire breaks, the counting will stop. However, it is silly. Counting could easily continue at the individual booths, and the results could be merged later. This is the Transis approach: supporting operations within partitions whenever possible. Polling booth