37
Optimistic Algorithms & Concurrency Control Algorithms 1 Shounak Katyayan Advances in Operating System Design Shounak Katyayan M. Tech CSE : 2014 - 15

Optimistic Algorithm and Concurrency Control Algorithm

Embed Size (px)

Citation preview

Page 1: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms & Concurrency Control Algorithms

1 Shounak Katyayan

Advances in Operating System Design

Shounak Katyayan

M. Tech CSE : 2014 - 15

Page 2: Optimistic Algorithm and Concurrency Control Algorithm

INDEX

• Optimistic Algorithms

– Kung Robinson Algorithm

• Concurrency Control Algorithms

– Completely Centralized Algorithm

– Centralized Locking Algorithm

– INGRES’ Primary-Site Locking Algorithm

– Two-Phase Locking Algorithm

M. Tech CSE : 2014 - 15 Shounak Katyayan

Advances in Operating System Design 2

Page 3: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms

• Based on the assumption

“conflicts do not occur during execution time”

3 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 4: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms

• Thus,

No synchronization is performed when a transaction is executed.

4 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 5: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms

• However,

A check is performed at the end of the transaction (to ensure no conflicts have occurred)

5 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 6: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms

• If conflict == true

– Transaction aborted

• Else

– Commit Transaction

6 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 7: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms

• Since conflicts do not occur very often, this algorithm is very efficient compared to other locking algorithms.

7 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 8: Optimistic Algorithm and Concurrency Control Algorithm

Kung-Robinson Algorithm

• H. T. KUNG and JOHN T. ROBINSON were the first to propose an optimistic method for concurrency control.

• The optimistic situation for this algorithm happens when conflicts are unlikely to happen; the system consists mainly read-only transactions (such as a query dominant (powerful) system)

• Basic Idea: No synchronization check is performed during transaction processing time, however, a validation is performed to make sure that no conflicts occurred. If a conflict is found, the tentative write is discarded and the transaction is restarted.

8 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 9: Optimistic Algorithm and Concurrency Control Algorithm

The Algorithm (Kung-Robinson)

• Divided into three phases :

Read Phase Validation Phase Write Phase

9 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 10: Optimistic Algorithm and Concurrency Control Algorithm

The Algorithm (Kung-Robinson)

• Divided into three phases :

Read Phase Validation Phase Write Phase

10 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

data objects are read, the intended computation of the transaction is done, and writes are made on a temporary storage.

Page 11: Optimistic Algorithm and Concurrency Control Algorithm

The Algorithm (Kung-Robinson)

• Divided into three phases :

Read Phase Validation Phase Write Phase

11 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

check to see if writes made by the transaction violate the consistency of the database.

Page 12: Optimistic Algorithm and Concurrency Control Algorithm

The Algorithm (Kung-Robinson)

• Divided into three phases :

Read Phase Validation Phase Write Phase

12 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

If the check finds out any conflicts, the data in the temporary storage will be discarded. Otherwise, the write phase will write the data into the database.

Page 13: Optimistic Algorithm and Concurrency Control Algorithm

The Algorithm (Kung-Robinson)

• Divided into three phases :

Read Phase Validation Phase Write Phase

13 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

If the validation phase passes ok, write will be performed to the database. If the validation phase fails to pass, all temporary written data will be aborted.

Page 14: Optimistic Algorithm and Concurrency Control Algorithm

The Algorithm (Kung-Robinson)

• Validation Phase (can be described as)

– T: a transaction

– ts: the highest sequence number at the start of T

– tf: the highest sequence number at the beginning of its validation phase

14 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

valid:=true;

for t:=ts+1 to tf do

if (writeset(t) & readset[T] != {} ) then

valid :=false;

if valid then {write phase; increment counter, assign T a

sequence number}

Page 15: Optimistic Algorithm and Concurrency Control Algorithm

Concurrency Control Algorithms

• Fully replicated database systems i.e.

“data objects are replicated at all sites”

15 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 16: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

16 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Central Site

Site A Site B Site C Site D Site E

A site is designated as the central site.

Page 17: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

17 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Central Site

Site A Site B Site C Site D Site E

Transaction: Update Account Balance #B=78000

Transaction at site A occurs.

Page 18: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

18 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Central Site

Site A Site B Site C Site D Site E

Transaction: Update Account Balance #B=78000

Transaction is forward to the central site for execution.

Page 19: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

19 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Serial execution effect.

Page 20: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

20 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Serial execution effect.

Page 21: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

21 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Serial execution effect.

Page 22: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

22 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Serial execution effect.

Page 23: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

23 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Serial execution effect.

Page 24: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

24 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Perform update message broadcast to all other sites with sequence number.

Perform Update

Perform Update

Perform Update

Perform Update

Perform Update

Page 25: Optimistic Algorithm and Concurrency Control Algorithm

Completely Centralized Algorithm

25 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

T1 T2 T3 T4 T5

Central Site

Site A Site B Site C Site D Site E

Messages processed then updates applied to local databases.

Perform Update

Perform Update

Perform Update

Perform Update

Perform Update

Page 26: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

• Transactions processed in distributed manner

• Central site is requested with a lock request message for data objects to be accessed

• Site responds with a lock grant message with a sequence number

• Queue for each data object

• Site executes its transaction after receiving lock grant and broadcasts perform update after which the central site releases all locks

26 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 27: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

27 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Many Sites with centralized lock management

Central Site

Page 28: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

28 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Transactions processed at their home site (distributed manner).

Page 29: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

29 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Site requests locks via lock request message for the data objects when it needs to update database

lock request message

O1 O2 O7 (objects)

Page 30: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

30 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Central site responds with a lock grant message (if all locks can be granted)

lock grant message

O1 O2 O7 (objects)

O3 O4 O5 O6

O8 O9

Page 31: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

31 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Site executes its transaction after receiving lock grant

O1 O2 O7 (objects)

O3 O4 O5 O6

O8 O9

Page 32: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

32 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Site broadcasts perform update message

O1 O2 O7 (objects)

Perform Update

Perform Update

Perform Update

Perform Update

Perform Update

O3 O4 O5 O6

O8 O9

Page 33: Optimistic Algorithm and Concurrency Control Algorithm

Centralized Locking Algorithm

33 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Central site releases all locks when it receives perform update message

O1 O2 O7 (objects)

Perform Update

Perform Update

Perform Update

Perform Update

Perform Update

O3 O4 O5 O6

O8 O9

Page 34: Optimistic Algorithm and Concurrency Control Algorithm

INGRES’ Primary-Site Locking Algorithm

• Based on primary site method

• Lock management distributed among all the sites

• Each object of database designated with a single primary site

34 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 35: Optimistic Algorithm and Concurrency Control Algorithm

Two Phase Locking (2PL) Algorithm

• Two-phase locking protocol

– Each transaction is executed in two phases

∗ Growing phase: the transaction obtains locks

∗ Shrinking phase: the transaction releases locks

35 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

The lock point is the moment when transitioning from the growing phase to the shrinking phase

Page 36: Optimistic Algorithm and Concurrency Control Algorithm

Two Phase Locking (2PL) Algorithm

• Properties of the 2PL protocol – Generates conflict-serializable schedules

– But schedules may cause cascading aborts

• If a transaction aborts after it releases a lock, it may cause other transactions that have accessed the unlocked data item to abort as well

• Strict 2PL locking protocol Holds the locks till the end of the transaction

Cascading aborts are avoided

36 Shounak Katyayan

Advances in Operating System Design M. Tech CSE : 2014 - 15

Page 37: Optimistic Algorithm and Concurrency Control Algorithm

Optimistic Algorithms & Concurrency Control Algorithms

37 Shounak Katyayan

Advances in Operating System Design

Shounak Katyayan

M. Tech CSE : 2014 - 15

Thank You !!!