Virtual Synchrony Jared Cantwell. Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed.

Slides:



Advertisements
Similar presentations
Impossibility of Distributed Consensus with One Faulty Process
Advertisements

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.
Winter, 2004CSS490 MPI1 CSS490 Group Communication and MPI Textbook Ch3 Instructor: Munehiro Fukuda These slides were compiled from the course textbook,
Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Authored by: Seth Gilbert and Nancy Lynch Presented by:
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed System Architectures.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
6.852: Distributed Algorithms Spring, 2008 Class 7.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Computer Science Lecture 18, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
Distributed Systems 2006 Group Communication I * *With material adapted from Ken Birman.
Virtual Synchrony Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and Justin (cs )
Virtual Synchrony Scott Phung Nov 15, 2011 Some slides borrowed from Jared (‘09)
CS514: Intermediate Course in Operating Systems Professor Ken Birman Vivek Vishnumurthy: TA.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
Computer Science Lecture 17, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
Distributed Systems 2006 Retrofitting Reliability* *With material adapted from Ken Birman.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering.
EEC-681/781 Distributed Computing Systems Lecture 3 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
EEC 688/788 Secure and Dependable Computing Lecture 13 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Distributed Systems 2006 Group Membership * *With material adapted from Ken Birman.
Group Communication Robbert van Renesse CS614 – Tuesday Feb 20, 2001.
Distributed Systems 2006 Virtual Synchrony* *With material adapted from Ken Birman.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 14 Wenbing Zhao Department of Electrical and Computer Engineering.
1 A Modular Approach to Fault-Tolerant Broadcasts and Related Problems Author: Vassos Hadzilacos and Sam Toueg Distributed Systems: 526 U1580 Professor:
1 Next Few Classes Networking basics Protection & Security.
3: Transport Layer 3a-1 8: Principles of Reliable Data Transfer Last Modified: 10/15/2015 7:04:07 PM Slides adapted from: J.F Kurose and K.W. Ross,
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
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.
A Fault Tolerant Protocol for Massively Parallel Machines Sayantan Chakravorty Laxmikant Kale University of Illinois, Urbana-Champaign.
Farnaz Moradi Based on slides by Andreas Larsson 2013.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
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:
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.
The Totem Single-Ring Ordering and Membership Protocol Y. Amir, L. E. Moser, P. M Melliar-Smith, D. A. Agarwal, P. Ciarfella.
Reliable Communication Smita Hiremath CSC Reliable Client-Server Communication Point-to-Point communication Established by TCP Masks omission failure,
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Building Dependable Distributed Systems, Copyright Wenbing Zhao
SysRép / 2.5A. SchiperEté The consensus problem.
DISTRIBUTED COMPUTING
Reliable Communication in the Presence of Failures Kenneth P. Birman and Thomas A. Joseph Presented by Gloria Chang.
Multi-phase Commit Protocols1 Based on slides by Ken Birman, Cornell University.
Ordering in online games Objectives – Understand the ordering requirements of gaming – Realise how ordering may be achieved – Be able to relate ordering.
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.
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.
Replication & Fault Tolerance CONARD JAMES B. FARAON
Distributed Systems – Paxos
Alternative system models
Reliable group communication
CS 258 Reading Assignment 4 Discussion Exploiting Two-Case Delivery for Fast Protected Messages Bill Kramer February 13, 2002 #
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Advanced Operating System
Active replication for fault tolerance
EEC 688/788 Secure and Dependable Computing
Distributed Systems: Group Communication
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
CS514: Intermediate Course in Operating Systems
Last Class: Fault Tolerance
Presentation transcript:

Virtual Synchrony Jared Cantwell

Review Multicast Causal and total ordering Consistent Cuts Synchronized clocks Impossibility of consensus Distributed file systems

Goal Distributed programming is hard What tools can make it easier? What assumptions can make it easier? Distributed programming is hard! Let’s go shopping!!! According to Barbie once said “Math is hard!” (misquoted).

The Process Group Approach to Reliable Distributed Computing Ken Birman – Professor, Cornell University ISIS – “toolkit mechanism for distributed programming” – Financial trading floors – Telecommunications switching

Virtual Synchrony Simplify distributed systems programming by assuming a synchronous environment Features: – Process Groups – Reliable Multicast – Fault Tolerance – Performance

Outline Problem / Motivation Solution (Virtual Synchrony) – Assumptions – Close Synchrony – Virtual Synchrony

Outline Problem / Motivation Solution (Virtual Synchrony) – Assumptions – Close Synchrony – Virtual Synchrony

Motivation Distributed Programming is hard

Difficulties No reliable multicast Membership churn Message ordering State transfers Failure atomicity

No Reliable Multicast p q r IdealReality UDP, TCP, Multicast not good enough What is the correct way to recover?

Membership Churn p q r Receives new membership Never sent Membership changes are not instant How to handle failure cases?

Message Ordering p q r 12 Everybody wants it! How can you know if you have it? How can you get it?

State Transfers New nodes must get current state Does not happen instantly How do you handle nodes failing/joining? p q r

Failure Atomicity p q r IdealReality x ? Nodes can fail mid-transmit Some nodes receive message, others do not Inconsistencies arise!

Motivation Review Distributed programming is hard! No reliable multicast Membership churn Message ordering State transfers Failure atomicity

Outline Problem / Motivation Solution (Virtual Synchrony) – Assumptions – Close Synchrony – Virtual Synchrony

Assumptions WAN of LANs Unreliable network Flow control at lowest layer Clocks not synchronized No partitions – CAP Theorem?

Failure Model Nodes crash Network is lossy Can’t distinguish difference

Outline Problem / Motivation Solution (Virtual Synchrony) – Assumptions – Close Synchrony – Virtual Synchrony

Outline Problem / Motivation Solution (Virtual Synchrony) – Assumptions – Close Synchrony Model Significance Issues – Virtual Synchrony

Model Events (all or nothing) – Internal computation – Message transmission & delivery – Membership change

Model Synchronous execution p q r s t u Ken’s Slides

Significance Multicast is always reliable Membership is always consistent Totally ordered message delivery State-transfer happens instantaneously Failure Atomicity – Multicast is a single event

Issues Discrete event simulator Is it practical? Impossible with failures Very expensive – System progresses in lock-step – Limited by speed of other members

Outline Problem / Motivation Solution (Virtual Synchrony) – Assumptions – Close Synchrony – Virtual Synchrony

Outline Virtual Synchrony – Asynchronous Execution – Virtual Synchrony – ISIS – Parallels – Benefits – Discussion

Asynchronous Execution Key to high throughput in distributed systems Only wait for responses (or too fast sends) Communication channel – Acts as a pipeline – Not limited by latency Not possible with Close Synchrony!!

Asynchronous Execution p q r s t u Ken’s Slides

Virtual Synchrony Close Synchrony + Asynchronous Indistinguishable to application So….when can synchronous execution be relaxed?

ISIS Communication Framework Membership Service VS primitives – ABCAST – CBCAST

ISIS Problem – Crash and Lossy Network Indistinguishable Solution: – Membership list – Nonresponsive or failed members are dropped – Only listed members can participate – Re-join protocol – Does Membership exist in all distributed systems?

ISIS Atomic Broadcast (ABCAST) No message can be delivered to any user until all previous ABCAST messages have been delivered Costly to implement …But not everyone needs such strong guarantees

ISIS Causal Atomic Broadcast (CBCAST) Sufficient for most programmers Concurrent messages commute Weaker than ABCAST

When to use CBCAST? When any conflicting multicasts are uniquely ordered along a single causal chain …..This is Virtual Synchrony p r s t Ken’s Slides Each thread corresponds to a different lock

Parallels Logical time Replication in database systems Schneider’s state machine approach Parallel processor architectures Distributed database systems

Benefits Assume a closely synchronous model Group state and state transfer Pipelined communication (async) Single event model Failure handling

Discussion Partitions False positives – Most have them, VS admits it False negatives – Depend on a timeout

Summary Programming in distributed systems is hard Close Synchrony makes it easier – Costs too much Take asynchronous when you can Virtual Synchrony – Pipelined – Easy to reason over

Understanding the Limitations of Causally and Totally Ordered Communication Authors – David Cheriton Stanford PhD – Waterloo Billionaire – Dale Skeen PhD – UC Berkeley 3-phase commit protocol

The flaws of CATOCS Unrecognized causality No semantic ordering No Efficiency Gain (over State-level Techniques) No Scalability

Unrecognized Causality External communication is unknown p q r s

Unrecognized Causality Database is external entity Causal relation exists, but CATOCS misses it

No Semantic Ordering Serialization – Messages can’t be “group together” – Implementing eliminates CATOCS need Causal Memory – Solution: state-level logical clock

No Efficiency Gain Still need state-level techniques False causality – Reduces Performance – Increased Memory Message overhead

No Efficiency Gain What if m2 happened to follow m1, but was not causally related? CATOCS would make False Causality

No Scalability ≈ quadratic growth of expected message buffering Rebuttal: – Worst case – Impractical use case

Summary CATOCS software is overkill Communication system doesn’t know everything Everything is better at the application level

Conclusions Distributed Programming is hard Close Synchrony – Too costly Virtual Synchrony – Limitations VS not perfect for all situations