Concurrency Control Theory Practice Problems

Consider the schedule given below. \(R(\cdot)\) and \(W(\cdot)\) stand for read and write, respectively. practice-schedule.png

  1. Is schedule serial?1
  2. Draw a dependency graph for this schedule.2
  3. Is this schedule conflict serializable?3
  4. For each of the four transcations, would removing that (and only that) transaction make the schedule serializable?4

Footnotes:

1

No, transaction operations are interleaved.

2
  • Edge from \(T_1\) to \(T_3\) for resource \(A\)
  • Edge from \(T_3\) to \(T_2\) for resource \(E\)
  • Edge from \(T_4\) to \(T_1\) for resource \(B\)
  • Edge from \(T_2\) to \(T_1\) for resource \(C\)
  • Edge from \(T_4\) to \(T_2\) for resource \(D\)
3

No, the dependency graph contains a cycle.

4

There is a cycle among \(T_1\), \(T_2\), and \(T_3\), so removing any one of those would make the schedule serializable.