Advanced Topics in Computer Systems
Fall 2001
Joe Hellerstein & Anthony Joseph

Concurrency Control 1: Multi-Granularity Locking

Some implementation background (not in reading):
No! (starvation, unfair, etc.) So...

Gray, et al.: Granularity of Locks

Theme: Correctness and performance

Notes on Deadlock

Typically, in centralized systems, run deadlock detection whenever blocking occurs.   Arguably this is cheap: most recently blocked transaction T must be the one that caused the deadlock, so just DFS starting from T
In distributed systems, even this can be expensive, so often do periodic detection (more later)