A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems

Two related and fundamental problems in designing decentralized systems which support an object model of computation are introduced, and proposed solution techniques are surveyed The first problem is synchronizing access to shared objects while allowing a high degree of concurrency. The second is the recovery of objects in spite of user errors, application errors, or partial system failure. The synchronization problem is a general~.atmn of the concurrency control problem which arises in database and transaction-processing systems. Concurrency control methods which use locking, timestamps, mrculatmg permit, tickets, conflict analysis, and reservations are presented and compared. The proposed approach to solving the recovery problem is based on a software structuring abstraction called the atonuc action, a type of generalized transaction. Requirements and techniques for implementing atomic actions in a decentralized environment are discussed.

[1]  Arie Shoshani,et al.  System Deadlocks , 1971, CSUR.

[2]  Irving L. Traiger,et al.  Granularity of locks in a shared data base , 1975, VLDB '75.

[3]  William A. Wulf Reliable hardware/software architecture , 1975 .

[4]  Brian Randell,et al.  System structure for software fault tolerance , 1975, IEEE Transactions on Software Engineering.

[5]  J. D. Day,et al.  A principle for resilient sharing of distributed resources , 1976, ICSE '76.

[6]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[7]  Guy M. Lohman,et al.  Differential files: their application to the maintenance of large databases , 1976, TODS.

[8]  R. Kerr,et al.  Recovery blocks in action: A system supporting high reliability , 1976, ICSE '76.

[9]  Peter J. Denning,et al.  Fault Tolerant Operating Systems , 1976, CSUR.

[10]  Gunter Schlageter The Problem of Lock by Value in Large Data Bases , 1976, Comput. J..

[11]  David L. Russell Process backup in producer-consumer systems , 1977, SOSP '77.

[12]  Clarence A. Ellis,et al.  A Robust Algorithm for Updating Duplicate Databases , 1977, Berkeley Workshop.

[13]  Raymond A. Lorie,et al.  Physical integrity in a large segmented database , 1977, TODS.

[14]  Henry F. Ledgard,et al.  Two views of data abstraction , 1977, CACM.

[15]  Diane C. P. Smith,et al.  Database abstractions: aggregation , 1977, CACM.

[16]  Diane C. P. Smith,et al.  Database abstractions: aggregation and generalization , 1977, TODS.

[17]  D. B. Lomet Process structuring, synchronization, and recovery using atomic actions , 1977 .

[18]  Eric G. Manning,et al.  System Architecture for Distributed Data Management , 1978, Computer.

[19]  Joost Verhofstad,et al.  Recovery Techniques for Database Systems , 1978, CSUR.

[20]  Christos H. Papadimitriou,et al.  The Concurrency Control Mechanism of SDD-1: A System for Distributed Databases (The Fully Redundant Case) , 1978, IEEE Transactions on Software Engineering.

[21]  Santosh K. Shrivastava,et al.  Reliable Resource Allocation Betvveen Unreliable Processes , 1978, IEEE Transactions on Software Engineering.

[22]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[23]  John A. Stankovic,et al.  Issues in Distributed Processing - an Overview of Two Workshops , 1978, Computer.

[24]  Brian Randell,et al.  Reliability Issues in Computing System Design , 1978, CSUR.

[25]  Brian Randell Reliable Computing Systems , 1978, Advanced Course: Operating Systems.

[26]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[27]  Philip H. Enslow What is a "Distributed" Data Processing System? , 1978, Computer.

[28]  Daniel J. Rosenkrantz,et al.  System level concurrency control for distributed database systems , 1978, TODS.

[29]  Anita K. Jones The Object Model: A Conceptual Tool for Structuring Software , 1978, Operating Systems.

[30]  Santosh K. Shrivastava,et al.  A Model of Recoverability in Multilevel Systems , 1978, IEEE Transactions on Software Engineering.

[31]  Klaus Lagally,et al.  Synchronization in a Layered System , 1978, Advanced Course: Operating Systems.

[32]  Jerome H. Saltzer,et al.  Research problems of decentralized systems with largely autonomous nodes , 1978, OPSR.

[33]  Daniel A. Menascé,et al.  A locking protocol for resource coordination in distributed databases , 1978, SIGMOD Conference.

[34]  Robert H. Thomas,et al.  A Majority consensus approach to concurrency control for multiple copy databases , 1979, ACM Trans. Database Syst..

[35]  J. G. Fletcher,et al.  An Architecture for Support of Network Operating System Services , 1980, Comput. Networks.

[36]  Michael Stonebraker,et al.  Locking granularity revisited , 1979, ACM Trans. Database Syst..

[37]  David P. Reed,et al.  Synchronization with eventcounts and sequencers , 1979, CACM.

[38]  Philip A. Bernstein,et al.  Formal Aspects of Serializability in Database Concurrency Control , 1979, IEEE Transactions on Software Engineering.

[39]  Anthony P. Lucido,et al.  Deadlock Detection and Avoidance for Shared Logical Resources , 1979, IEEE Transactions on Software Engineering.

[40]  Wen-Te K. Lin Concurrency Control in a Multiple Copy Distributed Database System , 1979, Berkeley Workshop.

[41]  Daniel A. Menascé,et al.  Locking and Deadlock Detection in Distributed Data Bases , 1979, IEEE Transactions on Software Engineering.

[42]  Milan Milenkovic Update synchronization in multiaccess database systems. , 1979 .

[43]  David P. Reed Implementing atomic actions on decentralized data (Extended Abstract) , 1979, SOSP '79.

[44]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[45]  Joseph Y.-T. Leung,et al.  On Minimum Cost Recovery from System Deadlock , 1979, IEEE Transactions on Computers.

[46]  Michael Stonebraker,et al.  Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres , 1979, IEEE Transactions on Software Engineering.

[47]  Philip A. Bernstein,et al.  The correctness of concurrency control mechanisms in a system for distributed databases (SDD-1) , 1980, TODS.

[48]  Philip A. Bernstein,et al.  Concurrency control in a system for distributed databases (SDD-1) , 1980, TODS.

[49]  Virgil D. Gligor,et al.  On Deadlock Detection in Distributed Systems , 1980, IEEE Transactions on Software Engineering.

[50]  Eugene Wong,et al.  Introduction to a system for distributed databases (SDD-1) , 1980, TODS.

[51]  Abraham Silberschatz,et al.  Consistency in Hierarchical Database Systems , 1980, JACM.