Consider distributed optimistic concurrency control in which each server performs local backward validation sequentially (that is, with only one transaction in the validate and update phase at one time. Describe the possible outcomes when the two transactions attempt to commit. What difference does it make if the servers use parallel validation?
What will be an ideal response?
At server X, T precedes U. At server Y, U precedes T. These are not serially equivalent because there are Read/ Write conflicts.
T starts validation at server X and passes, but is not yet committed. It requests validation at server Y. If U has not yet started validation, Y can validate T. Then U validates after T (at both). Similarly for T after U.
T starts validation at server X and passes, but is not yet committed. It requests validation at server Y. If U has started validation, T will be blocked. When U requests validation at X, it will be blocked too. So there is a deadlock.
If parallel validation is used, T and U can be validated (in different orders) at the two servers, which is wrong.
You might also like to view...
The most commonly accepted style for professional letters and memos is the block style
Indicate whether the statement is true or false
Double-clicking selects a line.
Answer the following statement true (T) or false (F)