Modèles mémoire

Cette page reste à étoffer; elle contiendra éventuellement plus que de simples liens explicatifs.

Le modèle mémoire d'une machine ou d'un langage détermine entre autres ce qui constitue une séquence valide d'événements observables en situation de multiprogrammation, et influence directement les capacités d'optimisation des compilateurs.

Un Wiki sur le sujet : http://en.wikipedia.org/wiki/Memory_model_%28computing%29

Présentation de Sasha Goldshtein en 2016 sur les modèles mémoires de C++ et du CLR de .NET : https://www.dropbox.com/s/ikbhcc9urnox04y/Memory_model.ppt?dl=0

Le modèle mémoire de la plateforme x86, décrit par Michael J. Sullivan en 2015 : http://www.msully.net/blog/2015/02/25/the-x86-memory-model/

Texte général sur la théorie des modèles mémoire, par Vijay Saraswat, Radha Jagadeesan, Maged Michael et Christoph von Praun, en 2006 : http://www.saraswat.org/rao.html

Un très intéressant article de Sarita V. Ave et Hans Boehm, en 2009, portant sur les modèles mémoire au sens large : http://rsim.cs.illinois.edu/Pubs/10-cacm-memory-models.pdf

Les modèles mémoires faibles et forts, par Jeff Preshing en 2012 : http://preshing.com/20120930/weak-vs-strong-memory-models

Description de l'importance des modèles mémoire, par Clay Breshears en 2012 : http://www.drdobbs.com/blogs/parallel/232901196

En 2016, John Wickerson propose une approche pour comparer les modèles mémoire. C'est aussi un bon texte pour comprendre les modèles mémoire et les enjeux qui leur sont associés : https://johnwickerson.wordpress.com/2016/11/11/comparing-memory-consistency-models/

Le modèle mémoire de C11 :

Dans C++ 11 :

Un modèle mémoire matériel pour x86 : http://www.cl.cam.ac.uk/~pes20/weakmemory/x86tso-paper.tphols.pdf

Le modèle mémoire de Java :

Le modèle mémoire de Go, texte de 2012 : http://golang.org/ref/mem

Pour la plateforme .NET :


Valid XHTML 1.0 Transitional

CSS Valide !