Spring 2003CS 4611 Replication Outline Failure Models Mirroring Quorums.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Replication u previous lectures: replication for performance u today: replication for availability and fault tolerance –availability:
Advertisements

CS 542: Topics in Distributed Systems Diganta Goswami.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
NETWORK ALGORITHMS Presenter- Kurchi Subhra Hazra.
Agreement: Byzantine Generals UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau Paper: “The.
Teaser - Introduction to Distributed Computing
6.852: Distributed Algorithms Spring, 2008 Class 7.
Distributed Systems Overview Ali Ghodsi
Consensus Hao Li.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
DISTRIBUTED SYSTEMS II REPLICATION CNT. II Prof Philippas Tsigas Distributed Computing and Systems Research Group.
Consensus Algorithms Willem Visser RW334. Why do we need consensus? Distributed Databases – Need to know others committed/aborted a transaction to avoid.
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 :
CS 582 / CMPE 481 Distributed Systems Fault Tolerance.
CS 582 / CMPE 481 Distributed Systems
CMPT 431 Dr. Alexandra Fedorova Lecture XII: Replication.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering.
Eddie Bortnikov & Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
2/23/2009CS50901 Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial Fred B. Schneider Presenter: Aly Farahat.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Last Class: Weak Consistency
Synchronization in Distributed Systems CS-4513 D-term Synchronization in Distributed Systems CS-4513 Distributed Computing Systems (Slides include.
Computer Science Lecture 16, page 1 CS677: Distributed OS Last Class:Consistency Semantics Consistency models –Data-centric consistency models –Client-centric.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XII: Replication.
Composition Model and its code. bound:=bound+1.
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
Presented by: Alvaro Llanos E.  Motivation and Overview  Frangipani Architecture overview  Similar DFS  PETAL: Distributed virtual disks ◦ Overview.
Paxos Made Simple Jinghe Zhang. Introduction Lock is the easiest way to manage concurrency Mutex and semaphore. Read and write locks. In distributed system:
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
Chapter 19 Recovery and Fault Tolerance Copyright © 2008.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 8 Instructor: Haifeng YU.
University of Tampere, CS Department Distributed Commit.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Paxos: Agreement for Replicated State Machines Brad Karp UCL Computer Science CS GZ03 / M st, 23 rd October, 2008.
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.
Two-Phase Commit Brad Karp UCL Computer Science CS GZ03 / M th October, 2008.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Hwajung Lee.  Improves reliability  Improves availability ( What good is a reliable system if it is not available?)  Replication must be transparent.
Replication Improves reliability Improves availability ( What good is a reliable system if it is not available?) Replication must be transparent and create.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Distributed Storage Systems: Data Replication using Quorums.
CIS 720 Replication. Replica Management Three Subproblems Your boss says to you, “Our system is too slow, make it faster.” You decide that replication.
PROCESS RESILIENCE By Ravalika Pola. outline: Process Resilience  Design Issues  Failure Masking and Replication  Agreement in Faulty Systems  Failure.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Transactions on Replicated Data Steve Ko Computer Sciences and Engineering University at Buffalo.
Fault Tolerance (2). Topics r Reliable Group Communication.
CSci8211: Distributed Systems: State Machines 1 Detour: Some Theory of Distributed Systems Supplementary Materials  Replicated State Machines Notion of.
Distributed Systems Lecture 9 Leader election 1. Previous lecture Middleware RPC and RMI – Marshalling 2.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
Chapter 8 Fault Tolerance. Outline Introductions –Concepts –Failure models –Redundancy Process resilience –Groups and failure masking –Distributed agreement.
The consensus problem in distributed systems
Distributed Systems – Paxos
Distributed Systems CS
8.2. Process resilience Shreyas Karandikar.
View Change Protocols and Reconfiguration
Outline Announcements Fault Tolerance.
PERSPECTIVES ON THE CAP THEOREM
EEC 688/788 Secure and Dependable Computing
IS 651: Distributed Systems Fault Tolerance
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Implementing Consistency -- Paxos
CIS 720 Replication 1.
Presentation transcript:

Spring 2003CS 4611 Replication Outline Failure Models Mirroring Quorums

Spring 2003CS 4612 Why Replicate? Performance –keep copy close to remote users –caching is a special case Survive Failures –availability: provide service during temporary failure –fault tolerance: provide service despite catastrophic failure

Spring 2003CS 4613 Fault Models Crashed –failed device doesn’t do anything (i.e., fails silently) Fail-Stop –failed device tells you that it has failed Byzantine –failed device can do anything –adversary playing a game against an evil opponent opponent knows what you’re doing and tries to fool you usually some limit on opponent’s actions (e.g. at most k failures)

Spring 2003CS 4614 Byzantine Army Problem 3000 Blue Soldiers 3000 Blue Soldiers 4000 Red Soldiers

Spring 2003CS 4615 Synchrony Assumptions concerning boundedness of component execution or network transmissions Synchronous –always performs function in a finite & known time bound Asynchronous –no such bound Famous Result: A group of processes cannot agree on a value in an asynchronous system given a single crash failure

Spring 2003CS 4616 Network Partitions Can’t tell the difference between a crashed process and a process that’s inaccessible due to a network failure. Network Partition: network failure that cuts processes into two or more groups –full communication within each group –no communication between groups –danger: each group thinks everyone else is dead

Spring 2003CS 4617 Mirroring Goal: service up to K failures Approach: keep K+1 copies of everything Clients do operations on “primary” copy Primary makes sure other copies do operations too Advantage: simple Disadvantages: –do every operation K times –use K times more storage than necessary

Spring 2003CS 4618 Mirroring Details Optimization: contact one replica to read What if a replica fails? –get up-to-date data from primary after recovering What if primary fails? –elect a new primary

Spring 2003CS 4619 Election Problem When algorithm terminates, all non-failed processes agree on which replica is the primary Algorithm works despite arbitrary failures and recoveries during the election If there are no more failures and recoveries, the algorithm must eventually terminate

Spring 2003CS Bully Algorithm Use fixed “pecking order” among processes –e.g., use network addresses Idea: choose the “biggest” non-failed machine as primary Correctness proof is difficult

Spring 2003CS Bully Algorithm Details Process starts an election whenever it recovers or whenever primary has failed –how know primary has failed? To start an election, send election messages to all machines bigger than yourself –if somebody responds with an ACK, give up –if nobody ACKs, declare yourself the primary On receiving election message, reply with ACK and start an election yourself (unless in progress)

Spring 2003CS Quorums Quorum: a set of server machines Define what constitutes a “read quorum” and a “write quorum” To write –acquire locks on all members of some write quorum –do writes on all locked servers –release locks To read: similar, but use read quorum

Spring 2003CS Quorums Correctness requirements –any two write quorums must share a member –any read quorum and any write quorum must share a member (read quorums need not overlap) Locking ensures that –at most one write happening at a time –never have a write and a read happening at the same time

Spring 2003CS Defining Quorums Many alternatives Example –write quorum must contain all replicas –read quorum may contain any one replica Consequence –writes are slow, reads are fast –can write only if all replicas are available –can read if any one replica is available

Spring 2003CS Defining Quorums (cont) Example: Majority Quorum –write quorum: any set with more than half the replicas –read quorum: any set with more than half the replicas Consequences –modest performance for read and write –can proceed as long as more than half the replicas are available

Spring 2003CS Quorums & Version Numbers Write operation writes only a subset of the servers –some servers are out-of-date Remedy –put version number stamp on each item in each replica –when acquiring locks, get current version number from each replica –quorum overlap rules ensure that one member of your quorum has the latest version

Spring 2003CS Version Numbers (cont) When reading, get the data from the latest version number in your quorum When writing, set version number of all replicas you wrote equal to 1 + (max version number in your quorum beforehand) Guarantees correctness even if no recovery action is taken when replica recovers from a crash

Spring 2003CS Quorums and Partitions One group has a write quorum (and thus usually a read quorum); –that group can do anything –other groups are frozen No group has a write quorum, but some groups have a read quorum –some groups can read –no groups can write No group contains any quorum –everyone is frozen