Abstract
Shared memory systems provide a contract to the programmer in the form of a consistency condition. The conditions of atomic memory and sequential consistency provide the illusion of a single memory module, as in the uniprocessor case. Weaker conditions improve performance by sacrificing the simple programming model. Consistency conditions are formulated without reference to details of the hardware on which programs execute. We define the notion of a hardware model, a set of limitations on the communication network (e.g., message delay assumptions) and processing nodes (e.g., amount of available memory). We examine the effects of several models on a representative set of consistency conditions. In each model, we show how the conditions are related, and show that some are not appropriate for that model. Our study is carried out through relatively complete implementations, state machines which exactly capture the possible behaviors of all implementations in a given model. In addition to elucidating properties of the consistency conditions, these state machines can be used in proofs of correctness, when a particular hardware model is assumed.
This research was supported in part by NSF grants CCR-9223094 and CCR-9505807.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agrawal, D., Choy, M., Leong, H. V., and Singh, A. K. Mixed consistency: A model for parallel programming. In PODC '94 (Los Angeles, CA, USA, 14–17 Aug. 1994), pp. 101–10.
Ahamad, M., Bazzi, R., John, R., Kohli, P., and Neiger, G. The power of processor consistency. In SPAA '93 (Velen, Germany, June 1993), pp. 251–60.
Ahamad, M., Neiger, G., Burns, J. E., Kohli, P., and Hutto, P. W. Causal memory: Definitions, implementation and programming. Dist. Comput. 9,1 (Aug. 1995), 37–49.
Attiya, H., and Friedman, R. A correctness condition for high-performance multiprocessors. In STOC '92 (Victoria, British Columbia, Canada, 4–6 May 1992), pp. 679–90.
Attiya, H., and Friedman, R. Limitations of fast consistency conditions for distributed shared memories. Inf. Process. Lett. 57, 5 (Mar. 1996), 243–8.
Attiya, H., and Welch, J. L. Sequential consistency versus linearizability. ACM Trans. Comput. Syst. 12, 2 (May 1994), 91–122.
Eskicioglu, M. R. A comprehensive bibliography of distributed shared memory. Op. Sys. Review 30, 1 (Jan. 1996), 71–96.
Friedman, R. Implementing hybrid consistency with high-level synchronization operations. Dist. Comput. 9, 3 (Dec. 1995), 119–29.
Gharachorloo, K., Adve, S. V., Gupta, A., Hennessy, J. L., and Hill, M. D. Specifying system requirements for memory consistency models. Tech. Rep. CSL-TR-93-594, Computer System Laboratory, Stanford University, 1993. Also University of Wisconsin-Madison Computer Sciences Technical Report #1199.
Gharachorloo, K., Lenoski, D., Laudon, J., Gibbons, P., Gupta, A., and Hennessy, J. Memory consistency and event ordering in scalable shared-memory multiprocessors. In ISCA '90 (Seattle, WA, USA, 28–31 May 1990), pp. 15–26. See revision in Stanford University tech. report CSL-TR-93-568.
Gibbons, P. B., and Merritt, M. Specifying nonblocking shared memories. In SPAA '92 (San Diego, CA, USA, 29 June–1 July 1992), pp. 306–15.
Goodman, J. R. Cache consistency and sequential consistency. Tech. Rep. 1006, Computer Sciences Department, University of Wisconsin-Madison, Feb. 1991.
Gupta, V. Chu Spaces: A Model of Concurrency. PhD thesis, Stanford University, Aug. 1994.
Gupta, V., and Pratt, V. Gates accept concurrent behavior. In FOCS '93 (Palo Alto, CA, USA, 3–5 Nov. 1993), pp. 62–71.
Herlihy, M. P., and Wing, J. M. Linearizability: A correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12, 3 (July 1990), 463–92.
James, J., and Singh, A. K. The impact of hardware models on shared memory consistency conditions. Tech. Rep. TRCS96-12, Computer Science Department, University of California at Santa Barbara, 1996.
Lamport, L. How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comput. 28, 9 (Sept. 1979), 690–1.
Lamport, L. On interprocess communication, parts I and II. Dist. Comput. 1, 2 (Apr. 1986), 77–101.
Lipton, R. J., and Sandberg, J. S. PRAM: A scalable shared memory. Tech. Rep. CS-TR-180-88, Department of Computer Science, Princeton University, Sept. 1988.
Lynch, N. A., and Tuttle, M. R. Hierarchical correctness proofs for distributed algorithms. In PODC '87 (Vancouver, British Columbia, Canada, 10–12 Aug. 1987), pp. 137–51.
Lynch, N. A., and Vaandrager, F. Forward and backward simulations. Inf. Comput. 121, 2 (Sept. 1995), 214–233.
Mosberger, D. Memory consistency models. Op. Sys. Review 27, 1 (Jan. 1993), 18–26.
Pratt, V. The second calculus of binary relations. In MFCS '93 (Gdansk, Poland, 30 Aug.–3 Sept. 1993), A. M. Borzyszkowski and S. Sokolowski, Eds., Springer-Verlag, pp. 142–155.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
James, J., Singh, A. (1996). The impact of hardware models on shared memory consistency conditions. In: Montanari, U., Sassone, V. (eds) CONCUR '96: Concurrency Theory. CONCUR 1996. Lecture Notes in Computer Science, vol 1119. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61604-7_86
Download citation
DOI: https://doi.org/10.1007/3-540-61604-7_86
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61604-7
Online ISBN: 978-3-540-70625-0
eBook Packages: Springer Book Archive