Shared memory consistency models: A tutorial

被引:405
作者
Adve, SV [1 ]
Gharachorloo, K [1 ]
机构
[1] RICE UNIV,DEPT ELECT & COMP ENGN,HOUSTON,TX 77251
基金
美国国家科学基金会;
关键词
We thank Sandhya Dwarkadas; h o o p Gupta; John Hennessy; Mark Hill; Yuan Yu; and Willy Zwaenepoel for their valuable comments. We also thank Tony Brewer; Andreas Nowatzyk; Steve Scott; and Wolf-Dietrig Weber for information on products developed by Hewlett-Packard; Sun Microsystems; Cray Research; and HaL Computer Systems. Finally; we thank the anonymous referees for their valuable comments and guest editor Per Stenstrom for his support. At Wisconsin; Sarita Adve was partly supported by an IBM graduate fellowship. At Rice; this work was partly supported by the US National Science Foundation under grants CCR-9502500a nd CCR-9410457 and by the Texas Advanced Technology Program under grant 003604016. At Stanford; Kourosh Gharachorloo was supported by DARPA contract N00039-91-C-0138 and partly supported by a fellowship from Texas Instruments;
D O I
10.1109/2.546611
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The shared memory programming model has several advantages over the message-passing model. To write correct and efficient shared memory programs, programmers need a precise notion of shared memory semantics. The memory consistency model of a shared memory multiprocessor formally specifies how the memory system will appear to the programmer. The memory consistency model is an interface between the programmer and the system, so it influences not only how parallel programs are written but virtually every aspect of parallel hardware and software design. A memory consistency model specification is required at every interface between the programmer and the system. At each level, the memory consistency model affects both programmability and performance. Furthermore, due to a lack of consensus on a single model, portability can be affected when moving software across systems supporting different models. Unfortunately, the vast Literature that describes consistency models uses nonuniform, complex terminology to describe the large variety of models. This makes it difficult to understand the often subtle but important differences among models and leads to several misconceptions. This article describes memory consistency models in a way that most computer professionals can understand. The focus is consistency models proposed for hardware-based shared memory systems. Most of these models emphasize the system optimizations they support, and the authors retain this system-centric emphasis in this article.
引用
收藏
页码:66 / &
页数:12
相关论文
共 12 条
[1]  
Adve Sarita V., 1990, P ISCA, P2, DOI [10.1145/325164.325100, DOI 10.1145/325164.325100]
[2]  
Adve Sarita V., 1993, THESIS U WISCONSIN M
[3]  
Gharachorloo K., 1990, Proceedings. The 17th Annual International Symposium on Computer Architecture (Cat. No.90CH2887-8), P15, DOI 10.1109/ISCA.1990.134503
[4]  
GHARACHORLOO K, 1995, CSLTR95685 STANF U
[5]  
GHARACHORLOO K, 1993, CSLTR93594 STANF U
[6]  
GHARACHORLOO K, 1991, P 4 INT C ARCH SUPP, P245
[7]  
Gharachorloo Kourosh, 1991, P 1991 INT C PAR PRO, P355
[8]  
KRISHNAMURTHY A, 1994, WORKSH LANG COMP PAR
[9]  
LAMPORT L, 1979, IEEE T COMPUT, V28, P690, DOI 10.1109/TC.1979.1675439
[10]  
PAI VS, 1996, P 7 INT C ARCH SUPP, P12