The kill-wait concurrency control combines the concepts of the immediate update concurrency control and the timestamp-ordered control. As in the timestamp-ordered system, when a transaction, T1 is initiated, it is assigned a timestamp, TS(T1). However, the system uses the same conflict table as the immediate-update pessimistic control does and resolves conflicts using the rule
If transaction T1 makes a request that conflicts with an operation of active
transaction, T2
if TS(T1) < TS(T2), then abort T2, else make T1 wait until
T2 terminates.
where abort T2 is referred to as a kill because T1 kills T2.
a. Showthat the kill-wait control serializes in commit order.
b. Give a schedule produced by a kill-wait control that is not serializable in timestamp order.
c. Explain why deadlock does not occur in a kill-wait control.
a. It serializes in commit order because transactions that are not aborted are granted
requests or wait using the same locking protocol used in an immediate-update
pessimistic control.
b. w1(x) w2(y) commit2 r1(y) w1(z ) commit1
T2 started after T1 but is serialized before T1.
c. Since a transaction waits only for an older transaction, there can be no cycle of
waits.
You might also like to view...
Which option is not one of the available congestion management queuing algorithms?
A) WRR B) LIFO C) WFQ D) LLQ
The SELECT statement can also be used to retrieve results from multiple tables by joining them using a common field.
Answer the following statement true (T) or false (F)