Reliable Communication in the Presence of Failures Kenneth Birman, Thomas Joseph Cornell University, 1987 Julia Campbell 19 November 2003.

Slides:



Advertisements
Similar presentations
Chapter 12 Message Ordering. Causal Ordering A single message should not be overtaken by a sequence of messages Stronger than FIFO Example of FIFO but.
Advertisements

COS 461 Fall 1997 Group Communication u communicate to a group of processes rather than point-to-point u uses –replicated service –efficient dissemination.
Impossibility of Distributed Consensus with One Faulty Process
DISTRIBUTED SYSTEMS II FAULT-TOLERANT BROADCAST Prof Philippas Tsigas Distributed Computing and Systems Research Group.
(c) Oded Shmueli Distributed Recovery, Lecture 7 (BHG, Chap.7)
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Fault Tolerance in Distributed Systems.
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 )
LEADER ELECTION CS Election Algorithms Many distributed algorithms need one process to act as coordinator – Doesn’t matter which process does the.
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
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.
EEC 688/788 Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems 2006 Virtual Synchrony* *With material adapted from Ken Birman.
EEC-681/781 Distributed Computing Systems Lecture 11 Wenbing Zhao Cleveland State University.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 14 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering.
A Survey of Rollback-Recovery Protocols in Message-Passing Systems M. Elnozahy, L. Alvisi, Y. Wang, D. Johnson Carnegie Mellon University Presented by:
CIS 720 Distributed algorithms. “Paint on the forehead” problem Each of you can see other’s forehead but not your own. I announce “some of you have paint.
Commit Protocols. CS5204 – Operating Systems2 Fault Tolerance Causes of failure: process failure machine failure network failure Goals : transparent:
1 © NOKIA Web Service Reliability NOKIA. 2 © NOKIA Content What is reliability ? Guaranteed Delivery Duplicate Elimination Ordering Crash tolerance State.
6.1. Transport Control Protocol (TCP) It is the most widely used transport protocol in the world. Provides reliable end to end connection between two hosts.
Chapter 4 Reliable, Atomic and Causal Broadcast Presented By Kiran Simon.
A Survey of Rollback-Recovery Protocols in Message-Passing Systems.
ARMADA Middleware and Communication Services T. ABDELZAHER, M. BJORKLUND, S. DAWSON, W.-C. FENG, F. JAHANIAN, S. JOHNSON, P. MARRON, A. MEHRA, T. MITTON,
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.
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
Distributed Transactions Chapter 13
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Practical Byzantine Fault Tolerance
Lecture 4: Sun: 23/4/1435 Distributed Operating Systems Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
Group Communication Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical.
1 Computer Networking Dr. Mohammad Alhihi Communication and Electronic Engineering Department Philadelphia University Faculty of Engineering.
Agenda Fail Stop Processors –Problem Definition –Implementation with reliable stable storage –Implementation without reliable stable storage Failure Detection.
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.
Event Ordering Greg Bilodeau CS 5204 November 3, 2009.
Commit Algorithms Hamid Al-Hamadi CS 5204 November 17, 2009.
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
CS603 Fault Tolerance - Communication April 17, 2002.
CSE 60641: Operating Systems Implementing Fault-Tolerant Services Using the State Machine Approach: a tutorial Fred B. Schneider, ACM Computing Surveys.
D u k e S y s t e m s Asynchronous Replicated State Machines (Causal Multicast and All That) Jeff Chase Duke University.
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
Reliable Communication in the Presence of Failures Kenneth P. Birman and Thomas A. Joseph Presented by Gloria Chang.
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.
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
Primary-Backup Replication
EEC 688/788 Secure and Dependable Computing
Outline Announcements Fault Tolerance.
EEC 688/788 Secure and Dependable Computing
Logical Clocks and Casual Ordering
EEC 688/788 Secure and Dependable Computing
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
Distributed algorithms
CSE 486/586 Distributed Systems Reliable Multicast --- 2
COT 5611 Operating Systems Design Principles Spring 2014
Last Class: Fault Tolerance
Presentation transcript:

Reliable Communication in the Presence of Failures Kenneth Birman, Thomas Joseph Cornell University, 1987 Julia Campbell 19 November 2003

Agenda Overview Assumptions and Definition of Terms System Components Communication primitives Fault Tolerance Example Summary

Overview Communication facility for distributed system Failures can occur Applicable to local and wide-area networks Fault-tolerant process groups Consistent orderings of events Events delivered despite failures

Assumptions and Definition of Terms Failure – process stops w/o incorrect actions Event orderings controlled by comm layer Fault tolerance – continued operation Failures detected, others notified Logical approach, rather than physical Pretend events took place either before or after No communication among inconsistent processes

Fault Tolerant Process Groups Processes cooperating to perform distributed transaction No shared memory or synchronized clocks Changes in membership ordered wrt events Members monitor each other System Components

Managing Group Membership View Manager Oldest site Calculates “view extensions” View Extension Current view + 1 extension Other changes can get added on Site Manager System Components S1 S3 S2 S4 S2-1 S2-2 S2-3

Communication Primitives Send messages only to members of group Members can be at the same site or remote GBCAST – group broadcast ABCAST – atomic broadcast CBCAST – causal broadcast All are atomic

GBCAST (action, G) Broadcasts membership changes Issued by coordinator – 2 Phase Commit Coordinator calculates change Change received – Acknowledge – Commit Change doesn’t match – NACK w/ missing events Delivered after messages from failed member Failed process will never be heard from again If declared “dead” must go through recovery Communication Primitives

Normal GBCAST Coordinator P1P2 P3 P4 GBCAST (P1 down, (C,P2,P3,P4)) GBCAST (P1 down, …) Compare current view (C, P1, P2, P3, P4) with new view. Save to stable storage. ACK Commit New view: (C, P2, P3, P4) P1 down

ABCAST (msg, label, dests) Assures messages received in same order Issued by sender of message Recipient queues message, assigns max priority, tags undeliverable, replies Sender collects responses, computes max, sends value Recipient changes priority, tag deliverable, resort queue, transfer to delivery queue in order Communication Primitives

CBCAST (msg, clabel, dests) Ensures relative ordering when necessary clables are comparable or incomparable No common destinations, no comparison Previous messages included in transmit Optimization possible Intersite packets Common message pool and pointers to it Flags track where sent to Communication Primitives

GBCAST – Coordinator Fails (1) Coordinator P1P2 P3 P4 GBCAST (P1 down, (C,P2,P3,P4)) GBCAST (P1 down, …) Compare current view (C, P1, P2, P3, P4) with new view. Save to stable storage. ACK Commit New view: (C, P2, P3, P4) P1 down Commit New view: (C, P2, P3, P4) P1 down

GBCAST – Coordinator Fails (2) Coordinator P1 P2 P3 P4 Compare current view (C, P1, P2, P3, P4) with new view. Note there are 2 changes. Save to stable storage. New view: (P2, P3, P4) P1, C down (C, P2, P3, P4) P1 down Coordinator GBCAST (C down, ((P2,P3,P4) P1 down)) ACK New view: (P2, P3, P4) P1, C down Commit

Summary Communication protocols for distributed system Defined members, protocols Failures can be tolerated Members have consistent view Used at Cornell (ISIS): fault tolerant objects, bulletin boards