In this dissertation a new approach to the synchronization of accesses to shared data objects is developed. Traditional approaches to the synchronization problems of shared data accessed by concurrently running computations have relied on mutual exclusion -- the ability of one computation to stop the execution of other computations that might access or change shared data accessed by that computation. Our approach is quite different. We regard an object that is modifiable as a sequence of immutable versions; each version is the state of the object after an update is made to the object. Synchronization can then be treated as a mechanism for naming versions to be read and for defining where in the sequence of versions the version resulting from some update should be placed. In systems based on mutual exclusion, the timing of accesses selects the versions accessed. In the system developed here, called NAMOS, versions have two component names consisting of the name of an object and a pseudo-time, the name of the system state to which the version belongs. By giving programs control over the pseudo-time in which an access is made, synchronization of access to multiple objects is simplified. NAMOS is intended to be used in an environment where unreliable components, such as communication lines and processors, and autonomous control of resources occasionally cause certain objects to become inaccessible, perhaps in the middle of an atomic transaction. Computations may also suddenly halt (perhaps as the result of a system crash) never to be restarted. NAMOS provides facilities for recovering from such sudden failures, grouping updates into sets called possibilities, such that failure of any update belonging to a possibility prevents all of the other updates in the possibility. The naming mechanism of NAMOS also provides a useful tool for restoring a consistent state of the system after a failure resulting in irrecoverable loss of information or a user mistake resulting in an inconsistent state. An important motivation for the development of NAMOS is the need to support decentralized development of application systems by combining existing application systems that deal with shared data. NAMOS supports the construction of modules that locally ensure their own correct synchronization and recovery from inaccessibility. Larger modules that use several separately designed modules can then be constructed, perhaps with additional synchronization constraints, without modifying the modules used. In most systems based on mutual exclusion, such post hoc integration of modules is difficult or impossible.
Cited By
- Nguyen L, Lee S and Nam B (2022). In-page shadowing and two-version timestamp ordering for mobile DBMSs, Proceedings of the VLDB Endowment, 15:11, (2402-2414), Online publication date: 1-Jul-2022.
- Sreekanti V, Wu C, Chhatrapati S, Gonzalez J, Hellerstein J and Faleiro J A fault-tolerance shim for serverless computing Proceedings of the Fifteenth European Conference on Computer Systems, (1-15)
- Huang Y, Qian W, Kohler E, Liskov B and Shrira L (2020). Opportunities for optimism in contended main-memory multicore transactions, Proceedings of the VLDB Endowment, 13:5, (629-642), Online publication date: 1-Jan-2020.
- Ben-David N, Blelloch G, Sun Y and Wei Y Multiversion Concurrency with Bounded Delay and Precise Garbage Collection The 31st ACM Symposium on Parallelism in Algorithms and Architectures, (241-252)
- Li J, Michael E and Ports D Eris Proceedings of the 26th Symposium on Operating Systems Principles, (104-120)
- Yu X, Liu H, Zou E and Devadas S Tardis 2.0 Proceedings of the 2016 International Conference on Parallel Architectures and Compilation, (261-274)
- Yu X, Pavlo A, Sanchez D and Devadas S TicToc Proceedings of the 2016 International Conference on Management of Data, (1629-1642)
- Zhan Y and Porter D Versioned Programming Proceedings of the 9th ACM International on Systems and Storage Conference, (1-12)
- Green T LogiQL Proceedings of the 34th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, (59-64)
- Liu J, Magrino T, Arden O, George M and Myers A Warranties for faster strong consistency Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation, (503-517)
- Mahmoud H, Arora V, Nawab F, Agrawal D and El Abbadi A (2014). MaaT, Proceedings of the VLDB Endowment, 7:5, (329-340), Online publication date: 1-Jan-2014.
- Schiller O, Cipriani N and Mitschang B ProRea Proceedings of the 16th International Conference on Extending Database Technology, (53-64)
- Reed D "Simultaneous" Considered harmful Proceedings of the 4th USENIX conference on Hot Topics in Parallelism, (6-6)
- Saad M and Ravindran B Snake Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems, (238-252)
- Warth A, Ohshima Y, Kaehler T and Kay A Worlds Proceedings of the 25th European conference on Object-oriented programming, (179-203)
- Cahill M, Röhm U and Fekete A (2009). Serializable isolation for snapshot databases, ACM Transactions on Database Systems, 34:4, (1-42), Online publication date: 1-Dec-2009.
- Plantikow S, Reinefeld A and Schintke F Transactions for distributed wikis on structured overlays Proceedings of the Distributed systems: operations and management 18th IFIP/IEEE international conference on Managing virtualization of networks and services, (256-267)
- Agrawal K, Leiserson C and Sukha J Memory models for open-nested transactions Proceedings of the 2006 workshop on Memory system performance and correctness, (70-81)
- Pečiva J Active transaction approach for collaborative virtual environments Proceedings of the 2006 ACM international conference on Virtual reality continuum and its applications, (171-178)
- Rastogi R, Seshadri S, Bohannon P, Leinbaugh D, Silberschatz A and Sudarshan S (2000). Improving Predictability of Transaction Execution Timesin Real-time Databases, Real-Time Systems, 19:3, (283-302), Online publication date: 1-Nov-2000.
- Silva A, Pereira J and Sousa P A Framework for Heterogeneous Concurrency Control Policies in Distributed Applications Proceedings of the 8th International Workshop on Software Specification and Design
- Bradshaw D Composite multidatabase system concurrency control and recovery Proceedings of the 1993 conference of the Centre for Advanced Studies on Collaborative research: distributed computing - Volume 2, (895-909)
- Satyanarayanan O and Agrawal D (1993). Efficient Execution of Read-Only Transactions in Replicated Multiversion Databases, IEEE Transactions on Knowledge and Data Engineering, 5:5, (859-871), Online publication date: 1-Oct-1993.
- Wong M and Agrawal D Context-based synchronization Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (276-287)
- Agrawal D and Sengupta S (1993). Modular Synchronization in Distributed, Multiversion Databases, IEEE Transactions on Knowledge and Data Engineering, 5:1, (126-137), Online publication date: 1-Feb-1993.
- Agrawal D and El Abbadi A (1992). The generalized tree quorum protocol, ACM Transactions on Database Systems, 17:4, (689-717), Online publication date: 1-Dec-1992.
- Mohan C, Pirahesh H and Lorie R Efficient and flexible methods for transient versioning of records to avoid locking by read-only transactions Proceedings of the 1992 ACM SIGMOD international conference on Management of data, (124-133)
- Mohan C, Pirahesh H and Lorie R (1992). Efficient and flexible methods for transient versioning of records to avoid locking by read-only transactions, ACM SIGMOD Record, 21:2, (124-133), Online publication date: 1-Jun-1992.
- Liu X, Miller J and Parate N Transaction management for object-oriented databases Proceedings of the 25th annual symposium on Simulation, (222-231)
- Halici U and Dogac A Concurrency control for distributed multiversion databases through time intervals Proceedings of the 19th annual conference on Computer Science, (365-374)
- Agrawal D and Krishnaswamy V (1991). Using multiversion data for non-interfering execution of write-only transactions, ACM SIGMOD Record, 20:2, (98-107), Online publication date: 1-Apr-1991.
- Agrawal D and Krishnaswamy V Using multiversion data for non-interfering execution of write-only transactions Proceedings of the 1991 ACM SIGMOD international conference on Management of data, (98-107)
- Agrawal D and Bernstein A (1991). A Nonblocking Quorum Consensus Protocol for Replicated Data, IEEE Transactions on Parallel and Distributed Systems, 2:2, (171-179), Online publication date: 1-Apr-1991.
- Pirahesh H, Mohan C, Cheng J, Liu T and Selinger P Parallelism in relational data base systems Proceedings of the second international symposium on Databases in parallel and distributed systems, (4-29)
- Farrag A and Özsu M (1989). Using semantic knowledge of transactions to increase concurrency, ACM Transactions on Database Systems, 14:4, (503-525), Online publication date: 1-Dec-1989.
- Agrawal D and Sengupta S Modular synchronization in multiversion databases: version control and concurrency control Proceedings of the 1989 ACM SIGMOD international conference on Management of data, (408-417)
- Agrawal D and Sengupta S (1989). Modular synchronization in multiversion databases: version control and concurrency control, ACM SIGMOD Record, 18:2, (408-417), Online publication date: 1-Jun-1989.
- Ancilotti P, Bertolino A and Fusani M (1988). An approach to efficient distributed transactions, Distributed Computing, 2:4, (201-212), Online publication date: 1-Dec-1988.
- Hadzilacos T Serialization graph algorithms for multiversion concurrency control Proceedings of the seventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (135-141)
- Ahuja M and Browne J Concurrency control by transactions carrying states and preordering universioned entities Proceedings of the 1988 ACM sixteenth annual conference on Computer science, (626-635)
- Garnick D and Cohen A Locality in distributed computations Proceedings of the 1988 ACM sixteenth annual conference on Computer science, (335-344)
- Noe J and Wagner D Measured Performance of Time Interval Concurrency Control Techniques Proceedings of the 13th International Conference on Very Large Data Bases, (359-367)
- Fekete A, Lynch N, Merrit M and Weihl W Nested transactions and read-write locking Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (97-111)
- Agrawal D, Bernstein A, Gupta P and Sengupta S (1987). Distributed optimistic concurrency control with reduced rollback, Distributed Computing, 2:1, (45-59), Online publication date: 1-Mar-1987.
- Agrawal R and Dewitt D (1985). Integrated concurrency control and recovery mechanisms: design and performance evaluation, ACM Transactions on Database Systems, 10:4, (529-564), Online publication date: 1-Dec-1985.
- Spector A, Daniels D, Duchamp D, Eppinger J and Pausch R Distributed transactions for reliable systems Proceedings of the tenth ACM symposium on Operating systems principles, (127-146)
- Spector A, Daniels D, Duchamp D, Eppinger J and Pausch R (1985). Distributed transactions for reliable systems, ACM SIGOPS Operating Systems Review, 19:5, (127-146), Online publication date: 1-Dec-1985.
- Weihl W Distributed version management for read-only actions (extended abstract) Proceedings of the fourth annual ACM symposium on Principles of distributed computing, (122-135)
- MacLennan B (1985). A simple software environment based on objects and relations, ACM SIGPLAN Notices, 20:7, (199-207), Online publication date: 1-Jul-1985.
- MacLennan B A simple software environment based on objects and relations Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments, (199-207)
- Allchin J and McKendry M (1985). Synchronization and recovery of actions, ACM SIGOPS Operating Systems Review, 19:1, (32-45), Online publication date: 1-Jan-1985.
- Weihl W (1985). Data-dependent concurrency control and recovery, ACM SIGOPS Operating Systems Review, 19:1, (19-31), Online publication date: 1-Jan-1985.
- Kim W, Lorie R, McNabb D and Plouffe W A Transaction Mechanism for Engineering Design Databases Proceedings of the 10th International Conference on Very Large Data Bases, (355-362)
- Ford R and Calhoun J Concurrency control mechanisms and the serializability of concurrent tree algorithms Proceedings of the 3rd ACM SIGACT-SIGMOD symposium on Principles of database systems, (51-60)
- Mueller E, Moore J and Popek G (1983). A nested transaction mechanism for LOCUS, ACM SIGOPS Operating Systems Review, 17:5, (71-89), Online publication date: 31-Dec-1983.
- Walker B, Popek G, English R, Kline C and Thiel G (1983). The LOCUS distributed operating system, ACM SIGOPS Operating Systems Review, 17:5, (49-70), Online publication date: 31-Dec-1983.
- Lampson B (1983). Hints for computer system design, ACM SIGOPS Operating Systems Review, 17:5, (33-48), Online publication date: 31-Dec-1983.
- Lynch N (1983). Multilevel atomicity—a new correctness criterion for database concurrency control, ACM Transactions on Database Systems, 8:4, (484-502), Online publication date: 1-Dec-1983.
- Bernstein P and Goodman N (1983). Multiversion concurrency control—theory and algorithms, ACM Transactions on Database Systems, 8:4, (465-483), Online publication date: 1-Dec-1983.
- Mueller E, Moore J and Popek G A nested transaction mechanism for LOCUS Proceedings of the ninth ACM symposium on Operating systems principles, (71-89)
- Walker B, Popek G, English R, Kline C and Thiel G The LOCUS distributed operating system Proceedings of the ninth ACM symposium on Operating systems principles, (49-70)
- Lampson B Hints for computer system design Proceedings of the ninth ACM symposium on Operating systems principles, (33-48)
- Weihl W Data-dependent concurrency control and recovery (Extended Abstract) Proceedings of the second annual ACM symposium on Principles of distributed computing, (63-75)
- Beeri C, Bernstein P, Goodman N, Lai M and Shasha D A concurrency control theory for nested transactions (Preliminary Report) Proceedings of the second annual ACM symposium on Principles of distributed computing, (45-62)
- Allchin J and McKendry M Synchronization and recovery of actions Proceedings of the second annual ACM symposium on Principles of distributed computing, (31-44)
- Weihl W and Liskov B Specification and implementation of resilient, atomic data types Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems, (53-64)
- Weihl W and Liskov B (1983). Specification and implementation of resilient, atomic data types, ACM SIGPLAN Notices, 18:6, (53-64), Online publication date: 1-Jun-1983.
- Bernstein P and Goodman N Concurrency control algorithms for multiversion database systems Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing, (209-215)
- Mitchell J and Dion J (1982). A comparison of two network-based file servers, Communications of the ACM, 25:4, (233-245), Online publication date: 1-Apr-1982.
- Liskov B and Scheifler R Guardians and actions Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (7-19)
- Lazowska E, Levy H, Almes G, Fischer M, Fowler R and Vestal S The architecture of the Eden system Proceedings of the eighth ACM symposium on Operating systems principles, (148-159)
- Pollack F, Kahn K and Wilkinson R The iMAX-432 object filing system Proceedings of the eighth ACM symposium on Operating systems principles, (137-147)
- Svobodova L A reliable object-oriented data repository for a distributed computer system Proceedings of the eighth ACM symposium on Operating systems principles, (47-58)
- Mitchell J and Dion J A comparison of two network-based file servers Proceedings of the eighth ACM symposium on Operating systems principles, (45-46)
- Lazowska E, Levy H, Almes G, Fischer M, Fowler R and Vestal S (1981). The architecture of the Eden system, ACM SIGOPS Operating Systems Review, 15:5, (148-159), Online publication date: 1-Dec-1981.
- Pollack F, Kahn K and Wilkinson R (1981). The iMAX-432 object filing system, ACM SIGOPS Operating Systems Review, 15:5, (137-147), Online publication date: 1-Dec-1981.
- Svobodova L (1981). A reliable object-oriented data repository for a distributed computer system, ACM SIGOPS Operating Systems Review, 15:5, (47-58), Online publication date: 1-Dec-1981.
- Mitchell J and Dion J (1981). A comparison of two network-based file servers, ACM SIGOPS Operating Systems Review, 15:5, (45-46), Online publication date: 1-Dec-1981.
- Kohler W (1981). A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems, ACM Computing Surveys, 13:2, (149-183), Online publication date: 1-Jun-1981.
- Stearns R and Rosenkrantz D Distributed database concurrency controls using before-values Proceedings of the 1981 ACM SIGMOD international conference on Management of data, (74-83)
- Hammer M and Shipman D (1980). Reliability mechanisms for SDD-1, ACM Transactions on Database Systems, 5:4, (431-466), Online publication date: 1-Dec-1980.
- Bayer R, Heller H and Reiser A (1980). Parallelism and recovery in database systems, ACM Transactions on Database Systems, 5:2, (139-156), Online publication date: 1-Jun-1980.
- Bernstein P, Shipman D and Rothnie J (1980). Concurrency control in a system for distributed databases (SDD-1), ACM Transactions on Database Systems, 5:1, (18-51), Online publication date: 1-Mar-1980.
- Montgomery W Polyvalues Proceedings of the seventh ACM symposium on Operating systems principles, (143-149)
- Liskov B Primitives for distributed computing Proceedings of the seventh ACM symposium on Operating systems principles, (33-42)
Recommendations
Independently verifiable decentralized role-based delegation
In open systems such as cloud computing platforms, delegation transfers privileges among users across different administrative domains and facilitates information sharing. We present an independently verifiable delegation mechanism, where a delegation ...
A graph theoretic approach to authorization delegation and conflict resolution in decentralised systems
The problem of resolving conflicts in delegated authorizations has not been systematically addressed by researchers. In (Ruan and Varadharajan in Proceedings of the 7th Australasian Conference on Information Security and Privacy, pp. 271---285, 2002) we ...