Memory Models: A Case for Rethinking Parallel Languages and Hardware (2010)
| Venue: | COMMUNICATIONS OF THE ACM |
| Citations: | 16 - 3 self |
BibTeX
@ARTICLE{Adve10memorymodels:,
author = {Sarita V. Adve and Hans-J. Boehm},
title = {Memory Models: A Case for Rethinking Parallel Languages and Hardware},
journal = {COMMUNICATIONS OF THE ACM},
year = {2010},
volume = {53},
number = {8},
pages = {90--101}
}
OpenURL
Abstract
The era of parallel computing for the masses is here, but writing correct parallel programs remains far more difficult than writing sequential programs. Aside from a few domains, most parallel programs are written using a shared-memory approach. The memory model, which specifies the meaning of shared variables, is at the heart of this programming model. Unfortunately, it has involved a tradeoff between programmability and performance, and has arguably been one of the most challenging and contentious areas in both hardware architecture and programming language specification. Recent broad community-scale efforts have finally led to a convergence in this debate, with popular languages such as Java and C++ and most hardware vendors publishing compatible memory model specifications. Although this convergence is a dramatic improvement, it has exposed fundamental shortcomings in current







