19
Concurrency Control By Donavon Norwood Ankit Patel Aniket Mulye 1

Concurrency Control By Donavon Norwood Ankit Patel Aniket Mulye 1

  • View
    228

  • Download
    2

Embed Size (px)

Citation preview

Concurrency Control

By Donavon Norwood Ankit Patel

Aniket Mulye

1

INTRODUCTION

• Enforcing serializability by locks– Locks– Locking scheduler– Two phase locking

• Locking systems with several lock modes– Shared and exclusive locks– Compatibility matrices– Upgrading/updating locks– Incrementing locks

2

Locks

• It works like as follows : – A request from transaction – Scheduler checks in the lock table– Generates a serializable schedule of actions.

3

Consistency of transactions

• Actions and locks must relate each other– Transactions can only read & write only if has a

lock and has not released the lock.– Unlocking an element is compulsory.

• Legality of schedules– No two transactions can aquire the lock on same

element without the prior one releasing it.

4

The locking scheduler

• A legal schedule of consistent transactions but unfortunately it is not a serializable.

5

Locking schedule (contd.)

6

• Grants lock requests only if it is in a legal schedule.• Lock table stores the information about current locks

on the elements.• The locking scheduler delays requests that would

result in an illegal schedule.

Two-phase locking

• Guarantees a legal schedule of consistent transactions is conflict-serializable.

• All lock requests proceed all unlock requests.• The growing phase:– Obtain all the locks and no unlocks allowed.

• The shrinking phase:– Release all the locks and no locks allowed.

7

Working of Two-Phase locking

• Assures serializability.• Two protocols for 2PL:– Strict two phase locking : Transaction holds all its

exclusive locks till commit / abort.– Rigorous two phase locking : Transaction holds all

locks till commit / abort.• Possible to find a transaction Tj that has a 2PL

and a schedule S for Ti ( non 2PL ) and Tj that is not conflict serializable.

8

Failure of 2PL.

9

• 2PL fails to provide security against deadlocks.

Locking Systems with Several Lock Modes

• Locking Scheme– Shared/Read Lock ( For Reading)– Exclusive/Write Lock( For Writing)

• Compatibility Matrices• Upgrading Locks• Update Locks• Increment Locks

10

Shared & Exclusive Locks

• Consistency of Transactions– Cannot write without Exclusive Lock– Cannot read without holding some lock

• This basically works on 2 principles– A read action can only proceed a shared or an exclusive

lock– A write lock can only proceed a exclusice lock

• All locks need to be unlocked before commit

11

Shared and exclusive locks (cont.)• Two-phase locking of transactions– Must precede unlocking

• Legality of Schedules– An element may be locked exclusively by one transaction

or by several in shared mode, but not both.

12

Compatibility Matrices

• Has a row and column for each lock mode.– Rows correspond to a lock held on an element by

another transaction– Columns correspond to mode of lock requested.– Example :

13

LOCK REQUESTED

S X

LOCK S YES NO

HOLD X NO NO

Upgrading Locks

• Suppose a transaction wants to read as well as write : – It aquires a shared lock on the element– Performs the calculations on the element– And when its ready to write, It is granted a

exclusive lock.

• Transactions with unpredicted read write locks can use UPGRADING LOCKS.

14

Upgrading locks (cont.)

• Indiscriminating use of upgrading produces a deadlock.

• Example : Both the transactions want to upgrade on the same element

15

Update locks

• Solves the deadlock occurring in upgrade lock method.

• A transaction in an update lock can read but cant write.

• Update lock can later be converted to exclusive lock.

• An update lock can only be given if the element has shared locks.

16

Update locks (cont.)

• An update lock is like a shared lock when you are requesting it and is like a exclusive lock when you have it.

• Compatibility matrix :

17

S X U

S YES NO YES

X NO NO NO

U NO NO NO

Increment Locks

• Used for incrementing & decrementing stored values.

• E.g. - Transfer money from one bank to another, Ticket selling transactions in which number seats are decremented after each transaction.

18

Increment lock (cont.)

• A increment lock does not enable read or write locks on element.

• Any number of transaction can hold increment lock on element

• Shared and exclusive locks can not be granted if an increment lock is granted on element

19

S X I

S YES NO NO

X NO NO NO

I NO NO YES