skip to main content
NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEMOctober 1978
1978 Technical Report
Publisher:
  • Massachusetts Institute of Technology
  • 201 Vassar Street, W59-200 Cambridge, MA
  • United States
Published:01 October 1978
Bibliometrics
Skip Abstract Section
Abstract

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

  1. 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.
  2. ACM
    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)
  3. 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.
  4. ACM
    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)
  5. ACM
    Li J, Michael E and Ports D Eris Proceedings of the 26th Symposium on Operating Systems Principles, (104-120)
  6. ACM
    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)
  7. ACM
    Yu X, Pavlo A, Sanchez D and Devadas S TicToc Proceedings of the 2016 International Conference on Management of Data, (1629-1642)
  8. ACM
    Zhan Y and Porter D Versioned Programming Proceedings of the 9th ACM International on Systems and Storage Conference, (1-12)
  9. ACM
    Green T LogiQL Proceedings of the 34th ACM SIGMOD-SIGACT-SIGAI Symposium on Principles of Database Systems, (59-64)
  10. 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)
  11. 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.
  12. ACM
    Schiller O, Cipriani N and Mitschang B ProRea Proceedings of the 16th International Conference on Extending Database Technology, (53-64)
  13. Reed D "Simultaneous" Considered harmful Proceedings of the 4th USENIX conference on Hot Topics in Parallelism, (6-6)
  14. Saad M and Ravindran B Snake Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems, (238-252)
  15. Warth A, Ohshima Y, Kaehler T and Kay A Worlds Proceedings of the 25th European conference on Object-oriented programming, (179-203)
  16. ACM
    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.
  17. 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)
  18. ACM
    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)
  19. ACM
    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)
  20. 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.
  21. 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
  22. 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)
  23. 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.
  24. ACM
    Wong M and Agrawal D Context-based synchronization Proceedings of the twelfth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, (276-287)
  25. 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.
  26. ACM
    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.
  27. ACM
    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)
  28. ACM
    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.
  29. Liu X, Miller J and Parate N Transaction management for object-oriented databases Proceedings of the 25th annual symposium on Simulation, (222-231)
  30. ACM
    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)
  31. ACM
    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.
  32. ACM
    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)
  33. 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.
  34. ACM
    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)
  35. ACM
    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.
  36. ACM
    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)
  37. ACM
    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.
  38. 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.
  39. ACM
    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)
  40. ACM
    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)
  41. ACM
    Garnick D and Cohen A Locality in distributed computations Proceedings of the 1988 ACM sixteenth annual conference on Computer science, (335-344)
  42. 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)
  43. ACM
    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)
  44. 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.
  45. ACM
    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.
  46. ACM
    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)
  47. ACM
    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.
  48. ACM
    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)
  49. ACM
    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.
  50. ACM
    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)
  51. ACM
    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.
  52. ACM
    Weihl W (1985). Data-dependent concurrency control and recovery, ACM SIGOPS Operating Systems Review, 19:1, (19-31), Online publication date: 1-Jan-1985.
  53. 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)
  54. ACM
    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)
  55. ACM
    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.
  56. ACM
    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.
  57. ACM
    Lampson B (1983). Hints for computer system design, ACM SIGOPS Operating Systems Review, 17:5, (33-48), Online publication date: 31-Dec-1983.
  58. ACM
    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.
  59. ACM
    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.
  60. ACM
    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)
  61. ACM
    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)
  62. ACM
    Lampson B Hints for computer system design Proceedings of the ninth ACM symposium on Operating systems principles, (33-48)
  63. ACM
    Weihl W Data-dependent concurrency control and recovery (Extended Abstract) Proceedings of the second annual ACM symposium on Principles of distributed computing, (63-75)
  64. ACM
    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)
  65. ACM
    Allchin J and McKendry M Synchronization and recovery of actions Proceedings of the second annual ACM symposium on Principles of distributed computing, (31-44)
  66. ACM
    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)
  67. ACM
    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.
  68. ACM
    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)
  69. ACM
    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.
  70. ACM
    Liskov B and Scheifler R Guardians and actions Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, (7-19)
  71. ACM
    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)
  72. ACM
    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)
  73. ACM
    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)
  74. ACM
    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)
  75. ACM
    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.
  76. ACM
    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.
  77. ACM
    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.
  78. ACM
    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.
  79. ACM
    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.
  80. ACM
    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)
  81. ACM
    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.
  82. ACM
    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.
  83. ACM
    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.
  84. ACM
    Montgomery W Polyvalues Proceedings of the seventh ACM symposium on Operating systems principles, (143-149)
  85. ACM
    Liskov B Primitives for distributed computing Proceedings of the seventh ACM symposium on Operating systems principles, (33-42)
Contributors
  • MIT Media Lab

Recommendations