- Atomic register specification -

Slides:



Advertisements
Similar presentations
1 © R. Guerraoui Universal constructions R. Guerraoui Distributed Programming Laboratory.
Advertisements

COS 461 Fall 1997 Group Communication u communicate to a group of processes rather than point-to-point u uses –replicated service –efficient dissemination.
Transaction Program unit that accesses the database
Transactions - Concurrent access & System failures - Properties of Transactions - Isolation Levels 4/13/2015Databases21.
Chapter 15: Transactions Transaction Concept Transaction Concept Concurrent Executions Concurrent Executions Serializability Serializability Testing for.
© 2005 P. Kouznetsov Computing with Reads and Writes in the Absence of Step Contention Hagit Attiya Rachid Guerraoui Petr Kouznetsov School of Computer.
1 © R. Guerraoui The Power of Registers Prof R. Guerraoui Distributed Programming Laboratory.
Fakultas Ilmu Komputer UI 1 Exercise A series of actions to be taken on the database such that either all actions are completed successfully, or none of.
Life after CAP Ali Ghodsi CAP conjecture [reminder] Can only have two of: – Consistency – Availability – Partition-tolerance Examples.
Replication and Consistency (2). Reference r Replication in the Harp File System, Barbara Liskov, Sanjay Ghemawat, Robert Gruber, Paul Johnson, Liuba.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
Efficient Query Evaluation on Probabilistic Databases
1 © R. Guerraoui Implementing the Consensus Object with Timing Assumptions R. Guerraoui Distributed Programming Laboratory.
1 © R. Guerraoui Object implementations out of faulty base objects Prof R. Guerraoui Distributed Programming Laboratory.
E-Transactions: End-to-End Reliability for Three-Tier Architectures Svend Frølund and Rachid Guerraoui.
Eddie Bortnikov & Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
1 © R. Guerraoui - Shared Memory - R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.
1 The SOCK SAGA Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
1 Dynamic Atomic Storage Without Consensus Alex Shraer (Technion) Joint work with: Marcos K. Aguilera (MSR), Idit Keidar (Technion), Dahlia Malkhi (MSR.
Persistent State Service 1 Distributed Object Transactions  Transaction principles  Concurrency control  The two-phase commit protocol  Services for.
Distributed Systems Non-Blocking Atomic Commit
Midterm Exam 06: Exercise 2 Atomic Shared Memory.
1 © R. Guerraoui Seth Gilbert Professor: Rachid Guerraoui Assistants: M. Kapalka and A. Dragojevic Distributed Programming Laboratory.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
EEC 688/788 Secure and Dependable Computing Lecture 7 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Presented By: Shreya Patel ( ) Vidhi Patel ( ) Universal College Of Engineering And Technology.
1 © R. Guerraoui Regular register algorithms R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.
CORRECTNESS CRITERIA FOR CONCURRENCY & PARALLELISM 6/16/2010 Correctness Criteria for Parallelism & Concurrency 1.
Robustness in the Salus scalable block store Yang Wang, Manos Kapritsos, Zuocheng Ren, Prince Mahajan, Jeevitha Kirubanandam, Lorenzo Alvisi, and Mike.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
Jennifer Widom Transactions Properties. Jennifer Widom Transactions Solution for both concurrency and failures A transaction is a sequence of one or more.
1 © R. Guerraoui Registers Prof R. Guerraoui Distributed Programming Laboratory.
Distributed Storage Systems: Data Replication using Quorums.
Execution Replay and Debugging. Contents Introduction Parallel program: set of co-operating processes Co-operation using –shared variables –message passing.
“Towards Self Stabilizing Wait Free Shared Memory Objects” By:  Hopeman  Tsigas  Paptriantafilou Presented By: Sumit Sukhramani Kent State University.
An algorithm of Lock-free extensible hash table Yi Feng.
“Distributed Algorithms” by Nancy A. Lynch SHARED MEMORY vs NETWORKS Presented By: Sumit Sukhramani Kent State University.
1 © R. Guerraoui Set-Agreement (Generalizing Consensus) R. Guerraoui.
Atomic register algorithms
CSE 486/586 Distributed Systems Consistency --- 1
Concurrent Objects Companion slides for
Computing with anonymous processes
Advanced Operating Systems - Fall 2009 Lecture 8 – Wednesday February 4, 2009 Dan C. Marinescu Office: HEC 439 B. Office hours: M,
COS 418: Advanced Computer Systems Lecture 5 Michael Freedman
Transactions Isolation Levels.
Distributed systems Total Order Broadcast
Transactions Properties.
Outline Announcements Fault Tolerance.
Fail Fail Poor Communication Lack of Documentation Poor Execution.
Shared Memory Consistency Models: A Tutorial
CSE 486/586 Distributed Systems Consistency --- 1
Active replication for fault tolerance
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Transactions Isolation Levels.
Atomic Commit and Concurrency Control
Causal Consistency and Two-Phase Commit
Abstraction.
Kernel Synchronization II
Distributed systems Causal Broadcast
Constructing Reliable Registers From Unreliable Byzantine Components
EEC 688/788 Secure and Dependable Computing
R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch
Computing with anonymous processes
Distributed systems Consensus
R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch
Transaction Communication
Fault-Tolerant SemiFast Implementations of Atomic Read/Write Registers
Presentation transcript:

- Atomic register specification - R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch © R. Guerraoui

The application model P2 Registers P3 P1

Sequential execution P2 P1 W(5) W(6) R()

Sequential execution R() -> 5 R() -> 6 P1 W(5) W(6) P2

Concurrent execution R1() -> ? R2() -> ? R3() -> ? P1 W(5)

Execution with failures P1 W(6) crash W(5) P2

Safety An atomic register provides strong guarantees even when there is concurrency and failures The execution is equivalent to a sequential and failure-free execution (linearization)

Atomic register Every failed (write) operation appears to be either complete or not to have been invoked at all And Every complete operation appears to be executed at some instant between its invocation and reply time events

Execution 1 R1() -> 5 R2() -> 0 R3() -> 25 P1 W(6) W(5) P2

Execution 2 P2 P1 W(5) W(6) R1() -> 5 R2() -> 6 R3() -> 5

Execution 3 P2 P1 W(5) W(6) R1() -> 5 R2() -> 5 R3() -> 5

Execution 4 P2 P1 W(5) W(6) R1() -> 5 R2() -> 6 R3() -> 6

Execution 5 R() -> 5 P1 W(6) crash W(5) P2

Execution 6 Execution 6 R() -> 5 R() -> 6 P1 P1 W(6) crash W(5)

Execution 7 R() -> 6 R() -> 5 P1 P1 W(6) crash W(5) W(5) P2 P2

Correctness Execution 1: non-regular (safe) Executions 2 and 7: non-atomic (regular) Executions 3; 4, 5 and 6: atomic

Regular vs Atomic With one writer and no failed Write(), for a a regular register to be atomic, two successive Read() must not overlap a Write() The regular register might in this case allow the first Read() to obtain the new value and the second Read() to obtain the old value