Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
Observations on optimistic concurrency control schemes
Information Systems - Special issue: Databases:8Mtheir creation, management and utilization
The commercial INGRES epilogue
The INGRES papers: anatomy of a relational database system
The performance of multiversion concurrency control algorithms
ACM Transactions on Computer Systems (TOCS)
Optimistic concurrency control for abstract data types
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Concurrency control performance modeling: alternatives and implications
ACM Transactions on Database Systems (TODS)
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Local atomicity properties: modular concurrency control for abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Raid Distributed Database System
IEEE Transactions on Software Engineering
The impact of recovery on concurrency control
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Apologizing versus asking permission: optimistic concurrency control for abstract data types
ACM Transactions on Database Systems (TODS)
Adaptable distributed transaction systems
Adaptable distributed transaction systems
Hybrid concurrency control for abstract data types
Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Models for studying concurrency control performance: alternatives and implications
SIGMOD '85 Proceedings of the 1985 ACM SIGMOD international conference on Management of data
On optimistic methods for concurrency control
ACM Transactions on Database Systems (TODS)
Using semantic knowledge for transaction processing in a distributed database
ACM Transactions on Database Systems (TODS)
Concurrency Control in Distributed Database Systems
ACM Computing Surveys (CSUR)
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
The notions of consistency and predicate locks in a database system
Communications of the ACM
Towards a self-adapting centralized concurrency control algorithm
SIGMOD '84 Proceedings of the 1984 ACM SIGMOD international conference on Management of data
A Model for Adaptable Systems for Transaction Processing
IEEE Transactions on Knowledge and Data Engineering
ACM '82 Proceedings of the ACM '82 conference
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES
SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES
Design of concurrency controls for transaction processing systems
Design of concurrency controls for transaction processing systems
Using Metaobject Protocols to Implement Atomic Data Types
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Hi-index | 0.00 |
In many distributed systems concurrent access is required to a shared object, where abstract object servers may incorporate type-specific properties to define consistency requirements. Each operation and its outcome is treated as an event, and conflicts may occur between different event types. Hence concurrency control and synchronization are required at the granularity of conflicting event types. With such a fine granularity of locking, the occurrence of conflicts is likely to be lower than with whole-object locking, so optimistic techniques become more attractive.This work describes the design, implementation, and performance of servers for a shared atomic object, a semiqueue, where each server employs either pessimistic or optimistic locking techniques on each conflicting event type. We compare the performance of a purely optimistic server, a purely pessimistic server, and a hybrid server which treats certain event types optimistically and others pessimistically, to demonstrate the most appropriate environment for using pessimistic, optimistic, or hybrid control. We show that the advantages of low overhead on optimistic locking at low conflict levels is offset at higher conflict levels by the wasted work done by aborted transactions.To achieve optimum performance over the whole range of conflict levels, an adaptable server is required, whereby the treatment of conflicting event types can be changed dynamically between optimistic and pessimistic, according to various criteria depending on the expected frequency of conflict. We describe our implementations of adaptable servers which may allocate concurrency control strategy on the basis of state information, the history of conflicts encountered, or by using preset transaction priorities.We show that the adaptable servers perform almost as well as the best of the purely optimistic, pessimistic, or hybrid servers under the whole range of conflict levels, showing the versatility and efficiency of the dynamic servers.Finally we outline a general design methodology for implementing adaptable concurrency control in servers for atomic objects, illustrated using an atomic shared B-tree.