Synchronization Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University

Size: px
Start display at page:

Download "Synchronization Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University"

Transcription

1 Synchronization Part II CS403/534 Distributed Systems Erkay Savas Sabanci University 1

2 Election Algorithms Issue: Many distributed algorithms require that one process act as a coordinator (initiator, etc). In many systems this is done manually. This leads to centralized solutions single point of failure The question is how to select this special process dynamically. Advantage of dynamic selection If the coordinator dies, then another coordinator can be elected dynamically. Assumptions: Every process has a unique ID and processes know each other s ID A running process with the highest ID becomes the coordinator 2

3 The Bully Algorithm Algorithm: When a process P notices that the coordinator is not responding, it holds an election as follows: 1. Process P sends an ELECTION message to all processes with higher ID numbers 2. If no one responds, P wins the election and becomes coordinator 3. If an OK message is returned by a process, P gives up and responding process holds an election. 3

4 The Bully Algorithm: Example (1) election election OK 1 OK election Process 4 holds an election Process 5 and 6 respond, telling 4 to stop Now 5 and 6 each hold an election 4

5 The Bully Algorithm: Example (2) d) Process 6 tells 5 to stop e) Process 6 wins and tells everyone OK 6 4 Coordinator

6 A Ring Algorithm (1) Principle: Processes are arranged on a ring and process with the highest ID number is elected as a coordinator Algorithm: Any process that notices the coordinator is down can start the election. It first builds an ELECTION message containing its own ID number Sends this message to its successor Process that receives this message adds its number and passes it along Eventually, the message comes back to the initiator with a list of alive processes. 6

7 A Ring Algorithm (2) [5,6,0] 1 [5,6,0,1] 0 2 [2] 7 3 [5, 6] no response 6 6 is the new coordinator 4 [2,3] [5] 5 Both 2 and 5 notice the coordinator (7) is down 7

8 Mutual Exclusion Problem: A number of processes in a distributed system want exclusive access to a resource Solutions: 1. Via a coordinator 2. Completely distributed, with no topology imposed 3. Completely distributed, making use of a (logical) ring Centralized approach The coordinator grants or defers permission It keeps the deferred requests in a queue When the resource is available, it picks up the deferred request from the top of queue and sends the blocked process a grant message 8

9 Mutual Exclusion: A Centralized Algorithm request coordinator 3 OK request 3 no reply 2 release 3 OK Queue Queue Queue a) Process 1 asks the coordinator for permission to enter a critical region. Permission is granted b) Process 2 then asks permission to enter the same critical region. The coordinator does not reply. c) When process 1 exits the critical region, it tells the coordinator, when then replies to 2 9

10 Distributed Mutual Exclusion Algorithm Assumptions: Processes use logical clocks (totally-ordered) Sending messages are reliable (i.e. ACKed) Algorithm: When a process wants to enter a critical region, it sends to all other processes a message containing the name of the critical region, its process ID, and its current logical time 1. If the receiver is not in the critical region and does not want to enter it, it sends back an OK message 2. If the sender is already in the critical region, it does not reply. It queues the request. 3. If the receiver also wants to enter the critical region but has not yet done so, it compares the timestamps. The one with the lower timestamp wins. 10

11 A Distributed Algorithm enters critical region OK 0 OK 1 2 OK 0 OK enters critical region a) Two processes want to enter the same critical region at the same moment. b) Process 0 has the lowest timestamp, so it wins. c) When process 0 is done, it sends an OK also, so 2 can now enter the critical region. 11

12 Essence: Token Ring Mutual Exclusion Algorithm Organize the processes in a logical ring, and let a token be passed between them. The one that holds the token is allowed to enter the critical region (if it wants to) Problems: The token may get lost (It is not easy to detect it) A process can crash and it cannot pass the token along. If we require a process receiving the token to acknowledge the receipt, a dead process can be detected. 12

13 A Toke Ring Algorithm A logical ring constructed in software. 13

14 Comparison of Mutual Exclusion Algorithms Algorithm Messages per entry/exit Delay before entry (in message numbers) Problems Centralized 3 2 Coordinator crash Distributed 2 ( n 1 ) 2 ( n 1 ) Crash of any process Token ring 1 to 0 to n 1 Lost token, process crash A comparison of three mutual exclusion algorithms. Assumption: Point-to-point communication channels are used 14

15 Distributed Transactions They allow a process to access and modify many data items as a single atomic operation Therefore they are strongly related to mutual exclusion. If the process cannot complete all the suboperations, everything will be restored to the state before the transaction began All-ornothing property Outline The transaction model Classification of transactions Concurrency control 15

16 Transactions Example: A customer performs the following two operations on its bank account remotely 1. Withdraw an amount A from account 1 2. Deposit amount A to account 2 What happens if the connection is broken only after the first operation is performed? Two operations in this example, must be treated as part of a transaction either both would be completed, or neither would be completed 16

17 Transaction Primitives Primitive BEGIN_TRANSACTION END_TRANSACTION ABORT_TRANSACTION READ WRITE Description Make the start of a transaction Terminate the transaction and try to commit Kill the transaction and restore the old values Read data from a file, a table, or otherwise Write data to a file, a table, or otherwise Primitives must either be supplied by the underlying distributed systems or by the language runtime system 17

18 Example: Plane Reservation BEGIN_TRANSACTION reserve ANK -> IST; reserve IST -> CHI; reserve CHI -> LAX; END_TRANSACTION (a) 1. BEGIN_TRANSACTION 2. reserve ANK -> IST; OK 3. reserve IST -> CHI; OK 4. reserve CHI -> LAX full 5. ABORT_TRANSACTION (b) a) Transaction to reserve three flights commits b) Transaction aborts when third flight is unavailable 18

19 Transaction: ACID Properties Atomicity: To the outside world, a transaction is indivisible. Consistent: The transaction does not violate system invariants. e.g., the law of conservation of money in a bank. A transaction establishes a valid state transition. Invalid, intermediate states during the transaction s execution are possible Isolated: Concurrent transactions do not interfere with each other. Transactions are isolated or serializable. Durable: Once a transaction commits, the changes are permanent 19

20 Classification: Flat Transaction The simplest and most familiar one. Satisfies the ACID properties. Problem: It does not allow partial results to be committed or aborted. Example: flight reservation It would be nice if we made any subset of the three reservations (commit them) and dealt with the rest later. 20

21 Classification: Nested Transactions A nested transaction is constructed from a number of subtransactions Parent transaction may fork off subtransactions that may execute in isolation (possibly on different machines) Once a subtransaction commits, its state will become visible to the parent transaction. If the parent transaction aborts, all child subtransactions have to abort as well The permanency of subtransactions are not applicable A subtransaction is given a private copy of all the data in the entire system to manipulate it. 21

22 Classification: Distributed Transactions A distributed transaction is a flat, indivisible transaction that operates on distributed data. Nested transactions generally follow logical division of the work of the original transaction. A subtransaction can still be distributed The main problem of distributed transaction is that it requires distributed locking algorithms. 22

23 Implementing Transactions Solution 1: private workspace Case Study: Transactions on file system When a process starts a transaction, it is given a private workspace to work All the reads and writes are done on this private workspace, not on the original disk blocks. All the other processes see the original blocks of file until the transaction commits The transaction will have a private view of the file system After committing, this view will be globally unique 23

24 index Private Workspace original private index workspace index free blocks a) The file index and disk blocks for a three-block file b) The situation after a transaction has modified block 0 and appended block 3 c) After committing 24

25 Implementing Transactions Solution 2: writeahead log Use a writeahead log in which changes are recorded allowing you to rollback when things go wrong. x = 0; Log Log Log y = 0; BEGIN_TRANSACTION; x = x + 1; [x = 0 / 1] [x = 0 / 1] [x = 0 / 1] y = y + 2; [y = 0/2] [y = 0/2] x = y * y; [x = 1/4] END_TRANSACTION; (a) (b) (c) (d) a) A transaction b) d) The log before each statement is executed 25

26 Concurrency Control (1) Problem Increase efficiency by allowing several transactions to execute at the same time and we have to do it in such a way that consistency and isolation properties are not violated. Constraint Effect should be the same as if the transactions were executed in some serial (sequential) order. The same data items must be accessed in a specific order by different transactions However, the final result is the same as if all transactions had run sequentially. 26

27 Concurrency Control: Layered Organization Transactions READ/WRITE BEGIN_TRANSACTION END_TRANSACTION Transaction manager Atomicity LOCK/RELEASE or Timestamp operations Scheduler Controlling concurrency (isolation & consistency ) Data manager Execute read/write General organization of managers for handling transactions. 27

28 Concurrency Control in Distributed Systems transaction manager scheduler scheduler scheduler General organization of managers for handling distributed transactions. data manager data manager data manager Machine A Machine B Machine C 28

29 Serializability Consider a collection E of transactions: T 1,, T n. Goal is to conduct a serializable execution of E: Transactions in E are possibly concurrently executed according to some schedule S. Schedule S is equivalent to some totally ordered execution of suboperations in T 1,, T n. 29

30 Serializability: Example T 1 : BEGIN_TRANSACTION x = 0; x = x + 1; END_TRANSACTION T 2 : BEGIN_TRANSACTION x = 0; x = x + 2; END_TRANSACTION T 3 : BEGIN_TRANSACTION x = 0; x = x + 3; END_TRANSACTION (a) (b) (c) Schedule 1 Schedule 2 Schedule 3 x = 0; x = x + 1; x = 0; x = x + 2; x = 0; x = x + 3; x = 0; x = 0; x = x + 1; x = x + 2; x = 0; x = x + 3; x = 0; x = 0; x = x + 1; x = 0; x = x + 2; x = x + 3; Legal/serialized Legal/unseriliazed Illegal (d) a) c)three transactions T 1, T 2, and T 3 d)possible schedules 30

31 Serializability : Conflicts Model of computation: Since we are not interested in the specific computations of each transaction, a transaction can be modeled as a series of read and write operations on data items. Conflicting operations: Two operations oper(t i, x) and oper(t j, x) of two transactions T i and T j on the same data item x may conflict at data manager. read-write conflict: One operation is a read and the other is a write write-write conflict: Both are write operations Two read operations never conflict 31

32 Synchronization Concurrency control algorithms can generally be classified by looking at the way read and write operations are synchronized Synchronization can be achieved through Mutual exclusion mechanism on shared data (i.e. locking). Before writing or reading of a data item, a lock must be obtained. Explicitly ordering operations using timestamps. Data managers are forced to execute read and writes following timestamp order Optimistic and pessimistic concurrency control 32

33 Two-Phase Locking (2PL) Transactions indicate their intentions by requesting locks from the scheduler (a.k.a lock manager). Locks are either read lock (a.k.a. shared lock) or write lock (a.k.a. exclusive lock) Read locks and write locks conflict (because read and write operations are incompatible) Read lock Write lock Read lock Yes No Write lock No No Scheduler needs to apply an algorithm that provides only serializable schedules. 33

34 2PL: Rules 1. A transaction must lock an object before using it. 2. If the object is locked by another transaction, the requesting transaction must wait (unless it is a non-conflicting lock). 3. When a transaction releases a lock, it may not request another lock. These rules guarantee lock operation release Growing phase: A transaction collects locks on data items it needs to operate on Shrinking phase: starts with the first unlock operation 34

35 2PL Two-phase locking. 35

36 Strict two-phase locking. Strict-2PL 36

37 Strict-2PL: Advantages 1. A transaction reads a value written by a committed transaction; therefore a transaction never has to abort because another transaction aborts extreme case is cascaded aborts. 2. All lock acquisitions and releases can be handled by the system automatically; locks are acquired whenever a data item is to be accessed and released when the transaction commits. 37

38 2PL: Example (1) Initial values: x = y = z = 50; Two Transactions: T 1 : T 2 : x = x y = y z = y + z z = 2z + x x = 2x y = 2y (Serialized) Order: T 1 T 2 T 1 : x = 150 y = 200 z = 250 T 2 : x = 300 y = 400 z = 650 T 2 T 1 x = 200 y = 250 z =

39 Ordering without 2PL: Example Initial values: x = y = z = 50 T 1 lock x T 2 lock z modify x (x=150) x=x+100 wait for lock on x unlock x lock y lock x modify y (y=200) y=y+150 modify z (z = 250) z=2z + x unlock y unlock z lock z modify x (x=300) x = 2x modify z (z=450) z=y+z lock y unlock z modify y (y = 400) y= 2y unlock x and y Result: x = 300, y = 400, z =

40 2PL: Problems System can come to a deadlock If two transactions each try to acquire the same pair of locks but in the opposite order, a deadlock may occur (see the previous result) Solution Put a timeout on locks and abort transaction on lock expiration. Deadlock detection algorithms. Maintaining an explicit graph of which process has which locks and wants which locks; and checking the graph for cycles 40

41 Timestamp Ordering (1) Basic idea: Transaction manager assigns a unique timestamp ts(t i ) to each transaction T i. Every operation in T i is timestamped with ts(t i ). Each data item x has also a read timestamp, ts RD (x), and a write timestamp ts WR (x). ts RD (x)is set to the timestamp of the transaction that has most recently read x. Similarly, ts WR (x)is set to timestamp of the transaction that has most recently changed x. In case of conflicting operations on data item x, the data manager processes the one with the lowest timestamp first. 41

42 Timestamp Ordering (2) Suppose: two conflicting operations read(t i, x), write(t j, x) ts(t i ) < ts(t j ), but write(t j, x) has already been processed by the data manager Then, the scheduler must reject read(t i, x) Note: Timestamp ordering is rather aggressive for if a single operation is rejected, the transaction will have to be aborted Example: read(t, x) if ts(t) < ts WR (x) then T must be aborted if ts(t) > ts WR (x) then read(t, x) can be executed (ts RD (x):= max(ts(t), ts RD (x))) 42

43 Timestamp Ordering (3) Example: write(t, x) if ts(t) < ts RD (x) then T must be aborted if ts(t) > ts RD (x) then write(t, x) can be executed Suppose: two conflicting operations oper(t i, x) and oper(t j, x) ts(t i ) < ts(t j ), and oper(t i, x) is submitted to the data manager It holds back oper(t j, x) 43

44 Pessimistic Timestamp Ordering: Example (1) ts(t 1 ) << ts(t 2 ) < ts(t 3 ). Initially, ts RD (x) = ts WR (x) = ts(t 1 ) T 2 is trying to write x ts RD (x) ts WR (x) ts(t 2 ) ts(t 2 ) ts WR (x) (T 1 ) (T 1 ) (T 2 ) (T 2 ) (T 3 ) write is accepted time write is not accepted time ts(t 2 ) ts RD (x) (T 2 ) (T 3 ) write is not accepted time 44

45 Pessimistic Timestamp Ordering: Example (2) ts(t 1 ) << ts(t 4 ) < ts(t 2 ) < ts(t 3 ) Initially, ts RD (x) = ts WR (x) = ts(t 1 ) T 2 is trying to read x ts WR (x) ts(t 2 ) ts(t 2 ) ts WR (x) (T 1 ) (T 2 ) (T 2 ) (T 3 ) no conflict time Abort time ts WR (x) ts tent (x) ts(t 2 ) ts(t 2 ) ts tent (x) (T 1 ) (T 4 ) (T 2 ) (T 2 ) (T 3 ) time no conflict, T 2 just waits Abort time 45

46 Optimistic Concurrency Control Observation: 1. Maintaining locks is expensive 2. In practice, there are not many conflicts Alternative Go ahead immediately with all operations, use tentative writes everywhere (shadow or private copies), solve conflicts while committing Phases: 1. Allow operations tentatively 2. validate effects (through checking all transactions) 3. make updates permanent 46

Synchronization Part 2. REK s adaptation of Claypool s adaptation oftanenbaum s Distributed Systems Chapter 5 and Silberschatz Chapter 17

Synchronization Part 2. REK s adaptation of Claypool s adaptation oftanenbaum s Distributed Systems Chapter 5 and Silberschatz Chapter 17 Synchronization Part 2 REK s adaptation of Claypool s adaptation oftanenbaum s Distributed Systems Chapter 5 and Silberschatz Chapter 17 1 Outline Part 2! Clock Synchronization! Clock Synchronization Algorithms!

More information

Synchronization. Chapter 5

Synchronization. Chapter 5 Synchronization Chapter 5 Clock Synchronization In a centralized system time is unambiguous. (each computer has its own clock) In a distributed system achieving agreement on time is not trivial. (it is

More information

Synchronization. Clock Synchronization

Synchronization. Clock Synchronization Synchronization Clock Synchronization Logical clocks Global state Election algorithms Mutual exclusion Distributed transactions 1 Clock Synchronization Time is counted based on tick Time judged by query

More information

Part III Transactions

Part III Transactions Part III Transactions Transactions Example Transaction: Transfer amount X from A to B debit(account A; Amount X): A = A X; credit(account B; Amount X): B = B + X; Either do the whole thing or nothing ACID

More information

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms Distributed Systems Principles and Paradigms Chapter 05 (version 16th May 2006) Maarten van Steen Vrije Universiteit Amsterdam, Faculty of Science Dept. Mathematics and Computer Science Room R4.20. Tel:

More information

Synchronization (contd.)

Synchronization (contd.) Outline Synchronization (contd.) http://net.pku.edu.cn/~course/cs501/2008 Hongfei Yan School of EECS, Peking University 3/17/2008 Mutual Exclusion Permission-based Token-based Election Algorithms The Bully

More information

Transactions. A Banking Example

Transactions. A Banking Example Transactions A transaction is specified by a client as a sequence of operations on objects to be performed as an indivisible unit by the servers managing those objects Goal is to ensure that all objects

More information

DISTRIBUTED SYSTEMS [COMP9243] Lecture 5: Synchronisation and Coordination (Part 2) TRANSACTION EXAMPLES TRANSACTIONS.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 5: Synchronisation and Coordination (Part 2) TRANSACTION EXAMPLES TRANSACTIONS. TRANSACTIONS Transaction: DISTRIBUTED SYSTEMS [COMP94] Comes from database world Defines a sequence of operations Atomic in presence of multiple clients and failures Slide Lecture 5: Synchronisation and

More information

DISTRIBUTED SYSTEMS [COMP9243] Lecture 5: Synchronisation and Coordination (Part 2) TRANSACTION EXAMPLES TRANSACTIONS.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 5: Synchronisation and Coordination (Part 2) TRANSACTION EXAMPLES TRANSACTIONS. TRANSACTIONS Transaction: DISTRIBUTED SYSTEMS [COMP94] Comes from database world Defines a sequence of operations Atomic in presence of multiple clients and failures Slide Lecture 5: Synchronisation and

More information

Atomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence?

Atomic Transac1ons. Atomic Transactions. Q1: What if network fails before deposit? Q2: What if sequence is interrupted by another sequence? CPSC-4/6: Operang Systems Atomic Transactions The Transaction Model / Primitives Serializability Implementation Serialization Graphs 2-Phase Locking Optimistic Concurrency Control Transactional Memory

More information

(Pessimistic) Timestamp Ordering

(Pessimistic) Timestamp Ordering (Pessimistic) Timestamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed

More information

(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Read Operations and Timestamps. Write Operations and Timestamps

(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Read Operations and Timestamps. Write Operations and Timestamps (Pessimistic) stamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed

More information

Distributed Systems (ICE 601) Transactions & Concurrency Control - Part1

Distributed Systems (ICE 601) Transactions & Concurrency Control - Part1 Distributed Systems (ICE 601) Transactions & Concurrency Control - Part1 Dongman Lee ICU Class Overview Transactions Why Concurrency Control Concurrency Control Protocols pessimistic optimistic time-based

More information

Control. CS432: Distributed Systems Spring 2017

Control. CS432: Distributed Systems Spring 2017 Transactions and Concurrency Control Reading Chapter 16, 17 (17.2,17.4,17.5 ) [Coulouris 11] Chapter 12 [Ozsu 10] 2 Objectives Learn about the following: Transactions in distributed systems Techniques

More information

Concurrency control CS 417. Distributed Systems CS 417

Concurrency control CS 417. Distributed Systems CS 417 Concurrency control CS 417 Distributed Systems CS 417 1 Schedules Transactions must have scheduled so that data is serially equivalent Use mutual exclusion to ensure that only one transaction executes

More information

Database systems. Database: a collection of shared data objects (d1, d2, dn) that can be accessed by users

Database systems. Database: a collection of shared data objects (d1, d2, dn) that can be accessed by users Database systems Database: a collection of shared data objects (d1, d2, dn) that can be accessed by users every database has some correctness constraints defined on it (called consistency assertions or

More information

Concurrency Control. Transaction Management. Lost Update Problem. Need for Concurrency Control. Concurrency control

Concurrency Control. Transaction Management. Lost Update Problem. Need for Concurrency Control. Concurrency control Concurrency Control Process of managing simultaneous operations on the database without having them interfere with one another. Transaction Management Concurrency control Connolly & Begg. Chapter 19. Third

More information

Chapter 22. Transaction Management

Chapter 22. Transaction Management Chapter 22 Transaction Management 1 Transaction Support Transaction Action, or series of actions, carried out by user or application, which reads or updates contents of database. Logical unit of work on

More information

Transaction Management. Pearson Education Limited 1995, 2005

Transaction Management. Pearson Education Limited 1995, 2005 Chapter 20 Transaction Management 1 Chapter 20 - Objectives Function and importance of transactions. Properties of transactions. Concurrency Control Deadlock and how it can be resolved. Granularity of

More information

Distributed Synchronization. EECS 591 Farnam Jahanian University of Michigan

Distributed Synchronization. EECS 591 Farnam Jahanian University of Michigan Distributed Synchronization EECS 591 Farnam Jahanian University of Michigan Reading List Tanenbaum Chapter 5.1, 5.4 and 5.5 Clock Synchronization Distributed Election Mutual Exclusion Clock Synchronization

More information

Distributed Systems Synchronization

Distributed Systems Synchronization Distributed Systems Synchronization Gianpaolo Cugola Dipartimento di Elettronica e Informazione Politecnico, Italy cugola@elet.polimi.it http://home.dei.polimi.it/cugola http://corsi.dei.polimi.it/distsys

More information

Distributed Systems COMP 212. Revision 2 Othon Michail

Distributed Systems COMP 212. Revision 2 Othon Michail Distributed Systems COMP 212 Revision 2 Othon Michail Synchronisation 2/55 How would Lamport s algorithm synchronise the clocks in the following scenario? 3/55 How would Lamport s algorithm synchronise

More information

Concurrency Control in Distributed Systems. ECE 677 University of Arizona

Concurrency Control in Distributed Systems. ECE 677 University of Arizona Concurrency Control in Distributed Systems ECE 677 University of Arizona Agenda What? Why? Main problems Techniques Two-phase locking Time stamping method Optimistic Concurrency Control 2 Why concurrency

More information

Exam 2 Review. Fall 2011

Exam 2 Review. Fall 2011 Exam 2 Review Fall 2011 Question 1 What is a drawback of the token ring election algorithm? Bad question! Token ring mutex vs. Ring election! Ring election: multiple concurrent elections message size grows

More information

PROCESS SYNCHRONIZATION

PROCESS SYNCHRONIZATION DISTRIBUTED COMPUTER SYSTEMS PROCESS SYNCHRONIZATION Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Process Synchronization Mutual Exclusion Algorithms Permission Based Centralized

More information

Synchronisation and Coordination (Part 2)

Synchronisation and Coordination (Part 2) The University of New South Wales School of Computer Science & Engineering COMP9243 Week 5 (18s1) Ihor Kuz, Manuel M. T. Chakravarty & Gernot Heiser Synchronisation and Coordination (Part 2) Transactions

More information

Concurrency Control. Data Base Management Systems. Inherently Concurrent Systems: The requirements

Concurrency Control. Data Base Management Systems. Inherently Concurrent Systems: The requirements Concurrency Control Inherently Concurrent Systems: These are Systems that respond to and manage simultaneous activities in their external environment which are inherently concurrent and maybe broadly classified

More information

CSE 5306 Distributed Systems. Synchronization

CSE 5306 Distributed Systems. Synchronization CSE 5306 Distributed Systems Synchronization 1 Synchronization An important issue in distributed system is how processes cooperate and synchronize with one another Cooperation is partially supported by

More information

T ransaction Management 4/23/2018 1

T ransaction Management 4/23/2018 1 T ransaction Management 4/23/2018 1 Air-line Reservation 10 available seats vs 15 travel agents. How do you design a robust and fair reservation system? Do not enough resources Fair policy to every body

More information

Mutual Exclusion. A Centralized Algorithm

Mutual Exclusion. A Centralized Algorithm Mutual Exclusion Processes in a distributed system may need to simultaneously access the same resource Mutual exclusion is required to prevent interference and ensure consistency We will study three algorithms

More information

BCA204T: DATA BASE MANAGEMENT SYSTEMS

BCA204T: DATA BASE MANAGEMENT SYSTEMS BCA204T: DATA BASE MANAGEMENT SYSTEMS Page 1 of 12 BCA204T: DATA BASE MANAGEMENT SYSTEMS Unit - V Transaction Processing Concepts: Introduction, Transaction and System Concepts, Desirable properties of

More information

Last Class: Clock Synchronization. Today: More Canonical Problems

Last Class: Clock Synchronization. Today: More Canonical Problems Last Class: Clock Synchronization Logical clocks Vector clocks Global state Lecture 12, page 1 Today: More Canonical Problems Distributed snapshot and termination detection Election algorithms Bully algorithm

More information

Transaction Processing: Basics - Transactions

Transaction Processing: Basics - Transactions Transaction Processing: Basics - Transactions Transaction is execution of program that accesses DB Basic operations: 1. read item(x): Read DB item X into program variable 2. write item(x): Write program

More information

transaction - (another def) - the execution of a program that accesses or changes the contents of the database

transaction - (another def) - the execution of a program that accesses or changes the contents of the database Chapter 19-21 - Transaction Processing Concepts transaction - logical unit of database processing - becomes interesting only with multiprogramming - multiuser database - more than one transaction executing

More information

CS October 2017

CS October 2017 Atomic Transactions Transaction An operation composed of a number of discrete steps. Distributed Systems 11. Distributed Commit Protocols All the steps must be completed for the transaction to be committed.

More information

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers

Clock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another

More information

Foundation of Database Transaction Processing. Copyright 2012 Pearson Education, Inc.

Foundation of Database Transaction Processing. Copyright 2012 Pearson Education, Inc. Foundation of Database Transaction Processing Copyright 2012 Pearson Education, Inc. Chapter Outline - 17.1 Introduction to Transaction Processing - 17.2 Transaction and System Concepts - 17.3 Desirable

More information

DB2 Lecture 10 Concurrency Control

DB2 Lecture 10 Concurrency Control DB2 Lecture 10 Control Jacob Aae Mikkelsen November 28, 2012 1 / 71 Jacob Aae Mikkelsen DB2 Lecture 10 Control ACID Properties Properly implemented transactions are commonly said to meet the ACID test,

More information

Intro to Transactions

Intro to Transactions Reading Material CompSci 516 Database Systems Lecture 14 Intro to Transactions [RG] Chapter 16.1-16.3, 16.4.1 17.1-17.4 17.5.1, 17.5.3 Instructor: Sudeepa Roy Acknowledgement: The following slides have

More information

Database Management Systems Concurrency Control

Database Management Systems Concurrency Control atabase Management Systems Concurrency Control B M G 1 BMS Architecture SQL INSTRUCTION OPTIMIZER MANAGEMENT OF ACCESS METHOS CONCURRENCY CONTROL BUFFER MANAGER RELIABILITY MANAGEMENT Index Files ata Files

More information

For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL

For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL For more Articles Go To: Whatisdbms.com CONCURRENCY CONTROL PROTOCOL In the multi-user system, we all know that multiple transactions run in parallel, thus trying to access the same data and suppose if

More information

DATABASE DESIGN I - 1DL300

DATABASE DESIGN I - 1DL300 DATABASE DESIGN I - 1DL300 Spring 2011 An introductory course on database systems http://www.it.uu.se/edu/course/homepage/dbastekn/vt11/ Manivasakan Sabesan Uppsala Database Laboratory Department of Information

More information

Distributed Systems. 12. Concurrency Control. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 12. Concurrency Control. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 12. Concurrency Control Paul Krzyzanowski Rutgers University Fall 2017 2014-2017 Paul Krzyzanowski 1 Why do we lock access to data? Locking (leasing) provides mutual exclusion Only

More information

CS5412: TRANSACTIONS (I)

CS5412: TRANSACTIONS (I) 1 CS5412: TRANSACTIONS (I) Lecture XVII Ken Birman Transactions 2 A widely used reliability technology, despite the BASE methodology we use in the first tier Goal for this week: in-depth examination of

More information

Chapter 7 (Cont.) Transaction Management and Concurrency Control

Chapter 7 (Cont.) Transaction Management and Concurrency Control Chapter 7 (Cont.) Transaction Management and Concurrency Control In this chapter, you will learn: What a database transaction is and what its properties are What concurrency control is and what role it

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6302- DATABASE MANAGEMENT SYSTEMS Anna University 2 & 16 Mark Questions & Answers Year / Semester: II / III

More information

Transaction Management

Transaction Management Transaction Management Imran Khan FCS, IBA In this chapter, you will learn: What a database transaction is and what its properties are How database transactions are managed What concurrency control is

More information

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9

Transactions. Kathleen Durant PhD Northeastern University CS3200 Lesson 9 Transactions Kathleen Durant PhD Northeastern University CS3200 Lesson 9 1 Outline for the day The definition of a transaction Benefits provided What they look like in SQL Scheduling Transactions Serializability

More information

Distributed Transaction Management

Distributed Transaction Management Distributed Transaction Management Material from: Principles of Distributed Database Systems Özsu, M. Tamer, Valduriez, Patrick, 3rd ed. 2011 + Presented by C. Roncancio Distributed DBMS M. T. Özsu & P.

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 5: Concurrency Control Topics Data Database design Queries Decomposition Localization Optimization Transactions Concurrency control Reliability

More information

Problem: if one process cannot perform its operation, it cannot notify the. Thus in practise better schemes are needed.

Problem: if one process cannot perform its operation, it cannot notify the. Thus in practise better schemes are needed. Committing Transactions T 1 T T2 2 T T3 3 Clients T n Transaction Manager Transaction Manager (Coordinator) Allocation of transaction IDs (TIDs) Assigning TIDs with Coordination of commitments, aborts,

More information

Silberschatz and Galvin Chapter 18

Silberschatz and Galvin Chapter 18 Silberschatz and Galvin Chapter 18 Distributed Coordination CPSC 410--Richard Furuta 4/21/99 1 Distributed Coordination Synchronization in a distributed environment Ð Event ordering Ð Mutual exclusion

More information

Chapter 16: Distributed Synchronization

Chapter 16: Distributed Synchronization Chapter 16: Distributed Synchronization Chapter 16 Distributed Synchronization Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election Algorithms Reaching Agreement 18.2

More information

0: BEGIN TRANSACTION 1: W = 1 2: X = W + 1 3: Y = X * 2 4: COMMIT TRANSACTION

0: BEGIN TRANSACTION 1: W = 1 2: X = W + 1 3: Y = X * 2 4: COMMIT TRANSACTION Transactions 1. a) Show how atomicity is maintained using a write-ahead log if the system crashes when executing statement 3. Main memory is small, and can only hold 2 variables at a time. Initially, all

More information

Distributed Transactions

Distributed Transactions Distributed ransactions 1 ransactions Concept of transactions is strongly related to Mutual Exclusion: Mutual exclusion Shared resources (data, servers,...) are controlled in a way, that not more than

More information

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 13 Managing Transactions and Concurrency

Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 13 Managing Transactions and Concurrency Objectives In this chapter, you will learn: What a database transaction

More information

Chapter 18: Distributed

Chapter 18: Distributed Chapter 18: Distributed Synchronization, Silberschatz, Galvin and Gagne 2009 Chapter 18: Distributed Synchronization Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election

More information

Distributed Transactions Brian Nielsen

Distributed Transactions Brian Nielsen Distributed Transactions Brian Nielsen bnielsen@cs.auc.dk Transactions SAS Travel reservation Begin_transaction if(reserve(sas.cph2paris)==full) Abort if(reserve(paris.hotel)==full) Abort If(reserve(KLM.Paris2Ams)==full)

More information

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No.

Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. Database Management System Prof. D. Janakiram Department of Computer Science & Engineering Indian Institute of Technology, Madras Lecture No. # 20 Concurrency Control Part -1 Foundations for concurrency

More information

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5.

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5. Question 1 What makes a message unstable? How does an unstable message become stable? Distributed Systems 2016 Exam 2 Review Paul Krzyzanowski Rutgers University Fall 2016 In virtual sychrony, a message

More information

Database Tuning and Physical Design: Execution of Transactions

Database Tuning and Physical Design: Execution of Transactions Database Tuning and Physical Design: Execution of Transactions Spring 2018 School of Computer Science University of Waterloo Databases CS348 (University of Waterloo) Transaction Execution 1 / 20 Basics

More information

The Issue. Implementing Isolation. Transaction Schedule. Isolation. Schedule. Schedule

The Issue. Implementing Isolation. Transaction Schedule. Isolation. Schedule. Schedule The Issue Implementing Isolation Chapter 20 Maintaining database correctness when many transactions are accessing the database concurrently Assuming each transaction maintains database correctness when

More information

CS 347 Parallel and Distributed Data Processing

CS 347 Parallel and Distributed Data Processing CS 347 Parallel and Distributed Data Processing Spring 2016 Notes 5: Concurrency Control Topics Data Database design Queries Decomposition Localization Optimization Transactions Concurrency control Reliability

More information

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech

Advanced Topics in Distributed Systems. Dr. Ayman A. Abdel-Hamid. Computer Science Department Virginia Tech Advanced Topics in Distributed Systems Dr. Ayman A. Abdel-Hamid Computer Science Department Virginia Tech Synchronization (Based on Ch6 in Distributed Systems: Principles and Paradigms, 2/E) Synchronization

More information

CSE 444: Database Internals. Lectures Transactions

CSE 444: Database Internals. Lectures Transactions CSE 444: Database Internals Lectures 13-14 Transactions CSE 444 - Spring 2014 1 Announcements Lab 2 is due TODAY Lab 3 will be released today, part 1 due next Monday HW4 is due on Wednesday HW3 will be

More information

CSE 344 MARCH 5 TH TRANSACTIONS

CSE 344 MARCH 5 TH TRANSACTIONS CSE 344 MARCH 5 TH TRANSACTIONS ADMINISTRIVIA OQ6 Out 6 questions Due next Wednesday, 11:00pm HW7 Shortened Parts 1 and 2 -- other material candidates for short answer, go over in section Course evaluations

More information

Intro to DB CHAPTER 15 TRANSACTION MNGMNT

Intro to DB CHAPTER 15 TRANSACTION MNGMNT Intro to DB CHAPTER 15 TRANSACTION MNGMNT Chapter 15: Transactions Transaction Concept Transaction State Implementation of Atomicity and Durability Concurrent Executions Serializability Recoverability

More information

Chapter 15 : Concurrency Control

Chapter 15 : Concurrency Control Chapter 15 : Concurrency Control What is concurrency? Multiple 'pieces of code' accessing the same data at the same time Key issue in multi-processor systems (i.e. most computers today) Key issue for parallel

More information

Consistency in Distributed Systems

Consistency in Distributed Systems Consistency in Distributed Systems Recall the fundamental DS properties DS may be large in scale and widely distributed 1. concurrent execution of components 2. independent failure modes 3. transmission

More information

XI. Transactions CS Computer App in Business: Databases. Lecture Topics

XI. Transactions CS Computer App in Business: Databases. Lecture Topics XI. Lecture Topics Properties of Failures and Concurrency in SQL Implementation of Degrees of Isolation CS338 1 Problems Caused by Failures Accounts(, CId, BranchId, Balance) update Accounts set Balance

More information

Chapter 5. Concurrency Control Techniques. Adapted from the slides of Fundamentals of Database Systems (Elmasri et al., 2006)

Chapter 5. Concurrency Control Techniques. Adapted from the slides of Fundamentals of Database Systems (Elmasri et al., 2006) Chapter 5 Concurrency Control Techniques Adapted from the slides of Fundamentals of Database Systems (Elmasri et al., 2006) Chapter Outline Purpose of Concurrency Control Two-Phase Locking Techniques Concurrency

More information

Chapter 13 : Concurrency Control

Chapter 13 : Concurrency Control Chapter 13 : Concurrency Control Chapter 13: Concurrency Control Lock-Based Protocols Timestamp-Based Protocols Validation-Based Protocols Multiple Granularity Multiversion Schemes Insert and Delete Operations

More information

Some Examples of Conflicts. Transactional Concurrency Control. Serializable Schedules. Transactions: ACID Properties. Isolation and Serializability

Some Examples of Conflicts. Transactional Concurrency Control. Serializable Schedules. Transactions: ACID Properties. Isolation and Serializability ome Examples of onflicts ransactional oncurrency ontrol conflict exists when two transactions access the same item, and at least one of the accesses is a write. 1. lost update problem : transfer $100 from

More information

TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION 4/3/2014

TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION TRANSACTION PROCESSING PROPERTIES OF A TRANSACTION 4/3/2014 TRANSACTION PROCESSING SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL Def: A Transaction is a program unit ( deletion, creation, updating

More information

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need

More information

CMPSCI 677 Operating Systems Spring Lecture 14: March 9

CMPSCI 677 Operating Systems Spring Lecture 14: March 9 CMPSCI 677 Operating Systems Spring 2014 Lecture 14: March 9 Lecturer: Prashant Shenoy Scribe: Nikita Mehra 14.1 Distributed Snapshot Algorithm A distributed snapshot algorithm captures a consistent global

More information

Implementing Isolation

Implementing Isolation CMPUT 391 Database Management Systems Implementing Isolation Textbook: 20 & 21.1 (first edition: 23 & 24.1) University of Alberta 1 Isolation Serial execution: Since each transaction is consistent and

More information

Topics in Reliable Distributed Systems

Topics in Reliable Distributed Systems Topics in Reliable Distributed Systems 049017 1 T R A N S A C T I O N S Y S T E M S What is A Database? Organized collection of data typically persistent organization models: relational, object-based,

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Transactions - Definition A transaction is a sequence of data operations with the following properties: * A Atomic All

More information

Graph-based protocols are an alternative to two-phase locking Impose a partial ordering on the set D = {d 1, d 2,..., d h } of all data items.

Graph-based protocols are an alternative to two-phase locking Impose a partial ordering on the set D = {d 1, d 2,..., d h } of all data items. Graph-based protocols are an alternative to two-phase locking Impose a partial ordering on the set D = {d 1, d 2,..., d h } of all data items. If d i d j then any transaction accessing both d i and d j

More information

PRIMARY-BACKUP REPLICATION

PRIMARY-BACKUP REPLICATION PRIMARY-BACKUP REPLICATION Primary Backup George Porter Nov 14, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons

More information

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability

Topics. File Buffer Cache for Performance. What to Cache? COS 318: Operating Systems. File Performance and Reliability Topics COS 318: Operating Systems File Performance and Reliability File buffer cache Disk failure and recovery tools Consistent updates Transactions and logging 2 File Buffer Cache for Performance What

More information

Process Synchroniztion Mutual Exclusion & Election Algorithms

Process Synchroniztion Mutual Exclusion & Election Algorithms Process Synchroniztion Mutual Exclusion & Election Algorithms Paul Krzyzanowski Rutgers University November 2, 2017 1 Introduction Process synchronization is the set of techniques that are used to coordinate

More information

Last Class: Clock Synchronization. Today: More Canonical Problems

Last Class: Clock Synchronization. Today: More Canonical Problems Last Class: Clock Synchronization Logical clocks Vector clocks Global state Lecture 11, page 1 Today: More Canonical Problems Distributed snapshot and termination detection Election algorithms Bully algorithm

More information

Transactions. Transactions. Distributed Software Systems. A client s banking transaction. Bank Operations. Operations in Coordinator interface

Transactions. Transactions. Distributed Software Systems. A client s banking transaction. Bank Operations. Operations in Coordinator interface ransactions ransactions Distributed Software Systems A transaction is a sequence of server operations that is guaranteed by the server to be atomic in the presence of multiple clients and server crashes.

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Goal A Distributed Transaction We want a transaction that involves multiple nodes Review of transactions and their properties

More information

11/7/2018. Event Ordering. Module 18: Distributed Coordination. Distributed Mutual Exclusion (DME) Implementation of. DME: Centralized Approach

11/7/2018. Event Ordering. Module 18: Distributed Coordination. Distributed Mutual Exclusion (DME) Implementation of. DME: Centralized Approach Module 18: Distributed Coordination Event Ordering Event Ordering Mutual Exclusion Atomicity Concurrency Control Deadlock Handling Election Algorithms Reaching Agreement Happened-before relation (denoted

More information

Defining properties of transactions

Defining properties of transactions Transactions: ACID, Concurrency control (2P, OCC) Intro to distributed txns The transaction Definition: A unit of work: May consist of multiple data accesses or updates Must commit or abort as a single

More information

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons)

) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) ) Intel)(TX)memory):) Transac'onal) Synchroniza'on) Extensions)(TSX))) Transac'ons) Goal A Distributed Transaction We want a transaction that involves multiple nodes Review of transactions and their properties

More information

Transaction Management & Concurrency Control. CS 377: Database Systems

Transaction Management & Concurrency Control. CS 377: Database Systems Transaction Management & Concurrency Control CS 377: Database Systems Review: Database Properties Scalability Concurrency Data storage, indexing & query optimization Today & next class Persistency Security

More information

CSE 190D Database System Implementation

CSE 190D Database System Implementation CSE 190D Database System Implementation Arun Kumar Topic 6: Transaction Management Chapter 16 of Cow Book Slide ACKs: Jignesh Patel 1 Transaction Management Motivation and Basics The ACID Properties Transaction

More information

Chapter 9: Concurrency Control

Chapter 9: Concurrency Control Chapter 9: Concurrency Control Concurrency, Conflicts, and Schedules Locking Based Algorithms Timestamp Ordering Algorithms Deadlock Management Acknowledgements: I am indebted to Arturas Mazeika for providing

More information

Last Time. 19: Distributed Coordination. Distributed Coordination. Recall. Event Ordering. Happens-before

Last Time. 19: Distributed Coordination. Distributed Coordination. Recall. Event Ordering. Happens-before Last Time 19: Distributed Coordination Last Modified: 7/3/2004 1:50:34 PM We talked about the potential benefits of distributed systems We also talked about some of the reasons they can be so difficult

More information

Chapter 18 Concurrency Control Techniques

Chapter 18 Concurrency Control Techniques Chapter 18 Concurrency Control Techniques Copyright 2004 Pearson Education, Inc. Chapter 18 Outline Databases Concurrency Control 1 Purpose of Concurrency Control 2 Two-Phase locking 5 Limitations of CCMs

More information

Chapter 6 Synchronization

Chapter 6 Synchronization DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 6 Synchronization Clock Synchronization Figure 6-1. When each machine has its own clock, an event

More information

permanent. Otherwise (only one process refuses or crashs), the state before beginning the operations is reload.

permanent. Otherwise (only one process refuses or crashs), the state before beginning the operations is reload. Distributed Transactions Simple World 1960s: all data were held on magnetic tape; simple transaction management Example supermarket with automatic inventory system: ¾One tape for yesterday's inventory,

More information

Lock-based concurrency control. Q: What if access patterns rarely, if ever, conflict? Serializability. Concurrency Control II (OCC, MVCC)

Lock-based concurrency control. Q: What if access patterns rarely, if ever, conflict? Serializability. Concurrency Control II (OCC, MVCC) Concurrency Control II (CC, MVCC) CS 418: Distributed Systems Lecture 18 Serializability Execution of a set of transactions over multiple items is equivalent to some serial execution of s Michael Freedman

More information

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson Distributed systems Lecture 6: Elections, distributed transactions, and replication DrRobert N. M. Watson 1 Last time Saw how we can build ordered multicast Messages between processes in a group Need to

More information

Problems Caused by Failures

Problems Caused by Failures Problems Caused by Failures Update all account balances at a bank branch. Accounts(Anum, CId, BranchId, Balance) Update Accounts Set Balance = Balance * 1.05 Where BranchId = 12345 Partial Updates - Lack

More information

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 18-1

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 18-1 Slide 18-1 Chapter 18 Concurrency Control Techniques Chapter 18 Outline Databases Concurrency Control 1. Purpose of Concurrency Control 2. Two-Phase locking 3. Limitations of CCMs 4. Index Locking 5. Lock

More information