Recent advances in memory consistency models for hardware shared memory systems
- 1 March 1999
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in Proceedings of the IEEE
- Vol. 87 (3) , 445-455
- https://doi.org/10.1109/5.747865
Abstract
The memory consistency model of a shared memory system determines the order in which memory operations will appear to execute to the programmer. The memory consistency model for a system typically involves a tradeoff between performance and programmability. The paper provides an overview of recent advances in hardware optimizations; compiler optimizations, and programming environments relevant to memory consistency models of hardware distributed shared memory systems. We discuss recent hardware and compiler optimizations that exploit the observation that it is sufficient to only appear as if the ordering rules of the consistency model are obeyed. These optimizations substantially improve the performance of the strictest consistency model, making it more attractive for its programmability. Recent concurrent programming languages and environments, on the other hand, support more relaxed consistency models. We discuss several such environments, including POSIX threads, Java, and OpenMP.Keywords
This publication has 16 references indexed in Scilit:
- The SPLASH-2 programs: characterization and methodological considerationsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- RSIMACM SIGARCH Computer Architecture News, 1997
- An evaluation of memory consistency models for shared-memory systems with ILP processorsPublished by Association for Computing Machinery (ACM) ,1996
- Shared memory consistency models: a tutorialComputer, 1996
- Effective hardware-based data prefetching for high-performance processorsIEEE Transactions on Computers, 1995
- SPLASHACM SIGARCH Computer Architecture News, 1992
- Performance evaluation of memory consistency models for shared-memory multiprocessorsPublished by Association for Computing Machinery (ACM) ,1991
- Efficient and correct execution of parallel programs that share memoryACM Transactions on Programming Languages and Systems, 1988
- Memory access buffering in multiprocessorsACM SIGARCH Computer Architecture News, 1986
- Implementation of precise interrupts in pipelined processorsACM SIGARCH Computer Architecture News, 1985