Memory Models: A Case for Rethinking Parallel Languages and Hardware.

The article discusses computer memory models in the context of parallel programming, focusing on the ways in which multithreaded applications involving data races can lead to a mismatch between hardware and software. Topics addressed include the importance of data-race-freedom and interleaving seman...

Full description

Bibliographic Details
Published in:Communications of the ACM Vol. 53; no. 8; pp. 90 - 102
Main Authors: ADVE, SARITA V., BOEHM, HANS-J.
Format: Article
Published: Association for Computing Machinery Aug2010
Subjects:
Online Access:View this record in EBSCOhost
Description
Summary:The article discusses computer memory models in the context of parallel programming, focusing on the ways in which multithreaded applications involving data races can lead to a mismatch between hardware and software. Topics addressed include the importance of data-race-freedom and interleaving semantics, and the relationship between data races, concurrency safety and debugging is also discussed. It is noted that shared variables and threads were supported by most operating systems even before the rise of multicore processing, and an argument is presented that the relevant memory models need to be fundamentally redefined, in order to provide a better match between the hardware and software involved.