1 © R. Guerraoui - Shared Memory - R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.

Slides:



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

1 © R. Guerraoui The Limitations of Registers R. Guerraoui Distributed Programming Laboratory.
Transactions - Concurrent access & System failures - Properties of Transactions - Isolation Levels 4/13/2015Databases21.
Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
A General Characterization of Indulgence R. Guerraoui EPFL joint work with N. Lynch (MIT)
1 © R. Guerraoui The Power of Registers Prof R. Guerraoui Distributed Programming Laboratory.
A Simple Critical Section Protocol There are N concurrent processes P 1,…,P N that share some data. A process accessing the shared data is said to execute.
1 CSIS 7102 Spring 2004 Lecture 8: Recovery (overview) Dr. King-Ip Lin.
1 Algorithms and protocols for distributed systems We have defined process groups as having peer or hierarchical structure and have seen that a coordinator.
1 © R. Guerraoui Implementing the Consensus Object with Timing Assumptions R. Guerraoui Distributed Programming Laboratory.
What is ’’hard’’ in distributed computing? R. Guerraoui EPFL/MIT joint work with. Delporte and H. Fauconnier (Univ of Paris)
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
2. Multiprocessors Main Structures 2.1 Shared Memory x Distributed Memory Shared-Memory (Global-Memory) Multiprocessor:  All processors can access all.
Quick Review of May 1 material Concurrent Execution and Serializability –inconsistent concurrent schedules –transaction conflicts serializable == conflict.
What Can Be Implemented Anonymously ? Paper by Rachid Guerraui and Eric Ruppert Presentation by Amir Anter 1.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
1 More Applications of the Pumping Lemma. 2 The Pumping Lemma: Given a infinite regular language there exists an integer for any string with length we.
4. Multiprocessors Main Structures 4.1 Shared Memory x Distributed Memory Shared-Memory (Global-Memory) Multiprocessor:  All processors can access all.
Midterm Exam 06: Exercise 2 Atomic Shared Memory.
CS 603 Data Replication February 25, Data Replication: Why? Fault Tolerance –Hot backup –Catastrophic failure Performance –Parallelism –Decreased.
1 © R. Guerraoui Seth Gilbert Professor: Rachid Guerraoui Assistants: M. Kapalka and A. Dragojevic Distributed Programming Laboratory.
28/08/2015SJF L31 F21SF Software Engineering Foundations ASSUMPTIONS AND TESTING Monica Farrow EM G30 Material available on Vision.
ECE 2372 Modern Digital System Design
Concurrency, Mutual Exclusion and Synchronization.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
1 Lectures on Parallel and Distributed Algorithms COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski Lectures on Parallel and Distributed.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
Global State (1) a)A consistent cut b)An inconsistent cut.
Synchronization CSCI 4780/6780. Mutual Exclusion Concurrency and collaboration are fundamental to distributed systems Simultaneous access to resources.
1 Chapter 9 Synchronization Algorithms and Concurrent Programming Gadi Taubenfeld © 2014 Synchronization Algorithms and Concurrent Programming Synchronization.
1 © R. Guerraoui Regular register algorithms R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch.
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.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-5 Process Synchronization Department of Computer Science and Software.
1 © R. Guerraoui Registers Prof R. Guerraoui Distributed Programming Laboratory.
1 © R. Guerraoui Distributed algorithms Prof R. Guerraoui Assistant Marko Vukolic Exam: Written, Feb 5th Reference: Book - Springer.
Transaction Processing Concepts Muheet Ahmed Butt.
Asynchronous Exclusive Selection Bogdan Chlebus, U. Colorado Darek Kowalski, U. Liverpool.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Storage Systems: Data Replication using Quorums.
“Towards Self Stabilizing Wait Free Shared Memory Objects” By:  Hopeman  Tsigas  Paptriantafilou Presented By: Sumit Sukhramani Kent State University.
“Distributed Algorithms” by Nancy A. Lynch SHARED MEMORY vs NETWORKS Presented By: Sumit Sukhramani Kent State University.
ISA 95 Working Group (Business) Process Centric Exchanges Dennis Brandl A Modest Proposal July 22, 2015.
Order of Operations Oral examples x 5 x x 5 ÷ ÷ 5 x ÷ 5 ÷ 2 9.
1 © R. Guerraoui Set-Agreement (Generalizing Consensus) R. Guerraoui.
Space Bounds for Reliable Storage: Fundamental Limits of Coding Alexander Spiegelman Yuval Cassuto Gregory Chockler Idit Keidar 1.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Lecture 3 – MapReduce: Implementation CSE 490h – Introduction to Distributed Computing, Spring 2009 Except as otherwise noted, the content of this presentation.
DURABILITY OF TRANSACTIONS AND CRASH RECOVERY
Atomic register algorithms
Computational Models Database Lab Minji Jo.
Computing with anonymous processes
Implementing Consistency -- Paxos
Alternating Bit Protocol
Parallel and Distributed Algorithms
Fail Fail Poor Communication Lack of Documentation Poor Execution.
CS 1111 Introduction to Programming Fall 2018
UNIVERSITAS GUNADARMA
Constructing Reliable Registers From Unreliable Byzantine Components
- Atomic register specification -
R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch
Consistency and Replication
Computing with anonymous processes
Implementing Consistency -- Paxos
Distributed systems Consensus
CIS 720 Concurrency Control.
R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch
Fault-Tolerant SemiFast Implementations of Atomic Read/Write Registers
Presentation transcript:

1 © R. Guerraoui - Shared Memory - R. Guerraoui Distributed Programming Laboratory lpdwww.epfl.ch

2 Registers The application model P1 P2 P3

3 Register (assumptions)  For presentation simplicity, we assume registers of integers  We also assume that the initial value of a register is 0 and this value is initialized (written()) by some process before the register is used  We assume that every value written is uniquely identified (this can be ensured by associating a process id and a timestamp with the value)

4 Register: specification  Assume a register that is local to a process, i.e., accessed only by one process:  In this case, the value returned by a Read() is the last value written

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

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

7 Concurrent execution P2 P1 W(5) W(6) R 1 () -> ? R 2 () -> ?R 3 () -> ?

8 Execution with failures P2 P1 W(5) W(6) crash R() -> ?

9 Regular register  It assumes only one writer; multiple processes might however read from the register  It provides strong guarantees when there is no concurrent or failed operations (invoked by processes that fail in the middle)  When some operations are concurrent, or some operation fails, the register provides minimal guarantees

10 Regular register  Read() returns: the last value written if there is no concurrent or failed operations and otherwise the last value written or any value concurrently written, i.e., the input parameter of some Write()

11 Execution P2 P1 W(5) W(6) R 1 ()R 2 ()R 3 ()

12 Results 1 P2 P1 W(5) W(6) R 1 () -> 5R 2 () -> 0R 3 () -> 25

13 Results 2 P2 P1 W(5) W(6) R 1 () -> 5R 2 () -> 6R 3 () -> 5

14 Results 3 P2 P1 W(5) R() -> 5 W(6) crash

15 Results 4 P2 P1 W(5) R() -> 6 W(6) crash

16 Correctness  Results 1: non-regular register (safe)  Results 2; 3; 4: regular register