Efficient, strongly consistent implementations of shared memory

Extended abstract
  • Marios Mavronicolas
  • Dan Roth
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 647)


We present linearizable implementations for two distributed organizations of multiprocessor shared memory. For the full caching organization, where each process keeps a local copy of the whole memory, we present a linearizable implementations of read/write memory objects that achieves essentially optimal efficiency and allows quantitative degradation of the less frequently employed operation. For the single ownership organization, where each memory object is “owned” by a single process which is most likely to access it frequently, our linearizable implementation allows local operations to be performed much faster (almost instantaneously) than remote ones.

We suggest to combine these organizations in a “hybrid” memory structure that allows processes to access local and remote information in a transparent manner, while at a lower level of the memory consistency system, different portions of the memory are allocated to employ the suitable implementation based on their typical usage and sharing pattern.


Local Operation Read Operation Memory Organization Memory Object Local Clock 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Y. Afek, G. Brown and M. Merritt, “A Lazy Cache Algorithm,” in Proceedings of the 1st ACM Symposium on Parallel Algorithms and Architectures, pp. 209–222, July 1989.Google Scholar
  2. 2.
    M. Ahamad, P. Hutto and R. John, Implementing and Programming Causal Distributed Shared Memory, TR GIT-CC-90-49, Georgia Institute of Technology, December 1990.Google Scholar
  3. 3.
    H. Attiya, “Implementing FIFO Queues and Stacks,” in Proceedings of the 5th Workshop on Distributed Algorithms, pp. 80–94, Lecture Notes in Computer Science (Vol. 579), Springer-Verlag, October 1991.Google Scholar
  4. 4.
    H. Attiya and J. Welch, “Sequential Consistency versus Linearizability,” in Proceedings of the 3rd ACM Symposium on Parallel Algorithms and Architectures, pp. 304–315, July 1991.Google Scholar
  5. 5.
    Jean-Loup Baer and Weu-Hann Wang, “Multilevel Cache Hierarchies: Organizations, Protocols and Performance,” in Journal of Parallel and Distributed Computing, 6, pp. 451–476, 1989.Google Scholar
  6. 6.
    G. Brown and M. Merritt, “Hierarchical Lazy Caching,” in Proceedings of the 28th Annual Allerton Conference on Communication, Control and Computing, pp. 548–557, October 1990.Google Scholar
  7. 7.
    M. Herlihy and J. Wing, “Linearizability: A Correctness Condition for Concurrent Objects,” ACM Transactions on Programming Languages and Systems, Vol 12, No.3, pp. 463–492, July 1990.Google Scholar
  8. 8.
    P. Hutto and M. Ahamad, Slow Memory: Weakening Consistency to Enhance Concurrency in Distributed Shared Memories, TR GIT-ICS-89/39, Georgia Institute of Technology, October 1989.Google Scholar
  9. 9.
    L. Lamport, “How to Make a Multiprocessor Computer that Correctly Executes Multiprocess Programs,” IEEE Transactions on Computers, Vol. C-28, No.9, pp. 690–691, September 1979.Google Scholar
  10. 10.
    R. Lipton and J. Sandberg, A Scalable Shared Memory, Technical Report CS-TR-s180–88, Princeton University, September 1988.Google Scholar
  11. 11.
    J. Lundelius and N. Lynch, “An Upper and Lower Bound for Clock Synchronization,” Information and Control, Vol. 62, No. 2/3, pp. 190–204, August/September 1984.Google Scholar
  12. 12.
    M. Mavronicolas and D. Roth, “Sequential Consistency and Linearizability: Read/Write Objects,” in Proceedings of the 29th Annual Allerton Conference on Communication, Control and Computing, October 1991. Expanded version: “Linearizable Read/Write Objects,”, Technical Report TR-28-91, Aiken Computation Laboratory, Harvard University, 1991. Submitted for publication.Google Scholar
  13. 13.
    M. Mavronicolas and D. Roth, Efficient, Strongly Consistent Implementations of Shared Memory, Technical Report TR-05-92, Aiken Computation Laboratory, HarvardGoogle Scholar
  14. 14.
    Weu-Hann Wang, Jean-Loup Baer and Henry M. Levy, “Organization and Performance of a Two-level Virtual-Real Cache Hierarchy,” in Proceedings of the 16th International Symposium on Computer Architecture, pp. 140–148, June 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Marios Mavronicolas
    • 1
  • Dan Roth
    • 1
  1. 1.Aiken Computation LaboratoryHarvard UniversityCambridgeUSA

Personalised recommendations