skip to main content
article

On specification of Read/Write shared variables

Published:01 December 2007Publication History
Skip Abstract Section

Abstract

A shared variable is an abstraction of persistent interprocess communication. Processors execute operations, often concurrently, on shared variables to exchange information among themselves. The behavior of operation executions is required to be “consistent” for effective interprocess communication. Consequently, a consistency specification of a shared variable describes some guarantees on the behavior of the operation executions. A Read/Write shared variable has two operations: a Write stores a specified value in the variable and a Read returns a value from the variable. For Read/Write variables, a consistency specification describes what values Reads may return. Using an intuitive notion of illegality of Reads, we propose a framework that facilitates specifying a large variety of Read/Write variables.

References

  1. Abraham, U. and Ben-David, S. 1987. Informal and formal correctness proofs for programs (for the critical section problem). Unpublished manuscript. (Also available at http//www.cs.bgu.ac.il/~abraham/concurrency.html.).Google ScholarGoogle Scholar
  2. Agrawal, D., Choy, M., Leong, H., and Singh, A. 1994. Mixed consistency: A model for parallel programming. In Proceedings of the 13th ACM Symposium on Principles of Distributed Computing. ACM, New York, 101--110. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Ahamad, M., Neiger, G., Burns, J., Kholi, P., and Hutto, P. 1995. Causal memory: Definitions, implementation, and programming. Distrib. Comput. 9, 1, 37--49.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Anger, F. 1989. On lamport's interprocess communication model. ACM Trans. Prog. Lang. Syst. 11, 3, 404--417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Attiya, H., Chaudhuri, S., Friedman, R., and Welch, J. 1993. Shared memory consistency conditions for non-sequential execution: definition and programming strategies. In Proceedings of the 5th ACM Symposium on Parallel Algorithms and Architectures. ACM, New York, 241--250. (Also in SIAM J. Computing 27, 1, 65--89, 1998). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Attiya, H. and Friedman, R. 1992. A correctness condition for high performance multiprocessors. In Proceedings of the 24th ACM Symposium on Theory of Computing. ACM, New York, 679--690. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Awerbuch, B., Kirousis, L., Kranakis, E., and Vitányi, P. 1988. A proof technique for register atomicity (preliminary version). In Proceedings of Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science, vol. 338. Springer-Verlag, New York, 286--303. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bataller, J. and Bernabeu-Aubn, J. 1997. Synchronized DSM models. In Proceedings of the 3rd International Euro-Par Conference. 468--475. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Ben-David, S. 1988. The global time assumption and semantics for concurrent systems. In Proceedings of the 7th ACM Symposium on Principles of Distributed Computing. ACM, New York, 223--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Garg, V. and Raynal, M. 1999. Normality: A consistency condition for concurrent objects. Para. Proc. Lett. 9, 1, 123--134.Google ScholarGoogle ScholarCross RefCross Ref
  11. Goodman, J. 1989. Cache consistency and sequential consistency. Tech. Rep. No. 61. SCI Committee, Mar.Google ScholarGoogle Scholar
  12. Haldar, S. and Vidyasankar, K. 1996. Simple extensions of 1-writer atomic variable constructions to multiwriter ones. Acta Inf. 33, 2, 177--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Herlihy, M. and Wing, J. 1990. Linearizability: A correctness condition for concurrent objects. ACM Trans. Prog. Lang. Syst. 12, 3, 463--492. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hutto, P. and Ahamad, M. 1990. Slow memory: Weakening consistency to enhance concurrency in distributed shared memories. In Proceedings of the 10th International Conference on Distributed Computing Systems. 302--309.Google ScholarGoogle Scholar
  15. Kirousis, L. and Kranakis, E. 1989. A brief survey of concurrent readers and writers. CWI Quarterly 2.Google ScholarGoogle Scholar
  16. Lamport, L. 1979a. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Computer C-28, 9, 690--691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Lamport, L. 1979b. A new approach to proving the correctness of multiprocess programs. ACM Trans. Prog. Lang. Syst. 1, 1, 84--97. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Lamport, L. 1985. On interprocess communication---Part I: Basic formalism, Part II: Algorithms. DEC SRC Report 8. (Also in Distributed Computing, 1, 2, 77--101.)Google ScholarGoogle Scholar
  19. Lee, H. and Welch, W. 2001. Applications of probabilistic quorums to iterative algorithms. In Proceedings of the 21st International Conference of Distributed Computing Systems. 21--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Lipton, R. and Sandberg, J. 1988. Pram: A scalable shared memory. Tech. Rep. 180-88, Department of Computer Science, Princeton University.Google ScholarGoogle Scholar
  21. Misra, J. 1986. Axiom for memory access in asynchronous hardware systems. ACM Trans. Prog. Lang. Syst. 8, 1, 142--153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Owicki, S. and Gries, D. 1976. An axiomatic proof technique for parallel programs. ACTA Informat. 6, 319--340.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Peterson, G. and Burns, J. 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, CA, 383--392.Google ScholarGoogle Scholar
  24. Raynal, M. and Schiper, A. 1995. From causal consistency to sequential consistency in shared memory systems. In Proceedings of Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science, vol. 1026. Springer-Verlag, New York, 180--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Raynal, M. and Schiper, A. 1996. A suite of definitions of consistency criteria in distributed shared memories. In Proceedings of the 9th IEEE Conference of Parallel and Distributed Computing Systems, IEEE Computer Society Press, Los Alamitos, CA, 125--131.Google ScholarGoogle Scholar
  26. Shao, C., Pierce, E., and Welch, J. L 2003. Multi-writer consistency conditions for shared memory objects. In Proceedings of the 17th International Conference on Distributed Computing (DISC 2003) (Sorrento, Italy, Oct. 1--3). Lecture Notes in Computer Science, vol. 2848, Springer-Verlag, New York, 106--120.Google ScholarGoogle Scholar
  27. Singh, A. 1995. A framework for programming using non-atomic variables. J. Paral. Distrib. Comput. 26, 2, 211--224. (Originally in Proceedings of the 8th International Parallel Processing Symposium, Cancun, Mexico), 26--29. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Steinke, R. and Nutt, G. 2004. A unified theory of shared memory consistency. J. ACM 51, 5, 800--849. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Torres-Rojas, F., Ahamad, M., and Raynal, M. 1999. Timed consistency for shared distributed objects. In Proceedings of the 18th Annual ACM Symposium on Principles of Distributed Computing. ACM, New York, 163--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Vidyasankar, K. 1985. A simple characterization of database serializability. In Proceedings of Foundations of Software Technology and Theoretical Computer Science. Lecture Notes in Computer Science, vol. 206. Springer-Verlag, New York, 329--345. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. On specification of Read/Write shared variables

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader