previous up next contents
Précédent : Détection de propriétés Remonter : Problèmes fondamentaux Suivant : Applications

Cohérence de mémoires réparties d'objets

 

Un grand nombre d'applications parallèles utilisent un modèle de programmation fondé sur le partage d'objets entre processus. Afin d'exécuter celles-ci sur des machines parallèles à mémoire répartie, il est nécessaire de donner aux processeurs un unique espace abstrait pour l'adressage des objets. Pour améliorer les performances par augmentation du degré de parallélisme des accès et limitation des transferts entre processus, les objets sont dupliqués. Le problème à résoudre alors est le maintien de la cohérence entre toutes les copies de chaque objet. Cela impose d'une part une définition de la cohérence des objets partagés et d'autre part des protocoles qui la garantissent (problèmes de synchronisation). Dans ce contexte, plusieurs critères de cohérence ont été étudiés et analysés: cohérence atomique, cohérence séquentielle, cohérence causale, cohérence PRAM, cohérence faible, cohérence release et cohérence entry.

Par ailleurs, avec André Schiper de l'EPFL (Lausanne), nous nous sommes intéressés au problème suivant : ``Quelles contraintes de synchronisation doit satisfaire un programme parallèle pour que, s'exécutant sur une mémoire causale, il se comporte comme s'il était exécuté sur une mémoire séquentielle ?''. Une telle classe de contrainte de synchronisation a été exhibée et analysée.

Nous nous intéressons actuellement à la définition de critères de cohérence pour les mémoires transactionnelles. Signalons que le travail coopératif constitue une application idoine pour utiliser des mémoires causales ou transactionnelles.


previous up next contents
Précédent : Détection de propriétés Remonter : Problèmes fondamentaux Suivant : Applications