skip to main content
article

Bounded concurrent timestamp systems using vector clocks

Published:01 January 2002Publication History
Skip Abstract Section

Abstract

Shared registers are basic objects used as communication mediums in asynchronous concurrent computation. A concurrent timestamp system is a higher typed communication object, and has been shown to be a powerful tool to solve many concurrency control problems. It has turned out to be possible to construct such higher typed objects from primitive lower typed ones. The next step is to find efficient constructions. We propose a very efficient wait-free construction of bounded concurrent timestamp systems from 1-writer shared registers. This finalizes, corrects, and extends a preliminary bounded multiwriter construction proposed by the second author in 1986. That work partially initiated the current interest in wait-free concurrent objects, and introduced a notion of discrete vector clocks in distributed algorithms.

References

  1. ABRAHAM, U. 1995. On interprocess communication and the implementation of multi-writer atomic registers. Theoret. Comput. Sci. 149, 2, 257-298. Google ScholarGoogle Scholar
  2. ABRAHAMSON, K. 1988. On achieving consensus using a shared memory. In Proceedings of the 7th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, pp. 291-302. Google ScholarGoogle Scholar
  3. ANGER, F. 1989. On Lamport's interprocess communication model. ACM Trans. Prog. Lang. Syst. 11, 3, 404-417. Google ScholarGoogle Scholar
  4. ATTIYA, H., AND WELCH, J. 1998. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. McGraw-Hill Publishing Company, London, UK. Google ScholarGoogle Scholar
  5. BLOOM, B. 1988. Constructing two-writer atomic registers. IEEE Trans. Comput. 37, 12, 1506- 1514. (Preliminary version: Constructing two-writer atomic registers. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, pp. 249-259, 1987.) Google ScholarGoogle Scholar
  6. BURNS, J. E., AND PETERSON, G. L. 1987. Constructing multi-reader atomic values from non-atomic values. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, pp. 222-231. Google ScholarGoogle Scholar
  7. CHOR, B., ISRAELI, A., AND LI, M. 1987. On processor coordination using asynchronous hardware. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, pp. 86-97. Google ScholarGoogle Scholar
  8. DIJKSTRA, E. W. 1965. Solutions of a problem in concurrent programming control. Commun. ACM 8,9, 165-165. Google ScholarGoogle Scholar
  9. DOLEV, D., AND SHAVIT, N. 1997. Bounded concurrent time-stamp systems are constructible. SIAM J. Comput. 26, 2, 418-455. (Preliminary version in: Proceedings of the 21st ACM Symposium on Theory of Computing. ACM, New York, pp. 454-466, 1989.) Google ScholarGoogle Scholar
  10. DWORK, C., HERLIHY, M., PLOTKIN, S., AND WAARTS, O. 1992. Time-lapse snapshots. In Proceedings of Israeli Symposium on Theory of Computing and Systems. Lecture Notes in Computer Science, vol. 601. Springer-Verlag, NewYork, pp. 154, 170. (Also, in SIAM J. Comput. 28, 5, 1848-1874, 1999.) Google ScholarGoogle Scholar
  11. DWORK, C., AND WAARTS, O. 1999. Simple and efficient bounded concurrent timestamping and the traceable use abstraction. J. ACM 46, 5, 633-666. (Preliminary version in: Proceedings of the 24th ACM Symposium on Theory of Computing. ACM, New York, pp. 655-666, 1992.) Google ScholarGoogle Scholar
  12. FISCHER, M. J., LYNCH, N. A., BURNS, J. E., AND BORODIN, A. 1979. Resource allocation with immunity to limited process failure. In Proceedings of the 20th IEEE Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, Calif. pp. 234-254.Google ScholarGoogle Scholar
  13. FISHBURN, P. C. 1985. Interval Orders and Interval Graphs: A Study of Partially Ordered Sets. Wiley, New York.Google ScholarGoogle Scholar
  14. GAWLICK, R., LYNCH, N. A., AND SHAVIT, N. 1992. Concurrent timestamping made simple. In Proceedings of Israeli Symposium on Theory of Computing and Systems. Lecture Notes in Computer Science, vol. 601. Springer-Verlag, New York, pp. 171-183. Google ScholarGoogle Scholar
  15. HALDAR, S. 1993. Efficient Bounded Timestamping Using Traceable Use Abstraction-Is Writer's Guessing Better Than Reader's Telling? Tech. Rep. RUU-CS-93-28, Dept. of Computer Science, Utrecht University, The Netherlands.Google ScholarGoogle Scholar
  16. HALDAR, S., AND VIDYASANKAR, K. 1992. Counterexamples to a one writer multireader atomic shared variable construction of Burns and Peterson. ACM Oper. Syst. Rev 26, 1, 87-88. Google ScholarGoogle Scholar
  17. HALDAR, S., AND VIDYASANKAR, K. 1995a. Constructing 1-writer multireader multivalued atomic variables from regular variables. J. ACM 42, 1, 186-203. Google ScholarGoogle Scholar
  18. HALDAR, S., AND VIDYASANKAR, K. 1995b. Buffer-optimal constructions of 1-writer multireader multivalued atomic shared variables. J. Parall. Dist. Comput. 31, 2, 174-180. (Preliminary version in: Conflictfree constructions of 1-writer multireader multivalued atomic shared variables. TR 9116, Dept. of Computer Science, Memorial University of Newfoundland, Canada, 1991.) Google ScholarGoogle Scholar
  19. HALDAR, S., AND VIDYASANKAR, K. 1996. Simple extensions of 1-writer atomic variable constructions to multiwriter ones. ACTA Inf. 33, 2, 177-202. Google ScholarGoogle Scholar
  20. HERLIHY, M., AND WING, J. 1990. Linearizability: A correctness condition for concurrent objects. ACM Trans. Prog. Lang. Syst. 12, 3, 463-492. Google ScholarGoogle Scholar
  21. ISRAELI, A., AND LI, M. 1993. Bounded time-stamps. Dist. Comput. 6, 205-209. (Preliminary version in: In Proceedings of the 28th IEEE Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, Calif., pp. 371-382, 1987.) Google ScholarGoogle Scholar
  22. ISRAELI, A., AND PINHASOV, M. 1992. A concurrent time-stamp scheme which is linear in time and space. In Proceedings of the Workshop on Distributed Algorithms. Lecture Notes in Computer Science, Springer-Verlag, vol. 647, Berlin, pp. 95-109. Google ScholarGoogle Scholar
  23. ISRAELI, A., AND SHAHAM, A. 1992. Optimal multi-writer multireader atomic register. In Proceedings of the 11th ACM Symposium on Principles of Distributed Computing. ACM, New York, pp. 71-82. Google ScholarGoogle Scholar
  24. KIROUSIS, L. M., KRANAKIS, E., AND VITANYI, P. M. B. 1987. Atomic multireader register. In Proceedings of the Workshop on Distributed Algorithms. Lecture Notes in Computer Science, vol, 312. Springer-Verlag, Berlin, pp. 278-296. Google ScholarGoogle Scholar
  25. LAMPORT, L. 1974. A new solution to Dijkstra's concurrent programming problem. Commun. ACM 17, 8 (Aug.), 453-455. Google ScholarGoogle Scholar
  26. LAMPORT, L. 1977. On concurrent reading and writing. Commun. ACM 20, 11 (Nov.), 806-811. Google ScholarGoogle Scholar
  27. LAMPORT, L. 1978. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 (July), 558-565. Google ScholarGoogle Scholar
  28. LAMPORT, L. 1984. On a "Theorem" of Peterson Unpublished (October, 1984). http:// www.research. compaq.com/SRC/personal/lamport/pubs/pubs.html#peterson-theorem.Google ScholarGoogle Scholar
  29. LAMPORT, L. 1986. On interprocess communication-Part I: Basic formalism, Part II: Algorithms. Dist. Comput. 1, 2, 77-101.Google ScholarGoogle Scholar
  30. LI, M., AND VITANYI, P. M. B., 1992. Optimality of wait-free atomic multiwriter variables. Inf. Process. Lett. 43, 2, 107-112. Google ScholarGoogle Scholar
  31. LI, M., TROMP, J., AND VITANYI, P. M. B. 1996. How to share concurrent wait-free variables. J. ACM 43, 4, 723-746. (Preliminary version: Li, M. and Vitanyi, P. M. B. 1987. A very simple construction for atomic multiwriter register, Tech. Rept. TR-01-87, Computer Science Dept., Harvard University, Nov.) Google ScholarGoogle Scholar
  32. MATTERN, F. 1989. Virtual time and global states of distributed systems. In Proceedings of the Workshop on Parallel and Distributed Algorithms. North-Holland / Elsevier, Amsterdam, The Netherlands, pp. 215- 226. (Reprinted in: Z. Yang and T. A. Marsland, Eds., Global States and Time in Distributed Systems. IEEE Computer Society Press, Los Alamitos, Calif., pp. 123-133.)Google ScholarGoogle Scholar
  33. MATTERN, F. 1992. On the relativistic structure of logical time in distributed systems. In Datation et Controle des Executions Reparties, Bigre 78 (ISSN 0221-525), pp. 3-20.Google ScholarGoogle Scholar
  34. NEWMAN-WOLFE, R. 1987. A protocol for wait-free, atomic, multi-reader shared variables. In Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, pp. 232-248. Google ScholarGoogle Scholar
  35. PETERSON, G. L. 1983. Concurrent reading while writing. ACM Trans. Prog. Lang. Syst. 5, 1, 56-65. Google ScholarGoogle Scholar
  36. PETERSON, G. L., AND BURNS, J. E. 1987. Concurrent reading while writing. II: The multiwriter case. In Proceedings of the 28th IEEE Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, Calif., pp. 383-392.Google ScholarGoogle Scholar
  37. SCHAFFER, R. 1988. On the correctness of atomic multiwriter registers. Report MIT/LCS/TM-364. Massachusetts Institute of Technology, Cambridge, Mass., pp. 1-58.Google ScholarGoogle Scholar
  38. SINGH, A. K., ANDERSON, J. H., AND GOUDA, M. G. 1994. The elusive atomic register. J. ACM 41, 2, 311-339. (Preliminary version in: Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, 1987.) Google ScholarGoogle Scholar
  39. TROMP, J. 1989. How to construct an atomic variable. In Proceedings of the Workshop on Distributed Algorithms. Lecture Notes in Computer Science, vol. 392. Springer-Verlag, Berlin, pp. 292-302. Google ScholarGoogle Scholar
  40. VIDYASANKAR, K. 1990. Concurrent reading while writing revisited. Dist. Comput. 4, 81-85.Google ScholarGoogle Scholar
  41. VIDYASANKAR, K. 1996. Weak atomicity: Ahelpful notion in the construction of atomic shared variables. SADHANA: J. Eng. Sci. IAS 21, 245-259.Google ScholarGoogle Scholar
  42. VITANYI, P. M. B., AND AWERBUCH, B. 1986. Atomic shared register access by asynchronous hardware. In Proceedings of the 27th IEEE Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, Calif., pp. 233-243.Google ScholarGoogle Scholar
  43. VITANYI, P. M. B., AND AWERBUCH, B. 1987. Errata to "Atomic shared register access by asynchronous hardware". In Proceedings of the 28th IEEE Symposium on Foundations of Computer Science. IEEE Computer Society Press, Los Alamitos, Calif., pp. 487-487.Google ScholarGoogle Scholar
  44. YAKOVLEV, A. 1993. Review of "Simple and Efficient Bounded Concurrent Timestamping or Bounded Concurrent Timestamp Systems are Comprehensible!" by C. Dwork and O. Waarts. ACM Comput. Rev. 34, 5, 260-261.Google ScholarGoogle Scholar

Index Terms

  1. Bounded concurrent timestamp systems using vector clocks

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader