The performance of locking protocols in distributed databases
Ouri Wolfson · 1987
The main purpose of a locking protocol is to ensure correct interleaving of actions executed by concurrent transactions. The locking protocol consists of a set of rules dictating how accessed entities should be locked and unlocked. As a result of obeying the rules, transactions incur an overhead, particularly in a distributed database. We propose three measures for evaluating this overhead, each most suitable to a different type of underlying communication network. Then, using a graph theoretic model, we analyze and compare three protocols according to each measure: two-phase-locking ([EGLT]), two-phase-locking with a fixed order imposed on the database-entities (ensuring deadlock freedom), and the tree protocol ([SK]). The combined overhead of the locking protocol and the two phase commit protocol ([G]) is also determined.