ACM SIGOPS Operating Systems Review · 1985 · 11 citations · 15 references
ComputingComputer ScienceComputer SystemsDistributed SystemsOperating SystemsSchedulingConcurrency ControlConcurrent ProgrammingData SynchronizationDistributed ComputingDistributed SynchronizationReliable Distributed SystemsAbstract Data TypesAbstract TypesOperating System ArchitectureScheduling SemanticsSerializable SchedulingSynchronizationSynchronization MechanismsSynchronization Semantics
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.
15
The notions of consistency and predicate locks in a database system
Kapali P. Eswaran, Jim Gray, Raymond A. Lorie et al. · Communications of the ACM · 1976 · 2K citations · Full text
Richard F. Rashid, George G. Robertson · ACM SIGOPS Operating Systems Review · 1981 · 309 citations
Locking Primitives in a Database System
Henry F. Korth · Journal of the ACM · 1983 · 225 citations · Full text