Mutual Consistency Detection of mutual inconsistency in distributed systems (Parker, Popek, et. al.) Distributed system with replication for reliability.

Slides:



Advertisements
Similar presentations
Eventual Consistency Jinyang. Sequential consistency Sequential consistency properties: –Latest read must see latest write Handles caching –All writes.
Advertisements

Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Dynamo: Amazon's Highly Available Key-value Store Distributed Storage Systems CS presented by: Hussam Abu-Libdeh.
Lecture 11 Recoverability. 2 Serializability identifies schedules that maintain database consistency, assuming no transaction fails. Could also examine.
Distributed Databases John Ortiz. Lecture 24Distributed Databases2  Distributed Database (DDB) is a collection of interrelated databases interconnected.
Recovery CPSC 356 Database Ellen Walker Hiram College (Includes figures from Database Systems by Connolly & Begg, © Addison Wesley 2002)
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture X: Transactions.
Replica Control for Peer-to- Peer Storage Systems.
Efficient Solutions to the Replicated Log and Dictionary Problems
CS-550: Distributed File Systems [SiS]1 Resource Management in Distributed Systems: Distributed File Systems.
CMPT Dr. Alexandra Fedorova Lecture X: Transactions.
Distributed Databases Logical next step in geographically dispersed organisations goal is to provide location transparency starting point = a set of decentralised.
Distributed DBMSPage © 1998 M. Tamer Özsu & Patrick Valduriez Outline Introduction Background Distributed DBMS Architecture Distributed Database.
Transaction Management and Concurrency Control
CS 582 / CMPE 481 Distributed Systems
“Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System ” Distributed Systems Κωνσταντακοπούλου Τζένη.
Transaction Management and Concurrency Control
Computer Science Lecture 21, page 1 CS677: Distributed OS Today: Coda, xFS Case Study: Coda File System Brief overview of other recent file systems –xFS.
Overview Distributed vs. decentralized Why distributed databases
Manajemen Basis Data Pertemuan 10 Matakuliah: M0264/Manajemen Basis Data Tahun: 2008.
Hash History: A Method for Reconciling Mutual Inconsistency in Optimistic Replication Brent ByungHoon Kang, Robert Wilensky and John Kubiatowicz CS Division,
Transaction Management
Distributed DBMSPage © 1998 M. Tamer Özsu & Patrick Valduriez Outline Introduction Background Distributed DBMS Architecture Distributed Database.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Chapter 12 File Management Systems
Transis Dynamic Voting for Consistent Primary Components PODC 1997 talk slides Esti Yeger Lotem, Idit Keidar and Danny Dolev The Hebrew University
Jeff Chheng Jun Du.  Distributed file system  Designed for scalability, security, and high availability  Descendant of version 2 of Andrew File System.
CS 603 Data Replication in Oracle February 27, 2002.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
CS 603 Data Replication February 25, Data Replication: Why? Fault Tolerance –Hot backup –Catastrophic failure Performance –Parallelism –Decreased.
Distributed Databases
Dynamo: Amazon’s Highly Available Key-value Store Presented By: Devarsh Patel 1CS5204 – Operating Systems.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
1 The Google File System Reporter: You-Wei Zhang.
Mobility in Distributed Computing With Special Emphasis on Data Mobility.
1 Chapter 12 File Management Systems. 2 Systems Architecture Chapter 12.
CS Storage Systems Lecture 14 Consistency and Availability Tradeoffs.
15 Copyright © 2005, Oracle. All rights reserved. Performing Database Backups.
Reliability and Security in Database Servers By Samuel Njoroge.
Replication March 16, Replication What is Replication?  A technique for increasing availability, fault tolerance and sometimes, performance 
CS 5204 (FALL 2005)1 Leases: An Efficient Fault Tolerant Mechanism for Distributed File Cache Consistency Gray and Cheriton By Farid Merchant Date: 9/21/05.
Lecture 12 Recoverability and failure. 2 Optimistic Techniques Based on assumption that conflict is rare and more efficient to let transactions proceed.
Replicated Databases. Reading Textbook: Ch.13 Textbook: Ch.13 FarkasCSCE Spring
CAP + Clocks Time keeps on slipping, slipping…. Logistics Last week’s slides online Sign up on Piazza now – No really, do it now Papers are loaded in.
Chapter 15: Achieving High Availability Through Replication.
11/7/2012ISC329 Isabelle Bichindaritz1 Transaction Management & Concurrency Control.
SQL Server 2005 Implementation and Maintenance Chapter 12: Achieving High Availability Through Replication.
1 Multiversion Reconciliation for Mobile Databases Shirish Hemanath Phatak & B.R.Badrinath Presented By Presented By Md. Abdur Rahman Md. Abdur Rahman.
Caching Consistency and Concurrency Control Contact: Dingshan He
Write Conflicts in Optimistic Replication Problem: replicas may accept conflicting writes. How to detect/resolve the conflicts? client B client A replica.
Introduction to Active Directory
Eventual Consistency Jinyang. Review: Sequential consistency Sequential consistency properties: –All read/write ops follow some total ordering –Read must.
Highly Available Services and Transactions with Replicated Data Jason Lenthe.
GPFS: A Shared-Disk File System for Large Computing Clusters Frank Schmuck & Roger Haskin IBM Almaden Research Center.
THE EVOLUTION OF CODA M. Satyanarayanan Carnegie-Mellon University.
Mobility Victoria Krafft CS /25/05. General Idea People and their machines move around Machines want to share data Networks and machines fail Network.
Managing Multi-User Databases
Coda / AFS Thomas Brown Albert Ng.
Nomadic File Systems Uri Moszkowicz 05/02/02.
Mutual inconsistency Due to the possible breakdown of the communication links, the system can be divided into several sub-systems (or sub-networks). There.
Chapter 25: Advanced Data Types and New Applications
EECS 498 Introduction to Distributed Systems Fall 2017
Today: Coda, xFS Case Study: Coda File System
Chapter 10 Transaction Management and Concurrency Control
PERSPECTIVES ON THE CAP THEOREM
Outline Introduction Background Distributed DBMS Architecture
Distributed Database Management Systems
Outline Introduction Background Distributed DBMS Architecture
Transactions, Properties of Transactions
Presentation transcript:

Mutual Consistency Detection of mutual inconsistency in distributed systems (Parker, Popek, et. al.) Distributed system with replication for reliability (availability) efficient access Maintaining consistency of all copies hard to do efficiently Handling discovered inconsistencies not always possible semantics-dependent

Mutual Consistency Tradeoffs between degree of replication of objects access time of object availability of object (during partition) synchronization of updates (overhead of consistency) All objects should always be available. All objects should always be consistent. “Partitioning can destroy mutual consistency in the worst case”. Basic Design Issue: Single failure must not affect entire system (robust, reliable).

Mutual Consistency Previous work –Maintain consistency by:worst –Voting (majority consent) 0 –Tokens (unique/resource) 0 –Primary site (LOCUS) 0 –Reliable networks (SDD-1)roll back –Disk toking media, etc. Prevent inconsistency at a cost does not address detection or resolution issues. Want to provide availability and correct propagation of updates.

Mutual Consistency Detecting Inconsistency Network may continue to portion or partially merge for an unbounded time. Semantics also different with replication: naming, creation, deletion… names in on partition do not relate to entities in another Need globally unique system name, and user name(s). Must be able to use in partitions.

Mutual Consistency System name consists of a pair Origin – globally unique creation name Version – vector of modification history Two types of conflicts: Name – two files have same user-name Version – two incompatible versions of the same file. Different mod. Histories (not initial history) Conflicting files may be identical… Semantics of update determine action Detection of version conflicts Timestamp – overkill Version vector – “necessary + sufficient” Update log – need global synchronization

Mutual Consistency Version vector approach each file has a version vector (S i : u i ) pairs S i – site file is resident upon u i - # updates on that site Example: Compatible vectors: one is at least as large as the other over all sites in vector ←  ( )

Mutual Consistency Committed updates on site S i update u i by one Deletion/Renaming are updates, leave zero-length file (?) Remove file if all versions zero Resolution on site S i increments u i to maintain consistency later. to Max S i Storing at new site makes vector longer by one site. Still compat. (vectors may grow and shrink) Inconsistency determined as early as possible. Only works for single file consistency, not transactions…

Mutual Consistency A B C A B A B C C AB C Version vector VV i = (S i ; v i ) v i update to file f at site S i B’s version adopted CONFLICT 3 > 2, 0 = 0, 0 < 1 A updates f twice A updates f once

Mutual Consistency A B C D D B CA A BC D B C D + : update + ++

Mutual Consistency A B C D D B CA A BC D B C D CONFLICT! After reconcilation at site B

Mutual Consistency Resolution of Conflicts Semantics-Dependent Automatic resolution desirable, where possible: Mailbox, Directory (R/W) Only two types of object update (R/W) Simple union/intersection works Other Scenarios: – Credits and Debits x +  i (x) in each partition x +   i (x) after merge May have to constrain  i (x) to prevent overdraft – Airline Reservations

Mutual Consistency General resolution rules not possible. External (irrevocable) actions prevent reconciliation, rollback, etc. Resolution should be inexpensive. System must address: detection of conflicts(when, how) meaning of a conflict(accesses) resolution of conflicts automagic user-assisted

Mutual Consistency Conclusions Effective detection procedure providing access without mutual exclusion (consent). Robust during partitions (no loss). Occasional inconsistency tolerated for the sake of availability. Reconciliation semantics… Recognize dependence upon semantics.