TOPICS (Click to Navigate)

Pages

Sunday, June 21, 2020

Serializable Schedules and Transactions - solved examples

Given schedule is conflict serializable or not exercise, view serializable schedules, serializability exercises, how to find whether a schedule is conflict serializable or view serializable? view serializability example, non-conflict serializability example

 

View Serializable Schedule - Solved Exercise


Question:

Is the following schedule S is serializable? If yes, is it conflict serializable or view serializable?

R1(C), W1(B), R2(B), W2(A), W1(A), W2(A)

 

Solution:

Conflict serializable schedule: A schedule is conflict serializable if it can be transformed into an equivalent serial schedule by swapping pairs of non-conflicting instructions. Two instructions conflict if they involve the same data item and at least one of them is a WRITE.

 

View serializable schedule: A schedule is view serializable if it is view equivalent to a serial schedule. A schedule is said to be view equivalent if all of the following conditions met by the schedule;

Consider two transactions T1 and T2 and two schedules S1 and S2. S1 and S2 are said to be view equivalent if the following conditions satisfied;

If T1 reads a data item Q initially in S1 then T1 must read Q initially in S2.

In S1, if T1 reads a data item Q which is resulted in the write operation of T2, then in S2 also T1 must read Q which is written by T2.

If T1 writes the final value of a data item Q in S1, then T1 must write the final value of Q in S2 also.

 

Is the schedule S a conflict serializable schedule?

NO. The precedence graph of S consists of a cycle.         

The cycle is formed due to the conflicting instructions {W1(B), R2(B)} (resulted in an edge T1 to T2), and {W2(A), W1(A)} (resulted in an edge T2 to T1).

Precedence graph for non-conflict serializable schedule
 

Is the schedule S a view serializable schedule?

YES.

For S, the possible serial schedules are <T1, T2> or <T2, T1>.

The conditions for view serializability are satisfied in the case of S for an equivalent schedule <T1, T2>. Let us consider the equivalent schedule as S’.

Schedule S

Schedule S’

T1

T2

T1

T2

R(C)

W(B)

 

 

W(A)

 

 

R(B)

W(A)

 

W(A)

R(C)

W(B)

W(A)

 

 

 

R(B)

W(A)

W(A)

 

Satisfaction of following conditions can be observed from the above table (refer the color code);

  • In schedule S and S’, T1 reads C first.
  • In schedule S and S’, T2 consumes B which is written by T1.
  • In schedule S and S’, T2 writes final A.

The schedule S is view equivalent to serial schedule S1. Hence, the schedule S is view serializable.


Note 1: A conflict serializable schedule is always a view serializable schedule. But a view serializable schedule need not be conflict serializable.

Note 2: The write operations in S (W(A), W(B) in T1 and T2) are called as Blind Writes because they have not read the values of data items A or B prior.

 


*****************************

 



Conflict serializability solved exercise
view serializability solved exercise
conflict and view serializable schedule example
how to find whether a schedule is view serializable or not?
how to check a schedule is serializable or not?
use precedence graph for checking serializability
serializability solved exercise
concurrency and serializability



No comments:

Post a Comment