Skip to main content
Log in

Implementing hybrid consistency with high-level synchronization operations

  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

In recent years, there is a growing tendency to support high-level synchronization operations, such as read-modify-write, FIFO queues and stacks, as part of the programmer’s shared memory model. This paper examines the problem of implementing hybrid consistency with high-level synchronization operations. It is shown that for any implementation of weak consistency, the time required to execute a read-modify-write, a dequeue or a pop operation is Ω(d), where d is the network delay. Following this, an efficient and simple algorithm for providing hybrid consistency that supports most types of high-level synchronization operations and weak read and weak write operations is presented. Weak read and weak write operations are executed instantaneously, while the time required to execute strong operations is O(d). This is within a constant factor of the lower bounds for most of the commonly used types of operations.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Adve S, Hill M: Weak ordering—a new definition. In: Proc 17th International Symposium on Computer Architecture, pp 2–14, May 1990

  2. Adve S, Hill M: A unified formalization of four shared-memory models. Tech Rep 1051, Computer Science Department, University of Wisconsin, Wisconsin-Madison, September 1991

    Google Scholar 

  3. Afek Y, Brown G, Merritt M: A lazy cache algorithm. ACM Trans Program Lang Syst 15(1): 182–205 (1993)

    Article  Google Scholar 

  4. Agarwel A, et al: The MIT alewife machine: a large-scale distributed memory multiprocessor. In: Proc Workshop on Scalable Shared Memory Multiprocessors. Kluwer, 1991

  5. Ahamad M, Burns J, Hutto P, Neiger G: Causal memory. In: 5th International Workshop on Distributed Algorithms, Greece, October 1991

  6. Ahamad M, Hutto P, John R: Implementing and programming causal distributed shared memory. Tech Rep TR GIT-CC-90-49, Georgia Institute of Technology, December 1990

  7. Ahamad M, Neiger G, Kohli P, Burns J, Hutto P: Causal memory: definitions, implementation, and programming. Distrib Comput 9(1): 37–49 (1995)

    Article  MathSciNet  Google Scholar 

  8. Alvarez G, Cristian F, Mishra S: On-demand asynchronous atomic broadcast. Tech Rep CS95-416, Department of Computer Science, University of California, San Diego, 1995

    Google Scholar 

  9. Amir Y, Dolev D, Kramer S, Malki D: Total ordering of messages in broadcast domains. Tech Rep CS92-9, Department of Computer Science, the Hebrew University of Jerusalem, 1992

  10. Attiya H: Implementing FIFO queues and stacks. In: Proc 5th International Workshop on Distributed Algorithms, pp 80–94, October 1991

  11. Attiya H, Chaudhuri S, Friedman R, Welch J: Shared memory consistency conditions for non-sequential execution: definitions and programming strategies. In: Proc 5th ACM Symposium On Parallel Algorithms and Architectures, pp 241-250, June/July 1993. Also: Tech Rep LPCR #9306, Department of Computer Science, The Technion (submitted for publication)

  12. Attiya H, Friedman R: A correctness condition for high performance multiprocessors. In: Proc 24th ACM Symposium on the Theory Of Computing, pp 679-690, May 1992. Revised version: Tech Rep #767, Department of Computer Science, The Technion (submitted for publication)

  13. Attiya H, Welch J: Sequential consistency versus linearizability. ACM Trans Comput Syst 12(2): 91–122 (1994)

    Article  Google Scholar 

  14. Birman K: The process group approach to reliable distributed computing. Commun ACM 36(12): 37–53 (1993)

    Article  Google Scholar 

  15. Birman K, Joseph T: Exploiting virtual synchrony in distributed systems. In: Proc 11th ACM Symposium on Operating Systems Principles, pp 123–138, December 1987

  16. Birman K, Joseph T: Reliable communication in the presence of failures. ACM Trans Comput Syst 5(1): 47–76 (1987)

    Article  Google Scholar 

  17. Birman K, Schiper A, Stephenson P: Lightweight causal and atomic group multicast. ACM Trans Comput Syst 9(3): 272–314 (1991)

    Article  Google Scholar 

  18. Bisiani R, Nowatzyk A, Ravishankar M: Coherent shared memory on a distributed memory machine. In: Proc International Conference on Parallel Processing, pp 1–133–141, 1989

  19. Brantley W, McAuliffe K, Weiss J: RP3 processor-memory element. In: Proc International Conference on Parallel Processing, pp 782–789, 1985

  20. Chang J, Maxemchuk N: Reliable broadcast protocols. ACM Trans Comput Syst 2(3): 251–273 (1984)

    Article  Google Scholar 

  21. Corella F, Stone J, Barton C: A formal specification of the power PC shared memory architecture. Tech Rep Research Report #RC18638, IBM, 1994

  22. Cristian F, Beijen R, Mishra S: A performance comparison of asynchronous atomic broadcast protocols. Distrib Syst Eng J 1(4): 177–201 (1994)

    Article  Google Scholar 

  23. Dubois M, Scheurich C, Briggs FA: Synchronization, coherence and event ordering in multiprocessors. IEEE Comput 21(2): 9–21 (1988)

    Google Scholar 

  24. Friedman R: Implementing hybrid consistency with high-level synchronization operations. In: Proc 12th Annual ACM Symposium on the Principles of Distributed Computing, pp 229-240, August 1993. Also: Tech Rep #781, Department of Computer Science, The Technion (submitted for publication)

  25. Gharachorloo K, Lenoski D, Laudon J, Gibbon SP, Gupta A, Hennessy J: Memory consistency and event ordering in scalable shared memory multiprocessors. In: Proc 17th International Symposium on Computer Architecture, pp 15–26, May 1990

  26. Gibbons P, Merritt M: Specifying non-blocking shared memories. In Proc 4th ACM Symposium on Parallel Algorithms and Architectures, pp 306–315, July 1992

  27. Gibbons P, Merritt M, Gharachorloo K: Proving sequential consistency of high performance shared memories. In: Proc 3rd ACM Symposium on Parallel Algorithms and Architectures, pp 292–303, July 1991

  28. Goodman RJ: Cache consistency and sequential consistency. Tech Rep 1006, Computer Science Department, University of Wisconsin, Wisconsin, Madison, February 1991

    Google Scholar 

  29. Herlihy M, Wing J: Linearizability: a correctness condition for concurrent objects. ACM Trans Program Lang Syst 12(3): 463–492 (1990)

    Article  Google Scholar 

  30. Hutto P, Ahamad M: Slow memory: weakening consistency to enhance concurrency in distributed shared memories. Tech Rep TR GIT-ICS-89/39, Georgia Institute of Technology, October 1989

  31. Kaashoek F, Tanenbaum A, Hummel S, Bal H: An efficient reliable broadcast protocol. Operating Syst Rev 23(4): 5–19 (1989)

    Article  Google Scholar 

  32. Kosa M: Making operations of concurrent data types fast. In: Proc 13th ACM Symposium on Principles of Distributed Computing, August 1994

  33. Lamport L: How to make multiprocessor computer that correctly executes multiprocess programs. IEEE Trans Comput C-28(9): 690–691 (1979)

    Article  Google Scholar 

  34. Lipton R, Sandberg J: PRAM: a scalable shared memory. Tech Rep CS-TR-180-88, Computer Science Department, Princeton University, September 1988

  35. Marzullo K, Cooper R, Wood M, Birman K: Tools for distributed applications management. IEEE Comput 24(8): 42–51 (1991)

    Google Scholar 

  36. Mavronicolas M, Roth D: Efficient, strongly-consistent implementations of shared memory. In: Proc 6th International Workshop on Distributed Algorithms, pp 346–361, Haifa, Israel, November 1992

  37. Siegel A, Birman K, Marzullo K: Deceit: a flexible distributed file system. Tech Rep TR 89-1042, Department of Computer Science, Cornell University, November 1989

  38. Site R (ed) Alpha architecture reference manual. Digital Equipment Corporation, 1992

Download references

Author information

Authors and Affiliations

Authors

Additional information

Partially supported by Technion V.P.R. — Argentinian Research Fund and the US-Israel Binational Science Foundation. An extended abstract of a preliminary version of this work appears in proceedings of the 13th ACM Symposium on Principles of Distributed Computing, August 1993, pp 229 240

Rights and permissions

Reprints and permissions

About this article

Cite this article

Friedman, R. Implementing hybrid consistency with high-level synchronization operations. Distrib Comput 9, 119–129 (1995). https://doi.org/10.1007/s004460050014

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s004460050014

Key words

Navigation