Conférence
Notice
Langue :
Français
Crédits
INRIA (Institut national de recherche en informatique et automatique) (Publication), Luc Maranget (Intervention)
Conditions d'utilisation
© Inria Paris - Rocquencourt
DOI : 10.60527/wv40-yq54
Citer cette ressource :
Luc Maranget. Inria. (2015, 2 juillet). Modèles mémoire pour les multiprocesseurs à mémoire partagée , in La demi-heure de science : pourquoi mène t-on des recherches dans ce domaine là ? Inria Paris - Rocquencourt. [Vidéo]. Canal-U. https://doi.org/10.60527/wv40-yq54. (Consultée le 14 novembre 2024)

Modèles mémoire pour les multiprocesseurs à mémoire partagée

Réalisation : 2 juillet 2015 - Mise en ligne : 2 juillet 2015
  • document 1 document 2 document 3
  • niveau 1 niveau 2 niveau 3
Descriptif

La plupart des systèmes qui s'apparentent à des ordinateurs un tant soit peu sophistiqués comprennent plusieurs unités de calcul qui communiquent par l'intermédiaire d'une mémoire partagée.

 

La programmation de ces systèmes est notoirement difficile, en raison de l'explosion de l'espace des états possibles du système. Mais il existe une autre difficulté : ces systèmes ne suivent pas le modèle simple de fils d'exécution exécutant chacun à leur tour des instructions dans l'ordre du programme et agissant instantanément sur la mémoire commune. Cette situation résulte des optimisations matérielles, telles que l'exécution *out-of-order* et spéculative, ainsi que de la présence de tampons et de caches destinés à ne pas contraindre les coeurs d'exécution à avancer au rythme de la mémoire. Ces optimisations matérielles ne changent pas le modèle d'exécution séquentielle, mais deviennent visibles des programmes parallèles.

L'exposé portera sur la définition de modèles rigoureux et précis du comportement des machines multiprocesseurs, un préalable nécessaire pour l'écriture de compilateurs, d'outils d'analyse et d'idiome de programmation *lock-free* pour la programmation parallèle. Nous confrontons systématiquement nos modèles aux machines effectivement disponibles. Cette démarche aboutit à la proposition de modèles crédibles et expérimentalement vérifiés pour les machines à base de processeurs Intel x86, IBM Power et ARM. À l'occasion nous avons trouvé quelques bugs dans les implantations matérielles de ces architectures.

Intervention

Dans la même collection