TransactionalInformation Systems まとめ 第三章 (2)

(3) Correctness of Histories and Schedules

全体観

※P109の図ではS3S5が逆になっている。いまのところ誤植と理解。真相知りたい。



 

分類

サンプル

補足

1

 

w1(x)w2(x)w2(y)c2w1(y)c1

xyの更新結果がt1→t2,t2→t1のどちらにも合致しない。

2

FSR

w1(x)r2(x)w2(y)c2r1(y)w1(y)c1

w3(x)w3(y)c3

最後のw3(x)w3(y)c3によってxyの更新結果が確定する。このため、t1→t2→t3,t2→t1→t3のどちらかに合致する。

3

CMFSR

w1(x)r2(x)w2(y)w1(y)c1c2

t2→t1の結果と合致するのでFSR

prefixw1(x)w1(y)c1FSRなのでCMFSR

ただし、r2(x)w1(x)をみるのでVSRではない(t2→t1と合致しないので)。

4

VSR

w1(x)w2(x)w2(y)c2w1(y)c1w3(x)w3(y)c3

t1,t2,t3ともreadserialと合致する(正確にはreadがないので結果的に合致とみなせる)のでVSR

prefixw1(x)w2(x)w2(y)c2w1(y)c1t1→t2t2→t1のいずれにも合致しないためVSRFSR)とならず、CMVSRではない。

conflictw1(x)w2(x)」がt2→t1と合致しないためCSRではない

5

CMFSR

w1(x)r2(x)w2(y)w1(y)c1c2w3(x)w3(y)c3

t2→t1→t3の結果と合致するのでFSR

prefixw1(x)r2(x)w2(y)w1(y)c1c2(=S3FSRなのでCMFSR。これはVSRではないのでCMVSRではない。

r2(x)w1(x)をみるのでVSRではない(t2→t1と合致しないので)。

6

CMVSR

w1(x)w2(x)w2(y)c2w1(y)w3(x)w3(y)c3w1(z)c1

t1,t2,t3ともreadserialと合致する(正確にはreadがないので結果的に合致とみなせる)のでVSR

prefixw2(x)w2(y)c2w3(x)w3(y)c3t2→t3VSRとなるため、CMVSR

conflictw1(x)w2(x)」がt2→t1→t3と合致しないためCSRではない

7

CSR

w1(x)w2(x)w2(y)c2w1(z)c1

conflictw1(x)w2(x)」がt1→t2と合致するのでCSR

OCSRでないとされるのは、completly beforeに該当するtxが存在しないから?

8

OCSR

w3(y)c3w1(x)r2(x)c2w1(y)c1

conflictw1(x)w2(x)」が(t3→)t1→t2と合致するのでCSR

t3sでもs'(対応するserialスケジュール)でも先頭にある(同じ順序である)ため、OCSR

c2のあとにc1が実行されるためCOCSRではない

9

COSCR

w3(y)c3w1(x)r2(x)w1(y)c1c2

conflictw1(x)w2(x)」が(t3→)t1→t2と合致するのでCSR

t3sでもs'(対応するserialスケジュール)でも先頭にある(同じ順序である)ため、OCSR

c1のあとにc2が実行される(commitの順序とserialオーダーが一致する)ためCOCSR

10

serial

w1(x)w1(y)c1w2(x)w2(y)c2

t1→t2serial スケジュール。