Concurrency Control Theory Practice Problems
Consider the schedule given below. \(R(\cdot)\) and \(W(\cdot)\) stand for read and write, respectively.
- Is schedule serial?1
- Draw a dependency graph for this schedule.2
- Is this schedule conflict serializable?3
- 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.