Strictness (cont’d)
More precisely, a system is strict if it only executes ri[x] or wi[x] if all previous transactions that wrote x committed or aborted.
Examples (“…” marks a non-strict prefix)
- strict: w1[x] c1 w2[x] a2
- not strict: w1[x] w2[x] … a1 a2
- strict: w1[x] w1[y] c1 w2[y] r2[x] a2
- not strict: w1[x] w1[y] w2[y] a1 r2[x] a2
“Strict” implies “avoids cascading aborts.”