Skip to main content

Registers

1986; Lamport, Vitanyi, Awerbuch

  • Reference work entry
Encyclopedia of Algorithms

Keywords and Synonyms

Shared-memory (wait-free) ; Wait-free registers; Wait-free shared variables; Asynchronous communication hardware                      

Problem Definition

Consider a system of asynchronous processes that communicate among themselves by only executing read and write operations on a set of shared variables (also known as shared registers). The system has no global clock or other synchronization primitives. Every shared variable is associated with a process (called owner) which writes it and the other processes may read it. An execution of a write (read) operation on a shared variable will be referred to as a Write (Read) on that variable. A Write on a shared variable puts a value from a pre-determined finite domain into the variable, and a Read reports a value from the domain. A process that writes (reads) a variable is called a writer (reader) of the variable.

The goal is to construct shared variables in which the following two properties hold. (1) Operation executions are not...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 399.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Boolean variables are referred to as bits.

Recommended Reading

  1. Bloom, B.: Constructing two-writer atomic registers. IEEE Trans. Comput. 37(12), 1506–1514 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  2. Burns, J.E., Peterson, G.L.: Constructing multi-reader atomic values from non-atomic values. In: Proc. 6th ACM Symp. Principles Distr. Comput., pp. 222–231. Vancouver, 10–12 August 1987

    Google Scholar 

  3. Dolev, D., Shavit, N.: Bounded concurrent time-stamp systems are constructible. SIAM J. Comput. 26(2), 418–455 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  4. Haldar, S., Vitanyi, P.: Bounded concurrent timestamp systems using vector clocks. J. Assoc. Comp. Mach. 49(1), 101–126 (2002)

    Article  MathSciNet  Google Scholar 

  5. Israeli, A., Li, M.: Bounded time-stamps. Distribut. Comput. 6, 205–209 (1993) (Preliminary, more extended, version in: Proc. 28th IEEE Symp. Found. Comput. Sci., pp. 371–382, 1987.)

    Article  MATH  Google Scholar 

  6. Israeli, A., Shaham, A.: Optimal multi-writer multireader atomic register. In: Proc. 11th ACM Symp. Principles Distr. Comput., pp. 71–82. Vancouver, British Columbia, Canada, 10–12 August 1992

    Google Scholar 

  7. Kirousis, L.M., Kranakis, E., Vitányi, P.M.B.: Atomic multireader register. In: Proc. Workshop Distributed Algorithms. Lect Notes Comput Sci, vol 312, pp. 278–296. Springer, Berlin (1987)

    Google Scholar 

  8. Lamport, L.: On interprocess communication—Part I: Basic formalism, Part II: Algorithms. Distrib. Comput. 1(2), 77–101 (1986)

    Article  MATH  Google Scholar 

  9. Li, M., Tromp, J., Vitányi, P.M.B.: How to share concurrent wait-free variables. J. ACM 43(4), 723–746 (1996) (Preliminary version: Li, M., Vitányi, P.M.B. A very simple construction for atomic multiwriter register. Tech. Rept. TR-01–87, Computer Science Dept., Harvard University, Nov. 1987)

    Article  MathSciNet  MATH  Google Scholar 

  10. Peterson, G.L.: Concurrent reading while writing. ACM Trans. Program. Lang. Syst. 5(1), 56–65 (1983)

    Article  MATH  Google Scholar 

  11. Peterson, G.L., Burns, J.E.: Concurrent reading while writing II: The multiwriter case. In: Proc. 28th IEEE Symp. Found. Comput. Sci., pp. 383–392. Los Angeles, 27–29 October 1987

    Google Scholar 

  12. Singh, A.K., Anderson, J.H., Gouda, M.G.: The elusive atomic register. J. ACM 41(2), 311–339 (1994) (Preliminary version in: Proc. 6th ACM Symp. Principles Distribt. Comput., 1987)

    Article  MATH  Google Scholar 

  13. Tromp, J.: How to construct an atomic variable. In: Proc. Workshop Distrib. Algorithms. Lecture Notes in Computer Science, vol. 392, pp. 292–302. Springer, Berlin (1989)

    Google Scholar 

  14. Vitányi, P.M.B., Awerbuch, B.: Atomic shared register access by asynchronous hardware. In: Proc. 27th IEEE Symp. Found. Comput. Sci. pp. 233–243. Los Angeles, 27–29 October 1987. Errata, Proc. 28th IEEE Symp. Found. Comput. Sci., pp. 487–487. Los Angeles, 27–29 October 1987

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag

About this entry

Cite this entry

Vitányi, P. (2008). Registers. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-30162-4_338

Download citation

Publish with us

Policies and ethics