Skip to main content

Registers

  • Reference work entry
  • First Online:
Encyclopedia of Algorithms
  • 49 Accesses

Years and Authors of Summarized Original Work

  • 1986; Lamport, Vitanyi, Awerbuch

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 necessarily atomic, that is, they are not indivisible but rather...

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 1,599.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,999.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

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 (1988) Constructing two-writer atomic registers. IEEE Trans Comput 37(12):1506–1514

    Article  MathSciNet  MATH  Google Scholar 

  2. Burns JE, Peterson GL (1987) Constructing multi-reader atomic values from non-atomic values. In: Proceedings of the 6th ACM symposium principles of distributed computing, Vancouver, 10–12 Aug 1987, pp 222–231

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  5. Israeli A, Li M (1993) Bounded time-stamps. Distr Comput 6:205–209 (Preliminary, more extended, version in: proceedings of the 28th IEEE symposium on foundations of computer science, pp 371–382, 1987)

    Google Scholar 

  6. Israeli A, Shaham A (1992) Optimal multi-writer multireader atomic register. In: Proceedings of the 11th ACM symposium on principles distributed computing, Vancouver, 10–12 Aug 1992, pp 71–82

    Google Scholar 

  7. Kirousis LM, Kranakis E, Vitányi PMB (1987) Atomic multireader register. In: Proceedings of the workshop distributed algorithms. Lecture notes computer science, vol 312. Springer, Berlin, pp 278–296

    Google Scholar 

  8. Lamport L (1986) On interprocess communication – part I: basic formalism, part II: algorithms. Distrib Comput 1(2):77–101

    Article  MATH  Google Scholar 

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

    Google Scholar 

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

    Article  MATH  Google Scholar 

  11. Peterson GL, Burns JE (1987) Concurrent reading while writing II: the multiwriter case. In: Proceedings of the 28th IEEE symposium on foundations of computer science, Los Angeles, 27–29 Oct 1987, pp 383–392

    Google Scholar 

  12. Singh AK, Anderson JH, Gouda MG (1994) The elusive atomic register. J ACM 41(2):311–339 (Preliminary version in: proceedings of the 6th ACM symposium on principles distributed computing, 1987)

    Google Scholar 

  13. Tromp J (1989) How to construct an atomic variable. In: Proceedings of the workshop distributed algorithms. Lecture notes in computer science, vol 392. Springer, Berlin, pp 292–302

    Google Scholar 

  14. Vitányi PMB, Awerbuch B (1987) Atomic shared register access by asynchronous hardware. In: Proceedings of the 27th IEEE symposium on foundations of computer science, Los Angeles, 27–29 Oct 1987, pp 233–243 (Errata, Proceedings of the 28th IEEE symposium on foundations of computer science, Los Angeles, 27–29 Oct 1987, pp 487–487)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer Science+Business Media New York

About this entry

Cite this entry

Vitányi, P. (2016). Registers. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_338

Download citation

Publish with us

Policies and ethics