Slides:



Advertisements
Similar presentations
1 Lecture 20: Synchronization & Consistency Topics: synchronization, consistency models (Sections )
Advertisements

Impossibilities for Disjoint-Access Parallel Transactional Memory : Alessia Milani [Guerraoui & Kapalka, SPAA 08] [Attiya, Hillel & Milani, SPAA 09]
COMP 655: Distributed/Operating Systems Summer 2011 Dr. Chunbo Chu Week 7: Consistency 4/13/20151Distributed Systems - COMP 655.
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
Consistency and Replication Chapter Topics Reasons for Replication Models of Consistency –Data-centric consistency models: strict, linearizable,
Consistency Models Based on Tanenbaum/van Steen’s “Distributed Systems”, Ch. 6, section 6.2.
Computer Science Lecture 14, page 1 CS677: Distributed OS Consistency and Replication Today: –Introduction –Consistency models Data-centric consistency.
Computer Architecture 2011 – coherency & consistency (lec 7) 1 Computer Architecture Memory Coherency & Consistency By Dan Tsafrir, 11/4/2011 Presentation.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Lecture 13 Synchronization (cont). EECE 411: Design of Distributed Software Applications Logistics Last quiz Max: 69 / Median: 52 / Min: 24 In a box outside.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 7 Consistency.
Consistency. Consistency model: –A constraint on the system state observable by applications Examples: –Local/disk memory : –Database: What is consistency?
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
1 Lecture 22: Synchronization & Consistency Topics: synchronization, consistency models (Sections )
State Machines CS 614 Thursday, Feb 21, 2002 Bill McCloskey.
Shared Memory Consistency Models: A Tutorial By Sarita V Adve and Kourosh Gharachorloo Presenter: Sunita Marathe.
Consistency and Replication CSCI 4780/6780. Chapter Outline Why replication? –Relations to reliability and scalability How to maintain consistency of.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Systems CS Consistency and Replication – Part II Lecture 11, Oct 2, 2013 Mohammad Hammoud.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 3 (26/01/2006) Instructor: Haifeng YU.
CS425/CSE424/ECE428 – Distributed Systems Nikita Borisov - UIUC1 Some material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra,
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 25, 2011 Synchronization.ppt Synchronization These notes will introduce: Ways to achieve.
Shared Memory Consistency Models. SMP systems support shared memory abstraction: all processors see the whole memory and can perform memory operations.
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.
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Distributed Systems CS Consistency and Replication – Part I Lecture 10, September 30, 2013 Mohammad Hammoud.
Chapter 4 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University Building Dependable Distributed Systems.
Hwajung Lee.  Improves reliability  Improves availability ( What good is a reliable system if it is not available?)  Replication must be transparent.
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
Replication Improves reliability Improves availability ( What good is a reliable system if it is not available?) Replication must be transparent and create.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
EEC 688/788 Secure and Dependable Computing Lecture 9 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Synchronization in Distributed File Systems Advanced Operating System Zhuoli Lin Professor Zhang.
Consistency and Replication CSCI 6900/4900. FIFO Consistency Relaxes the constraints of the causal consistency “Writes done by a single process are seen.
Clock Snooping and its Application in On-the-fly Data Race Detection Koen De Bosschere and Michiel Ronsse University of Ghent, Belgium Taipei, TaiwanDec.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Consistency --- 2
Processes and threads.
CS6320 – Performance L. Grewe.
CSE 486/586 Distributed Systems Consistency --- 2
Distributed Systems CS
Consistency and Replication
Consistency and Replication
Replication and Consistency
COT 5611 Operating Systems Design Principles Spring 2012
Consistency Models.
Replication and Consistency
Distributed Systems CS
Linearizability Linearizability is a correctness criterion for concurrent object (Herlihy & Wing ACM TOPLAS 1990). It provides the illusion that each operation.
IS 651: Distributed Systems Consistency
DATA CENTRIC CONSISTENCY MODELS
Replication Improves reliability Improves availability
Active replication for fault tolerance
Distributed Systems CS
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
COMP60621 Fundamentals of Parallel and Distributed Systems
Lecture 10: Consistency Models
Distributed Systems CS
EEC 688/788 Secure and Dependable Computing
Synchronization These notes introduce:
COMP60611 Fundamentals of Parallel and Distributed Systems
Consistency and Replication
CSE 486/586 Distributed Systems Consistency --- 2
CSE 486/586 Distributed Systems Consistency --- 3
COT 5611 Operating Systems Design Principles Spring 2014
Replication and Consistency
Lecture 11: Consistency Models
Presentation transcript:

Consistency models

Types of Consistency Models Consistency models can be divided into two types: Data-Centric Consistency Models These models define how the data updates are propagated across the replicas to keep them consistent Client-Centric Consistency Models These models assume that clients connect to different replicas at different times The models ensure that whenever a client connects to a replica, the replica is brought up-to-date with the replica that the client accessed previously 7

Data-centric consistency models

Strict consistency Each operation is stamped with a global wall- clock time Rules: Rule 1: Each read gets the latest written value Rule 2: All operations at one CPU are executed in order of their timestamps

So, strict consistency has very intuitive behavior Essentially, the same semantic as on a uniprocessor! But how to implement it efficiently?

Implementing Strict Consistency To achieve, one would need to ensure: Each read must be aware of, and wait for, each write Real-time clocks are strictly synchronized... Unfortunately: Time between instructions << speed-of-light… Real-clock synchronization is tough So, strict consistency is tough to implement efficiently

More Examples

More Examples

Seq. Consistency Is Easier To Implement Efficiently No notion of real time System has some leeway in how it interleaves different machines' ops Not forced to order by op start time, as in strict consistency Performance is still not great Once a machine's write completes, other machines' reads must see new data Thus communication cannot be omitted or much delayed Thus either reads or writes (or both) will be expensive

Sequential Consistency Requirements Each processor issues requests in the order specified by the program Do not issue the next request unless the previous one has finished Requests to an individual memory location (storage object) are served from a single FIFO queue. Writes occur in a single order Once a read observes the effect of a write, it’s ordered behind that write

More Examples

Why Causal Consistency? Causal consistency is strictly weaker than sequential consistency and can give weird results , as you’ve seen If system is sequentially consistent => it is also causally consistent BUT: it also offers more possibilities for concurrency Concurrent operations (which are not causally- dependent) can be executed in different orders by different people In contrast, with sequential consistency, you need to enforce a global ordering of all operations Hence, one can get better performance than sequential Not very popular in industry

Client-centric consistency models

Consistency protocols