Previous | Next --- Slide 18 of 79
Back to Lecture Thumbnails
haiyuem

The least significant bit indicates how to interpret the rest of the bits. If it's 0, it currently holds the lock; if it's 1, the rest of the bits represent the local timestamp.

zecheng

We increment the global timestamp by 2 because the LSB indicates whether it is writer-locked and we need to "skip" the last bit.

wanze

Isn't that the MS bits are used to keep track of some other information as shown in the previous slide (pointer to owner transaction, etc)? If we simply increment the that record, isn't that going to break the information in the MS bit?

Another question is, when do we actually change the last bit (LSB)? Is that whenever we say lock, we modify the last bit to zero? But still isn't that the 32 bit will be a pointer to the owner's transaction when locked? What if the last bit of the owner's address happens to be 1?

wanze

Also, if we abort in read-set validation, do we ever reach the "set local timestamp to global ..."?

From previous slide, we only validate read-set when data versioning > local time stamp, so didn't it gaurantee that whenever we enter validate function, we will always abort?

Please log in to leave a comment.