Abstract
Speculative concurrency control (SCC) (Bestavros, 1992) is a new concurrency control approach, especially suited for multidatabases with real-time interoperable subsystems. SCC uses redundancy to ensure that serializable executions are discovered and adopted as early as possible, thus increasing the likelihood of the timely commitment of transactions with strict timing constraints. We present SCC-nS, a generic algorithm that characterizes a family of SCC-based algorithms. Under SCC-nS, shadows executing on behalf of a transaction are either optimistic or speculative. Optimistic shadows execute under an assumed serialization order which requires them to wait for no other conflicting transactions. They execute unhindered until they are either aborted or committed. Alternately, speculative shadows execute under an assumed serialization order which requires them to wait for some conflicting transactions to commit. The SCC-2S (a member of the SCC-nS family) is singled out for its minimal use of redundancy. We show that SCC-2S (as a representative of SCC-based algorithms) provides significant performance gains over the widely used optimistic concurrency control with broadcast commit (OCC-BC), under a variety of operating conditions and workloads. SCC-based algorithms provide a natural and effective method of resource rationing so as to reflect the value of the uncommitted transactions in a DBMS. We believe that this ability—to improve the timeliness of a transaction's commitment on demand—is central in multidatabase and interoperable systems, where transactions may have various priorities and urgencies.
Get full access to this article
View all access options for this article.
