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.
- ABRAHAM, U. 1995. On interprocess communication and the implementation of multi-writer atomic registers. Theoret. Comput. Sci. 149, 2, 257-298. Google Scholar
- 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 Scholar
- ANGER, F. 1989. On Lamport's interprocess communication model. ACM Trans. Prog. Lang. Syst. 11, 3, 404-417. Google Scholar
- ATTIYA, H., AND WELCH, J. 1998. Distributed Computing: Fundamentals, Simulations, and Advanced Topics. McGraw-Hill Publishing Company, London, UK. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- DIJKSTRA, E. W. 1965. Solutions of a problem in concurrent programming control. Commun. ACM 8,9, 165-165. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- FISHBURN, P. C. 1985. Interval Orders and Interval Graphs: A Study of Partially Ordered Sets. Wiley, New York.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- HALDAR, S., AND VIDYASANKAR, K. 1995a. Constructing 1-writer multireader multivalued atomic variables from regular variables. J. ACM 42, 1, 186-203. Google Scholar
- 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 Scholar
- HALDAR, S., AND VIDYASANKAR, K. 1996. Simple extensions of 1-writer atomic variable constructions to multiwriter ones. ACTA Inf. 33, 2, 177-202. Google Scholar
- HERLIHY, M., AND WING, J. 1990. Linearizability: A correctness condition for concurrent objects. ACM Trans. Prog. Lang. Syst. 12, 3, 463-492. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- LAMPORT, L. 1974. A new solution to Dijkstra's concurrent programming problem. Commun. ACM 17, 8 (Aug.), 453-455. Google Scholar
- LAMPORT, L. 1977. On concurrent reading and writing. Commun. ACM 20, 11 (Nov.), 806-811. Google Scholar
- LAMPORT, L. 1978. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 (July), 558-565. Google Scholar
- 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 Scholar
- LAMPORT, L. 1986. On interprocess communication-Part I: Basic formalism, Part II: Algorithms. Dist. Comput. 1, 2, 77-101.Google Scholar
- LI, M., AND VITANYI, P. M. B., 1992. Optimality of wait-free atomic multiwriter variables. Inf. Process. Lett. 43, 2, 107-112. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- PETERSON, G. L. 1983. Concurrent reading while writing. ACM Trans. Prog. Lang. Syst. 5, 1, 56-65. Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- VIDYASANKAR, K. 1990. Concurrent reading while writing revisited. Dist. Comput. 4, 81-85.Google Scholar
- VIDYASANKAR, K. 1996. Weak atomicity: Ahelpful notion in the construction of atomic shared variables. SADHANA: J. Eng. Sci. IAS 21, 245-259.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Index Terms
- Bounded concurrent timestamp systems using vector clocks
Recommendations
Constructing 1-writer multireader multivalued atomic variables from regular variables
A simple wait-free construction of 1-writer multireader multivalued atomic variable from multireader regular variables is presented in this paper. A key point of the construction is the use of an elegant forwarding technique to overcome the new-old ...
Virtual world consistency: A condition for STM systems (with a versatile protocol with invisible read operations)
The aim of a Software Transactional Memory (STM) is to discharge the programmers from the management of synchronization in multiprocess programs that access concurrent objects. To that end, an STM system provides the programmer with the concept of a ...
Comments