The serializability of concurrent database updates
Journal of the ACM (JACM)
Locking Primitives in a Database System
Journal of the ACM (JACM)
Reliability Issues in Computing System Design
ACM Computing Surveys (CSUR)
Concurrency Control in Distributed Database Systems
ACM Computing Surveys (CSUR)
The notions of consistency and predicate locks in a database system
Communications of the ACM
An optimality theory of concurrency control for databases
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
Guardians and actions: linguistic support for robust, distributed programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compatibility and commutativity in non-two-phase locking protocols
PODS '82 Proceedings of the 1st ACM SIGACT-SIGMOD symposium on Principles of database systems
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
Recovery semantics for a DB/DC system
ACM '73 Proceedings of the ACM annual conference
Accent: A communication oriented network operating system kernel
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
An architecture for reliable decentralized systems
An architecture for reliable decentralized systems
Distributed co-operating processes and transactions
SIGCOMM '83 Proceedings of the symposium on Communications Architectures & Protocols
Modular Concurrency Control and Failure Recovery
IEEE Transactions on Computers
Hi-index | 0.00 |
We introduce an approach to robust computation in distributed systems. This approach is the foundation for reliability in the Clouds decentralized operating system. It is based on atomic actions operating on instances of abstract data types (objects). We present an event-based model of computation in which scheduling of responses to operation invocations is controlled by objects. We discuss an integrated strategy for synchronization and recovery which uses relationships between the abstract states of objects to track dependencies between actions. Serializability is defined in terms of the semantics of operations. This permits high concurrency to be obtained in non-serializable implementations without deviation from serializable abstract behavior. We define a class of schedulers that allows objects to make autonomous scheduling decisions. We present the use of non-serializable operation semantics. Finally, we discuss implementation of the model, including action synchronization, object operation ordering using action-based counting semaphores, and action recovery.