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...

Descripción completa

Detalles Bibliográficos
Publicado en:Communications of the ACM Vol. 53; no. 8; pp. 90 - 102
Autores principales: ADVE, SARITA V., BOEHM, HANS-J.
Formato: Artículo
Publicado: Association for Computing Machinery Aug2010
Materias:
Acceso en línea:Ver este registro en EBSCOhost
Descripción
Sumario: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.