Nested transactions: an approach to reliable distributed computing
Nested transactions: an approach to reliable distributed computing
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
The specification of process synchronization by path expressions
Operating Systems, Proceedings of an International Symposium
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
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
Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
Correctness conditions for highly available replicated databases
PODC '86 Proceedings of the fifth annual ACM symposium on Principles of distributed computing
A probe-based monitoring scheme for an object-oriented distributed operating system
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
A weighted voting algorithm for replicated directories
Journal of the ACM (JACM)
Recovery management in QuickSilver
ACM Transactions on Computer Systems (TOCS)
Recovery management in QuickSilver
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Concurrent search structure algorithms
ACM Transactions on Database Systems (TODS)
Synchronizing Transactions on Objects
IEEE Transactions on Computers
Local atomicity properties: modular concurrency control for abstract data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Amber system: parallel programming on a network of multiprocessors
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
Linguistic support for atomic data types
ACM Transactions on Programming Languages and Systems (TOPLAS)
Distributed shared memory with versioned objects
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Lightweight shared objects in a 64-bit operating system
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Sharing and protection in a single-address-space operating system
ACM Transactions on Computer Systems (TOCS) - Special issue on computer architecture
Epidemic algorithms in replicated databases (extended abstract)
PODS '97 Proceedings of the sixteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Distributed version management for read-only actions (extended abstract)
Proceedings of the fourth annual ACM symposium on Principles of distributed computing
Distributed transactions for reliable systems
Proceedings of the tenth ACM symposium on Operating systems principles
Supporting distributed applications: experience with Eden
Proceedings of the tenth ACM symposium on Operating systems principles
Language concepts using dynamic and distributed objects
CSC '91 Proceedings of the 19th annual conference on Computer Science
Using Metaobject Protocols to Implement Atomic Data Types
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
The development of the Emerald programming language
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Stasis: flexible transactional storage
OSDI '06 Proceedings of the 7th symposium on Operating systems design and implementation
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.