Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable.

Slides:



Advertisements
Similar presentations
CS 542: Topics in Distributed Systems Diganta Goswami.
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.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Replication Management. Motivations for Replication Performance enhancement Increased availability Fault tolerance.
(c) Oded Shmueli Distributed Recovery, Lecture 7 (BHG, Chap.7)
1 Chapter 3. Synchronization. STEMPusan National University STEM-PNU 2 Synchronization in Distributed Systems Synchronization in a single machine Same.
DISTRIBUTED SYSTEMS II REPLICATION CNT. II Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Efficient Solutions to the Replicated Log and Dictionary Problems
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
Distributed Databases Logical next step in geographically dispersed organisations goal is to provide location transparency starting point = a set of decentralised.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Distributed Snapshots –Termination detection Election algorithms –Bully –Ring.
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
EEC 688/788 Secure and Dependable Computing Lecture 12 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Transaction Management and Concurrency Control
CS-550 (M.Soneru): Recovery [SaS] 1 Recovery. CS-550 (M.Soneru): Recovery [SaS] 2 Recovery Computer system recovery: –Restore the system to a normal operational.
Overview Distributed vs. decentralized Why distributed databases
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 18: Replication Control All slides © IG.
1 ICS 214B: Transaction Processing and Distributed Data Management Distributed Database Systems.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
CMPT Dr. Alexandra Fedorova Lecture XI: Distributed Transactions.
CMPT Dr. Alexandra Fedorova Lecture XI: Distributed Transactions.
Distributed Databases
Multicast Communication Multicast is the delivery of a message to a group of receivers simultaneously in a single transmission from the source – The source.
A Survey of Rollback-Recovery Protocols in Message-Passing Systems M. Elnozahy, L. Alvisi, Y. Wang, D. Johnson Carnegie Mellon University Presented by:
III. Current Trends: 2 - Distributed DBMSsSlide 1/47 III. Current Trends Distributed DBMSs: Advanced Concepts 3C13/D63C13/D6.
04/18/2005Yan Huang - CSCI5330 Database Implementation – Distributed Database Systems Distributed Database Systems.
DISTRIBUTED DATABASE SYSTEM.  A distributed database system consists of loosely coupled sites that share no physical component  Database systems that.
A Survey of Rollback-Recovery Protocols in Message-Passing Systems.
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
Transaction Communications Yi Sun. Outline Transaction ACID Property Distributed transaction Two phase commit protocol Nested transaction.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
Distributed Transactions Chapter 13
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
VICTORIA UNIVERSITY OF WELLINGTON Te Whare Wananga o te Upoko o te Ika a Maui SWEN 432 Advanced Database Design and Implementation Data Versioning Lecturer.
Operating Systems Distributed Coordination. Topics –Event Ordering –Mutual Exclusion –Atomicity –Concurrency Control Topics –Event Ordering –Mutual Exclusion.
Replicated Databases. Reading Textbook: Ch.13 Textbook: Ch.13 FarkasCSCE Spring
Practical Byzantine Fault Tolerance
Hierarchical Quorum Consensus: A New Algorithm for Managing Replicated Data Akhil Kumar IEEE TRANSACTION ON COMPUTERS, VOL.40, NO.9, SEPTEMBER 1991.
University of Tampere, CS Department Distributed Commit.
1 ZYZZYVA: SPECULATIVE BYZANTINE FAULT TOLERANCE R.Kotla, L. Alvisi, M. Dahlin, A. Clement and E. Wong U. T. Austin Best Paper Award at SOSP 2007.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Databases Illuminated
 Distributed file systems having transaction facility need to support distributed transaction service.  A distributed transaction service is an extension.
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.
Commit Algorithms Hamid Al-Hamadi CS 5204 November 17, 2009.
Distributed Databases
Distributed Database: Part 2. Distributed DBMS Distributed database requires distributed DBMS Distributed database requires distributed DBMS Functions.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Revisiting failure detectors Some of you asked questions about implementing consensus using S - how does it differ from reaching consensus using P. Here.
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
9 1 Chapter 9_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
Multidatabase Transaction Management COP5711. Multidatabase Transaction Management Outline Review - Transaction Processing Multidatabase Transaction Management.
10 1 Chapter 10_B Concurrency Control Database Systems: Design, Implementation, and Management, Rob and Coronel.
3 Database Systems: Design, Implementation, and Management CHAPTER 9 Transaction Management and Concurrency Control.
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
Topics in Distributed Databases Database System Implementation CSE 507 Some slides adapted from Navathe et. Al and Silberchatz et. Al.
Distributed Systems Lecture 9 Leader election 1. Previous lecture Middleware RPC and RMI – Marshalling 2.
Distributed Databases – Advanced Concepts Chapter 25 in Textbook.
Lecturer : Dr. Pavle Mogin
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)
Outline Announcements Fault Tolerance.
Assignment 5 - Solution Problem 1
Distributed Transactions
UNIVERSITAS GUNADARMA
Transaction Communication
Presentation transcript:

Antidio Viguria Ann Krueger A Nonblocking Quorum Consensus Protocol for Replicated Data Divyakant Agrawal and Arthur J. Bernstein Paper Presentation: Dependable Distributed Systems

A Nonblocking Quorum Consensus Protocol for Replicated Data Agenda Introduction Nonblocking Quorum Overview Blocking versus Nonblocking Propagation Mechanism Application in multi-robot systems Task allocation Fault tolerance for distributed task allocation algorithms Conclusions

A Nonblocking Quorum Consensus Protocol for Replicated Data Introduction Motivation for data replication Fault Tolerance Delays in accessing data Gifford’s (Blocking) Quorum Protocol q r [x] + q w [x] > n[x] Read-write operations blocked until current copy is identified Quorum protocol developed for full file access Adopting for databases inefficient

A Nonblocking Quorum Consensus Protocol for Replicated Data Nonblocking Quorum Overview Assume background mechanism to propagate updates to all copies Optimistic assumption: “Every copy of an object is current with high probability.” Significantly reduces delay If obsolete copy, transaction can be rolled back

A Nonblocking Quorum Consensus Protocol for Replicated Data Nonblocking Quorum Read an object x 1. Send read request to q r [x] nodes 2. Continues computation using value in first reply 3. Quorum accumulation in background; replies of quorum concurrently collected with execution of transaction 4. If obsolete, transaction rolled back

A Nonblocking Quorum Consensus Protocol for Replicated Data Nonblocking Quorum Write an object x 1. Send write request to q w [x] nodes 2. Continues computation 3. Replies gather concurrently, used to calculate version number 4. Transaction commit delayed until required quorum is assembled (1)

A Nonblocking Quorum Consensus Protocol for Replicated Data Performance Comparison Assumptions: Transaction, T, executes without conflicts Delays due to quorum accumulation & rollback q r [x], q w [x], n[x] are same for each object x Blocking Latency L B = k * D Nonblocking Latency L NB ≈ (k-1)p*D+Dfor k*c«D L NB improvement over L B if p is small

A Nonblocking Quorum Consensus Protocol for Replicated Data Optimistic Assumption Every copy is current most of the time cannot be justified in general. Mechanism that propagates updates made to q w [x] to all copies of x would decrease value of p by increasing the number of current copies of x

A Nonblocking Quorum Consensus Protocol for Replicated Data Propagation Mechanism Broadcast mechanism to propagate updates from write quorum to all copies Need not be reliable X messages contain new value of object Some messages will be received by nodes among X which already current.

A Nonblocking Quorum Consensus Protocol for Replicated Data Propagation Mechanism General model for spread of information x new x old x new

A Nonblocking Quorum Consensus Protocol for Replicated Data Effect of Propagation p is the probability that first reply is obsolete p -> 0 as number of propagation cycles between successive logical accesses increases

A Nonblocking Quorum Consensus Protocol for Replicated Data Effect of Propagation In order to justify optimistic assumption that every copy is current most of the time, we must integrate propagation mechanism such that average number of propagation cycles between successive logical accesses is sufficiently large.

A Nonblocking Quorum Consensus Protocol for Replicated Data Propagation mechanism Log: local copy organized as an ordered sequence of event records Gossip messages: used to keep copies of the log up to date Each site maintains a timetable with events and the timestamps when they occurred A site uses the timetable to decide which portion of its log it should send to another site and which should be discarded For a particular event record, a site maintains its local copy if it is not certain that all other sites are aware of this event

A Nonblocking Quorum Consensus Protocol for Replicated Data Propagation mechanism Run in background and periodically Two properties are guaranteed: Propagation property: assumes that site failures and networks partitions are not permanent Causality property For this application: Event: describes a transaction commit and contains the new version of objects written Implicit communication: gossip messages Explicit communication: unicast (information pertinent to the quorum only)

A Nonblocking Quorum Consensus Protocol for Replicated Data Nonblocking quorum protocol with the propagation mechanism Atomic transactions: finish with a commit or an abort Two-phase commit protocol to guarantee the atomicity of transactions that involve multiple sites Concurrency control protocol only permits recoverable executions The copies of the data object are not modified until a transaction commits Main difference with the original protocol appears when a transaction decides to commit Coordinator: site at which a transaction is initiated Participants: other sites that participate in the execution of the transaction

A Nonblocking Quorum Consensus Protocol for Replicated Data Two-phase commit protocol Commitment is delayed until t completes its verification for every object. T explicitly sends a “prepare” message to all participants If any participant fails, T aborts sending explicitly messages If not T is committed The coordinator sends a commit message to all participants using implicit communication. Update coordinator’s copy of the log. Update database information when a site receives a commit gossip message. The commit record is discarded from the log when all sites have learned about T’s commitment Commit messages are sent to every site. More overhead (can be reduced using optimizations) More robust than the original one. Not need a special termination protocol when failures occur. 1st phase 2nd phase

A Nonblocking Quorum Consensus Protocol for Replicated Data Application in multi-robot systems Cooperation Coodination Time Space Task Allocation Nonblocking quorum protocol can be used for real time applications such as robotics Use this algorithm to increase dependability in multi- robot systems

A Nonblocking Quorum Consensus Protocol for Replicated Data Task Allocation Problem: Given a number of robots and tasks which robot should execute which task in order to minimize a parameter (traveled distance, mission time, etc.) Illustrative example: 3 robots 3 tasks (go to a certain point) Minimize global distance and time of the mission

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 1 Task 2 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 1 Task 2 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Different approaches Centralized Exponential computational complexity (NP-hard) Slow response for dynamic environments Single point of failure Decentralized Tolerate dynamic environments No single point of failure More complex and efficient but not optimal solutions Most successful approach so far based on the CNP (Contract Net Protocol)

A Nonblocking Quorum Consensus Protocol for Replicated Data How does it work? Based on roles: Director of the auction Bidders Simplest protocol: Director announces a task with an associted minimum bid. Bidders send their bids. The director selects the best bid. The director allocates the task to the best bidder. The roles are played dynamically by the different robots. Each robot only knows the tasks allocated to him.

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 1 Task 2 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data What happens when a robot fails? Types of failures Failure that does not allow the robot to execute the task (motors stalled, video-cameras broken, etc.) Failure in communications, i.e., the robot is not able to communicate with the rest of the robots. Robot is dead (for example failure in the main power supply) Focus on robot deaths and failures in communication When a robot fails the tasks allocated to him are lost. Mission failed!!.

A Nonblocking Quorum Consensus Protocol for Replicated Data Possible solution Use well-know algorithms already tested for dependable distributed systems Use of quorums in order to replicate the tasks allocated to each robot. All robots work as clients and servers. Because data is only read when there is a failure. Number of writings much larger than number of readings. r+w>n (n=number of robots). For this application, in order to minimize the overhead r>>w. Write once, read all Overhead is very important Use dynamic quorums Just support one crash failure r+w=n+2 Take into account that a team of robots can split up and join frequently.

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3

A Nonblocking Quorum Consensus Protocol for Replicated Data Illustrative example Robot A Robot B Robot C Task 2 Task 1 Task 3 Mission completed successfully!!

A Nonblocking Quorum Consensus Protocol for Replicated Data Conclusions Nonblocking quorums better than blocking quorums (in terms of latency) when you use propagation mechanism. Propagation mechanism lowers probability that first reply is obsolete. Algorithms used in distributed systems can be applied in other fields such as robotics Quorum protocol could be a good solution to make more fault tolerant multi-robot systems

Questions? Paper Presentation: Dependable Distributed Systems

Antidio Viguria Ann Krueger Thank you for your attention! Paper Presentation: Dependable Distributed Systems