Algorithm for Virtually Synchronous Group Communication Idit Keidar, Roger Khazan MIT Lab for Computer Science Theory of Distributed Systems Group.

Slides:



Advertisements
Similar presentations
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Advertisements

Reliability on Web Services Presented by Pat Chan 17/10/2005.
Computer Science Lecture 18, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
Lab 2 Group Communication Andreas Larsson
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
A Dependable Auction System: Architecture and an Implementation Framework
Virtual Synchrony Jared Cantwell. Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed.
Virtual Synchrony Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and Justin (cs )
Secure Multicast (II) Xun Kang. Content Batch Update of Key Trees Reliable Group Rekeying Tree-based Group Diffie-Hellman Recent progress in Wired and.
Computer Science Lecture 17, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
1 Availability Study of Dynamic Voting Algorithms Kyle Ingols and Idit Keidar MIT Lab for Computer Science.
Transis Efficient Message Ordering in Dynamic Networks PODC 1996 talk slides Idit Keidar and Danny Dolev The Hebrew University Transis Project.
1 An Inheritance-Based Technique for Building Simulation Proofs Incrementally Idit Keidar, Roger Khazan, Nancy Lynch, Alex Shvartsman MIT Lab for Computer.
CS 582 / CMPE 481 Distributed Systems Replication.
Group Communication Phuong Hoai Ha & Yi Zhang Introduction to Lab. assignments March 24 th, 2004.
Filterfresh Fault-tolerant Java Servers Through Active Replication Arash Baratloo
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Scalable Group Communication for the Internet Idit Keidar MIT Lab for Computer Science Theory of Distributed Systems Group The main part of this talk is.
Abstractions for Fault-Tolerant Distributed Computing Idit Keidar MIT LCS.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 9: Time, Coordination and Replication Dr. Michael R. Lyu Computer.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Distributed Systems 2006 Group Membership * *With material adapted from Ken Birman.
Group Communication Robbert van Renesse CS614 – Tuesday Feb 20, 2001.
1 Idit Keidar MIT Lab for Computer Science Theory of Distributed Systems Group Paradigms for Building Distributed Systems: Performance Measurements and.
1 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
1 A Framework for Highly Available Services Based on Group Communication Alan Fekete Idit Keidar University of Sidney MIT.
Transis 1 Fault Tolerant Video-On-Demand Services Tal Anker, Danny Dolev, Idit Keidar, The Transis Project.
Lab 1 Bulletin Board System Farnaz Moradi Based on slides by Andreas Larsson 2012.
Vs. Object-Process Methodology Written by Linder Tanya Rubinshtein Leena Nazaredko Anton Research Report Work Flow Management System.
Distributed Systems (15-440) Mohammad Hammoud December 4 th, 2013.
Overlay Network Physical LayerR : router Overlay Layer N R R R R R N.
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.
SPREAD TOOLKIT High performance messaging middleware Presented by Sayantam Dey Vipin Mehta.
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.
Consistent and Efficient Database Replication based on Group Communication Bettina Kemme School of Computer Science McGill University, Montreal.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Improving the Efficiency of Fault-Tolerant Distributed Shared-Memory Algorithms Eli Sadovnik and Steven Homberg Second Annual MIT PRIMES Conference, May.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
Serverless Network File Systems Overview by Joseph Thompson.
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
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
Scalable Group Communication for the Internet Idit Keidar MIT Lab for Computer Science Theory of Distributed Systems Group.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
December 4, 2002 CDS&N Lab., ICU Dukyun Nam The implementation of video distribution application using mobile group communication ICE 798 Wireless Mobile.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
Group Communication Theresa Nguyen ICS243f Spring 2001.
1 Communication and Data Management in Dynamic Distributed Systems Nancy Lynch MIT June 20, 2002 …
Fault Tolerance (2). Topics r Reliable Group Communication.
1 Reliable Group Communication: a Mathematical Approach Nancy Lynch Theory of Distributed Systems MIT LCS Kansai chapter, IEEE July 7, 2000 GC …
Indirect Communication Indirect Communication is defined as communication between entities in DS through intermediary with no direct coupling b/w sender.
NTT - MIT Research Collaboration — Bi-Annual Report, July 1—December 31, 1999 MIT : Cooperative Computing in Dynamic Environments Nancy Lynch, Idit.
1 Group Communication based on Standard Interfaces Matthias Wiesmann ✶, Xavier Défago ✧, André Schiper ✶ ✶ Swiss Federal Institute of Technology at Lausanne.
Distributed Systems Lecture 7 Multicast 1. Previous lecture Global states – Cuts – Collecting state – Algorithms 2.
1 Compositional Design and Analysis of Timing-Based Distributed Algorithms Nancy Lynch Theory of Distributed Systems MIT Third MURI Workshop Washington,
Chapter 8 Fault Tolerance. Outline Introductions –Concepts –Failure models –Redundancy Process resilience –Groups and failure masking –Distributed agreement.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Replication & Fault Tolerance CONARD JAMES B. FARAON
Algorithm for Virtually Synchronous Group Communication
Reliable group communication
EEC 688/788 Secure and Dependable Computing
Indirect Communication Paradigms (or Messaging Methods)
Indirect Communication Paradigms (or Messaging Methods)
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Group Service in CORBA Xing Gang Supervisor: Prof. Michael R. Lyu
Distributed Systems (15-440)
Last Class: Fault Tolerance
Presentation transcript:

Algorithm for Virtually Synchronous Group Communication Idit Keidar, Roger Khazan MIT Lab for Computer Science Theory of Distributed Systems Group

Talk Outline Motivating applications Group Communication Virtual Synchrony Existing solutions Problems with existing solutions Our idea Our contributions Implementation

Motivation: Modern Distributed Applications Highly available servers –Web –Video-on-Demand Collaborative computing –Military command and control –Shared white-board, shared editor, etc. –Online strategy games Stock Market

Common, Important Issues in Building Distributed Applications Reliable communication Consistency –same picture of game, same shared file Fault-tolerance, high-availability –failures, recoveries, partitions, merges Scalability Performance

Group Communication -- Useful “Building Block” Group Abstraction –processes interact in a group –dynamic: fail/join/partition/merge Reliable Group Multicast Group Membership -- generates “views” –tell each process who it is connected to Systems: Ensemble, Horus, Isis, Newtop, Psync, Sphynx, Relacs, Totem, Transis

Example: Group Communication

Virtual Synchrony Synchronization of Messages and Views: Powerful abstraction for replication Semantics: VS [Birman, Joseph 87], EVS, SVS Procs that go together through same views, deliver same sets of messages.

Example: Virtual Synchrony

Virtual Synchrony: How To? Before moving into new view: Need to know which synch msgs to use, since there may be several view proposals Exchange synch messages (“flush”) to agree which msgs to deliver in old view.

Example: Synchronization Msgs

Problematic Scenario

Existing Solutions Limit Reconfiguration –Do not allow joins during reconfiguration –When someone wants to join: first, deliver view without joiner; then, start new reconfiguration. Use common id to identify synch msgs for same view proposal

Limited Reconfiguration

Problems with Existing Solutions Limited Reconfiguration –Obsolete views delivered to application –Creates overhead –Limits usefulness of virtual synchrony Use of common id to identify synch msgs –Pre-agreement or dissemination is required –Costly, especially in WANs

Our Idea Don’t limit reconfiguration Issue locally unique id per process for each view proposal Tag synch msgs with these local ids View includes vector of latest local ids –View is a triple: e.g., Procs use sync msgs identified by view Hence, procs use right sync msgs

Our Algorithm Allows Joiners

No Common Sync Ids Required

Contributions Algorithm for Virtual Synchrony –useful commonly provided semantics –processes can join during reconfiguration; hence, more benefit from Virtual Synchrony –one round, in parallel with view reconfiguration Architecture –external membership service ([KSMD, 00]) Formal Treatment –specs, algorithm, safety and liveness proof

Implementation VS library (C++), linked with application Use [KSMD,00] membership service implemented in C++, socket interface with members Reliable FIFO layer (made in Hebrew University), uses IP multicast and recovers lost messages, library --- linked with VS