IS 651: Distributed Systems Final Exam

Slides:



Advertisements
Similar presentations
Consensus on Transaction Commit
Advertisements

NETWORK ALGORITHMS Presenter- Kurchi Subhra Hazra.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Transactions Steve Ko Computer Sciences and Engineering University at Buffalo.
Em Spatiotemporal Database Laboratory Pusan National University File Processing : Transaction Management 2004, Spring Pusan National University Ki-Joune.
1 Chapter 3. Synchronization. STEMPusan National University STEM-PNU 2 Synchronization in Distributed Systems Synchronization in a single machine Same.
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.
CS 582 / CMPE 481 Distributed Systems
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) Lecture 18: Replication Control All slides © IG.
Byzantine Fault Tolerance CS 425: Distributed Systems Fall Material drived from slides by I. Gupta and N.Vaidya.
Bringing Paxos Consensus in Multi-agent Systems Andrei Mocanu Costin Bădică University of Craiova.
Presented By: Shreya Patel ( ) Vidhi Patel ( ) Universal College Of Engineering And Technology.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
From Viewstamped Replication to BFT Barbara Liskov MIT CSAIL November 2007.
Byzantine fault tolerance
Two-Phase Commit Brad Karp UCL Computer Science CS GZ03 / M th October, 2008.
Systems Research Barbara Liskov October Replication Goal: provide reliability and availability by storing information at several nodes.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Transactions on Replicated Data Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
BChain: High-Throughput BFT Protocols
CPS 512/590 final exam, 12/8/2015 /60 Your name please: /50 /50 /60
CSE 486/586 Distributed Systems Wrap-up
Shuai Mu, Lamont Nelson, Wyatt Lloyd, Jinyang Li
CSE 486/586 Distributed Systems Mid-Semester Overview
Distributed Systems – Paxos
CPS 512 midterm exam #1, 10/7/2016 Your name please: ___________________ NetID:___________ /60 /40 /10.
CSE 486/586 Distributed Systems Wrap-up
Concurrency control in transactional systems
Two phase commit.
COS 418: Distributed Systems Lecture 6 Daniel Suo
View Change Protocols and Reconfiguration
IS 651: Distributed Systems Consensus
Implementing Consistency -- Paxos
Outline Announcements Fault Tolerance.
IS 651: Distributed Systems Midterm
Distributed Systems, Consensus and Replicated State Machines
Principles of Computer Security
Replication Improves reliability Improves availability
IS 651: Distributed Systems Byzantine Fault Tolerance
Fault-tolerance techniques RSM, Paxos
EEC 688/788 Secure and Dependable Computing
IS 651: Distributed Systems Blockchain
From Viewstamped Replication to BFT
HW5 What’s a quorum? How can we use the concept of quorum?
IS 651: Distributed Systems Fault Tolerance
Lecture 21: Replication Control
Atomic Commit and Concurrency Control
EEC 688/788 Secure and Dependable Computing
EECS 498 Introduction to Distributed Systems Fall 2017
Causal Consistency and Two-Phase Commit
Lecture 20: Intro to Transactions & Logging II
Replicated state machine and Paxos
View Change Protocols and Reconfiguration
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
Paxos Made Simple.
Lecture 21: Replication Control
Implementing Consistency -- Paxos
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
IS 698/800-01: Advanced Distributed Systems Crash Fault Tolerance
Transaction Communication
CSE 486/586 Distributed Systems Mid-Semester Overview
Presentation transcript:

IS 651: Distributed Systems Final Exam Sisi Duan Assistant Professor Information Systems sduan@umbc.edu

Final Exam 25% of the score Dec 5, in-class, 2.5 hours Covers slides 7(primay-backup)-11(blockchain) Closed-book One A4 page cheat sheet (front and back) – You prepare it. Turn in the cheat sheet (with your name) at the end of the exam

Final Almost the same format with midterm Multiple choices Similar with class exercises Short answers Similar with homework No programming questions. But I may ask concepts. Advice Explanation can help you get partial credit even your answer is not correct. Be brief, but not too simple.

What we have discussed so far Primary backup Consensus Paxos BFT Blockchains

Replication for fault tolerance Consistency challenges Failures Concurrency of messages

Replication methods Active replication Passive replication What’s the difference? Pros and cons?

Primary Backup replication Passive replication Fewer message exchange (lower network bandwidth) Backups do not have to actively participate Backup failures are easy to handle

Primary Backup Replication Handling primary failure is not easy. Why? Viewstamp replication What’s it? Why does it work?

What we have discussed so far Primary backup Consensus Paxos BFT Blockchains

Consensus problem Some nodes propose something All nodes, despite failures, agree on something Correctness of consensus Safety Liveness

Consensus X = read(A) Y = read (B) Write (A, X-100) Write (B, y+100) Distributed databases ACID Atomicity (All-or-nothing) Consistency Isolation (Concurrent requests do not interfere) Durability (can tolerate failures) T1: Transfer $100 from A to B T2: Transfer $100 from A to C A T1 fully completes or leaves nothing D once T1 commits, T1’s writes are not lost I no races, as if T1 happens either before or after T2 C preserves invariants, e.g., account balance > 0

Consensus Isolation v.s. performance Serializability X = read(A) Y = Read(B) Write (A, x+100) Write (B, y-100) commit X = read(A) Y = Read(B) Print (x+y) commit A (serial) schedule: R(A),R(B),W(A),W(B),C,R(A),R(B),C Serializable? R(A),R(B), R(A),R(B),C, W(A),W(B),C Serializable? R(A),R(B),C, R(A),R(B), W(A),W(B),C Serializable? R(A),R(B), W(A), R(A),R(B),C, W(B),C

2PC Client sends a request to the coordinator X = read(A) Y = Read(B) Write (A, x-100) Write (B, y+100) commit 2PC Client sends a request to the coordinator Coordinator sends a PREPARE message A, B replies YES or NO Coordinator sends a COMMIT or ABORT message COMMIT if both say yes ABORT if either says no

3PC 3PC solves the problem of 2PC by splitting COMMIT into PRE- COMMIT and COMMIT But 3PC has network partition problem

What we have discussed so far Primary backup Consensus Paxos BFT Blockchains

Paxos Tolerates crash failures Completely-safe and largely-live agreement protocol Proposer, acceptor, learners One proposer at a time (viewstamp replication) Handle crash failures, network partitions, etc. (majority voting)

Paxos Why Paxos is correct? What’s the key to correctness?

Chubby Use Paxos to achieve high availability Uses a slightly different method to elect leader and interactions between clients and servers

What we have discussed so far Primary backup Consensus Paxos BFT Blockchains

BFT: What is it? Why? BFT Consensus problem Mask Byzantine failures 3f+1 vs. f indistinguishable

Key to correctness BFT/Byzantine Quorum 2f+1 out of 3f+1 Difference between BFT quorum and CFT quorum? Another way: If there are n nodes in the system… Tolerates one-third failures f=(n-1)/3 Quorum (n+f+1)/2

PBFT Key to correctness?

BChain

BChain Failure detection and recovery on top of fault tolerance

What we have discussed so far Primary backup Consensus Paxos BFT Blockchains

Categories of blockchains What’s it? Based on underlying primitives Permissionless Permissioned Hybrid Based on participants Public blockchains Consortium blockchains Private blockchains

Permissionless blockchain What’s the problem it tries to solve? Why it solves the same problem with permissioned blockchain? What’s block? What’s the chain? How do we make sure everything is correct? What are the issues?

Permisisoned blockchains Consensus using BFT Challenges? Advantages compared to permissioned blockchain?

Permissionless v.s. Permissioned Blockchains M. Vukolic 2015