This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Access Graphs: A Model for Investigating Memory Consistency
January 1994 (vol. 5 no. 1)
pp. 39-52

Computer architectures supporting shared memory continue to increase in complexity asdesigners seek to improve memory performance. This is especially true of proposals formassively parallel systems with distributed, yet shared, memory. The need to maintain areasonably simple memory model for programmers, in spite of enhancements like cachesand access pipelining, is responsible for many of the complications. We develop a novelgraph model, access graphs, for visualizing processor/memory interaction. Access graphssymbolically represent the causal relationships between load, store, and synchronizationevents. The focus is on two classes of access graphs: pseudo and real. A pseudo accessgraph describes an execution in terms of abstract events familiar to the programmer. Ifthe pseudo access graph is acyclic, then memory consistency is preserved during theexecution. A real access graph describes an execution in terms of physical events knownto the hardware designer. A real access graph must be acyclic since hardware cannotviolate causality. Memory consistency can be verified for a given computer system byproving that for any acyclic real access graph describing a program's execution on thatcomputer, an acyclic pseudo access graph can be derived describing the same execution.

[1] M. Dubois, C. Scheurich, and F. Briggs, "Memory Access Buffering In Multiprocessors,"Proc. 13th Int'l Symp. Computer Architecture, June 1986, pp. 434-442.
[2] M. Dubois, C. Scheurich, and F. Briggs, "Synchronization, coherence, and event ordering in multiprocessors"IEEE Comput., vol. 21, pp. 9-21, Feb. 1988.
[3] C. Scheurich and M. Dubois, "Dependency and Hazard Resolution in Multiprocessors,"Proc. 14th Int'l Symp. Computer Architecture, IEEE CS Press, Los Alamitos, Calif., Order No. 776, 1987, pp. 234-243.
[4] D. Lenoski et al., "The Directory-Based Cache Coherence Protocol for the DASH Multiprocessor,"Proc. 17th Int'l Symp. Computer Architecture, CS Press, Los Alamitos, Calif., May 1990, pp. 148-159.
[5] D. Cheriton, H. Gossen, and P. Boyle, "Paradigm: A highly scalable shared-memory multicomputer architecture,"Comput., vol. 24, no. 2, pp. 33-46, Feb. 1991.
[6] R. Bisiani, A. Nowatzyk, and M. Ravishankar, "Coherent shared memory on a distributed memory machine," inProc. 1989 Int. Conf. Parallel Processing, Aug. 1989, pp. I-133-141.
[7] S. V. Adve and M. D. Hill, "A unified formalization of four shared-memory models," Dept. of Comput. Sci., Univ. of Wisconsin, Tech. Rep. 1051, Sept. 1991.
[8] M. Ben-Ari,Principles of concurrent Programming. Englewood Cliffs, NJ: Prentice-Hall, 1982.
[9] 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.
[10] L. Lamport, "How to make a multiprocessor computer that correctly executes multiprocess programs,"IEEE Trans. Comput., vol. C-28, pp. 690-691, Sept. 1979.
[11] C.C. Howell and D. E. Mularz, "Exception handling in large Ada systems," inProc. Washington Ada Symp., 1991.
[12] 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.
[13] A. Dinning, "A survey of synchronization methods for parallel computers,"IEEE Comput., vol. 22, pp. 66-77, July 1989.
[14] U. Ramachandran, M. Ahamad, and M. Yousef A. Khalidi, "Coherence of distributed shared memory: Unifying synchronization and data transfer," inProc. 1989 Int. Conf. Parallel Processing, Aug. 1989, pp. II-160-161.
[15] M. Stumm and D. Lewis, "Memory coherence for large-scale multiprocessors with distributed shared memory," inProc. IFIP WG 10.3 Working Conf. Parallel Processing, pp. 33-46, Apr. 1988.
[16] D. Robinson and L. Foulds,Digraphs: Theory and Techniques. New York: Gordon and Breach, 1980.
[17] L. Lamport, "Time, clocks, and the ordering of events in a distributed system,"Commun. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[18] D. J. Kuck,The Structure of Computers and Computations, vol. 1. New York: Wiley, 1978.
[19] G. Chartrand and L. Lesniak,Graphs and Digraphs. Wadsworth, Monterey, 1986.
[20] J.L. Hennessy and David A. Patterson,Computer Architecture: A Quantitative Approach, Morgan Kaufmann, San Mateo, Calif., 1990.
[21] S. V. Adve and M. D. Hill, "Sufficient conditions for implementing the data-race-free-1 memory model," Dept. of Comput. Sci., Univ. of Wisconsin, Tech. Rep. 1107, Sept. 1992.
[22] Stone, H. S. 1987.High-Performance Computer Architecture. Reading, Mass., Addison-Wesley.
[23] J. Larson, "Multitasking on the Cray X-MP-2 multiprocessor,"IEEE Comput., vol. 17, pp. 62-69, July 1984.
[24] H. R. Lewis and C. H. Papadimitriou,Elements of the Theory of Computation. Englewood Cliffs, NJ: Prentice-Hall, 1981.

Index Terms:
Index Termsshared memory systems; computer architecture; synchronisation; memory consistency;computer architectures; massively parallel systems; caches; access pipelining;synchronization
Citation:
D.H. Linder, J.C. Harden, "Access Graphs: A Model for Investigating Memory Consistency," IEEE Transactions on Parallel and Distributed Systems, vol. 5, no. 1, pp. 39-52, Jan. 1994, doi:10.1109/71.262587
Usage of this product signifies your acceptance of the Terms of Use.