This Article 
 Bibliographic References 
 Add to: 
A Unified Formalization of Four Shared-Memory Models
June 1993 (vol. 4 no. 6)
pp. 613-624

The authors present a data-race-free-1, shared-memory model that unifies four earliermodels: weak ordering, release consistency (with sequentially consistent specialoperations), the VAX memory model, and data-race-free-0. Data-race-free-1 unifies themodels of weak ordering, release consistency, the VAX, and data-race-free-0 byformalizing the intuition that if programs synchronize explicitly and correctly, thensequential consistency can be guaranteed with high performance in a manner that retainsthe advantages of each of the four models. Data-race-free-1 expresses the programmer'sinterface more explicitly and formally than weak ordering and the VAX, and allows animplementation not allowed by weak ordering, release consistency, or data-race-free-0.The implementation proposal for data-race-free-1 differs from earlier implementations bypermitting the execution of all synchronization operations of a processor even whileprevious data operations of the processor are in progress. To ensure sequentialconsistency, two sychronizing processors exchange information to delay later operationsof the second processor that conflict with an incomplete data operation of the firstprocessor.

[1] S. V. Adve and M.D. Hill. "Weak Ordering--A New definition,"Proc. 17th Ann. Int'l Symp. Computer Architecture, IEEE CS Press, June 1990, pp 2-14.
[2] S. V. Adve, M. D. Hill, B. P. Miller, and R. H. B. Netzer, "Detecting data races on weak memory systems," inProc. 18th Annu. Int. Symp. Comput. Architecture, May 1991, pp. 234-243.
[3] S. V. Adve and M. D. Hill, "Sufficient conditions for implementing the data-race-free-1 memory model," Comput. Sci. Tech. Rep. #1107, Univ. Wisconsin, Madison, Sept. 1992.
[4] A. Agarwal, R. Simoni, J. Hennessy, and M. Horowitz, "An evaluation of directory schemes for cache coherence," inProc. 15th Int. Symp. Comput. Architecture, June 1988, pp. 280-289.
[5] M. Ahamad, P. W. Hutto, and R. Hohn, "Implementing and programming causal distributed shared memory," College of Computing Tech. Rep. GIT-CC-90-49, Georgia Institute of Technology, Nov. 1990.
[6] J. Archibald and J. L. Baer, "Cache-coherence protocols: Evaluation using a multiprocessor simulation model,"ACM Trans. Comput. Syst., vol. 4, no. 4, pp. 273-298, Nov. 1986.
[7] R. DeLeone and O. L. Mangasarian, "Asynchronous parallel successive overrelaxation for the symmetric linear complementarity problem,"Mathematical Programming, vol. 42, pp. 347-361, 1988.
[8] VAX Architecture Handbook, 1981.
[9] M. Dubois, C. Scheurich, and F. Briggs, "Memory Access Buffering In Multiprocessors,"Proc. 13th Int'l Symp. Computer Architecture, June 1986, pp. 434-442.
[10] M. Dubois and C. Scheurich, "Memory access dependencies in shared-memory multiprocessors,"IEEE Trans. Software Eng., vol. SE-16, no. 6, pp. 660-673, June 1990.
[11] C.C. Howell and D. E. Mularz, "Exception handling in large Ada systems," inProc. Washington Ada Symp., 1991.
[12] K. Gharachorlooo, A. Gupta, and J. Hennessy, "Two techniques to enhance the performance of memory consistency models," inProc. Int. Conf. Parallel Processing, 1991, pp. I355-I364.
[13] K. Gharachorloo, A. Gupta, and J. Hennessy, "Performance Evaluation of Memory Consistency Models for Shared-Memory Multiprocessors,"Proc. Fourth Int'l Conf. Architectural Support for Programming Languages and Operating Systems, ACM, New York, 1991, pp. 245- 257.
[14] K. Gharachorloo and P. B. Gibbons, "Detecting violations of sequential consistency," inProc. Symp. Parallel Algorithms and Architectures, July 1991, pp. 316-326.
[15] P. B. Gibbons, M. Meritt, and K. Gharachorloo, "Proving sequential consistency of high-performance shared memories," inProc. Parallel Algorithms and Architectures, July 1991, pp. 292-303.
[16] J. R. Goodman, "Cache consistency and sequential consistency," Comput. Sci. Tech. Rep. #1006, Univ. Wisconsin, Madison, Feb. 1991.
[17] A. Gottlieb, R. Grishman, C. P. Kruskal, K. P. McAuliffe, L. Rudolph, and M. Snir, "The NYU Ultaracomputer--Designing an MIMD shared memory parallel computer,"IEEE Trans. Comput., pp. 175-189, Feb. 1983.
[18] P. W. Hutto and M. Ahamad, "Slow memory: weakening consistency to enhance concurrency in distributed shared memories," inProc. 10th Int. Conf. on Distrib. Comput. Syst.(Paris), May 1990, pp. 302-309.
[19] IBM System/370 Principles of Operation, Publication Number GA22- 7000-9, File Number S370-01, May 1983.
[20] D. Kroft, "Lockup-free instruction fetch/prefetch cache organization," inProc. 8th Annu. Symp. Comput. Architecture, June 1981, pp. 81-87.
[21] L. Lamport, "How to make a multiprocessor computer that correctly executes multiprocess programs,"IEEE Trans. Comput., vol. C-28, no. 9, pp. 690-691, Sept. 1979.
[22] R. J. Lipton and J. S. Sandberg, "PRAM: A scalable shared memory," Tech. Rep. CS-Tech. Rep.-180-88, Princeton Univ., Sept. 1988.
[23] J.M. Mellor-Crummey and M.L. Scott, "Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors,"ACM Trans. Computer Systems, Vol. 9, No. 1, Feb. 1991, pp. 21-65.
[24] J. Patel, "Multiprocessor cache memories," Seminar at Texas Instruments Research Labs. (Dallas, TX, Dec. 1983), Intel (Aloha, OR, Apr. 1984), Digital Equipment (Hudson, MA, June 1984), IBM (Yorktown, Oct. 1984), IBM (Poughkeepsie, Aug. 1986).
[25] The SPARC Architecture Manual, Sun Microsystems Inc., No. 800-199- 12, Version 8, Jan. 1991.
[26] C. E. Scheurich, "Access ordering and coherence in shared memory multiprocessors," Ph.D. dissertation, Dep. Comput. Eng., Tech. Rep. CENG 89-19, Univ. Southern California, May 1989.
[27] D. Shasha and M. Snir, "Efficient and correct execution of parallel programs that share memory,"ACM Trans. Programming Languages and Syst., vol. 10, no. 2, pp. 282-312, Apr. 1988.
[28] R. N. Zucker, "A study of weak consistency models," dissertation proposal, Univ. Washington, 1991.

Index Terms:
Index Termsmultiprocessors; formalization; shared-memory models; data-race-free-1; weak ordering;release consistency; data-race-free-0; sequential consistency; hazards and raceconditions; shared memory systems
S.V. Adve, J.K. Aggarwal, "A Unified Formalization of Four Shared-Memory Models," IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 6, pp. 613-624, June 1993, doi:10.1109/71.242161
Usage of this product signifies your acceptance of the Terms of Use.