An algorithm for early unlocking of entities in database transactions
Journal of Algorithms
A measure of transaction processing power
Datamation
Transactions and consistency in distributed database systems
ACM Transactions on Database Systems (TODS)
Locking Primitives in a Database System
Journal of the ACM (JACM)
Implementation techniques for main memory database systems
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
Partial Strictness in Two-Phase Locking
ICDT '95 Proceedings of the 5th International Conference on Database Theory
The Performance of Concurrency Control Algorithms for Database Management Systems
VLDB '84 Proceedings of the 10th International Conference on Very Large Data Bases
Granularity of locks in a shared data base
VLDB '75 Proceedings of the 1st International Conference on Very Large Data Bases
ACM Transactions on Computer Systems (TOCS)
Shore-MT: a scalable storage manager for the multicore era
Proceedings of the 12th International Conference on Extending Database Technology: Advances in Database Technology
Improving OLTP scalability using speculative lock inheritance
Proceedings of the VLDB Endowment
A survey of B-tree locking techniques
ACM Transactions on Database Systems (TODS)
Aether: a scalable approach to logging
Proceedings of the VLDB Endowment
High-performance concurrency control mechanisms for main-memory databases
Proceedings of the VLDB Endowment
Calvin: fast distributed transactions for partitioned database systems
SIGMOD '12 Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data
ACM Transactions on Database Systems (TODS)
Hi-index | 0.00 |
In databases with a large buffer pool, a transaction may run in less time than it takes to log the transaction's commit record on stable storage. Such cases motivate a technique called early lock release: immediately after appending its commit record to the log buffer in memory, a transaction may release its locks. Thus, it cuts overall lock duration to a fraction and reduces lock contention accordingly. Early lock release also has its problems. The initial mention of early lock release was incomplete, the first detailed description and implementation was incorrect with respect to read-only transactions, and the most recent design initially had errors and still does not cover unusual lock modes such as "increment" locks. Thus, we set out to achieve the same goals as early lock release but with a different, simpler, and more robust approach. The resulting technique, controlled lock violation, requires no new theory, applies to any lock mode, promises less implementation effort and slightly less run-time effort, and also optimizes distributed transactions, e.g., in systems that rely on multiple replicas for high availability and high reliability. In essence, controlled lock violation retains locks until the transaction is durable but permits other transactions to violate its locks while flushing its commit log record to stable storage.