Dream : une mémoire partagée répartie à cohérence programmable
Auteur / Autrice : | Cédric Dumoulin |
Direction : | Jean-Marc Geib |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 1997 |
Etablissement(s) : | Lille 1 |
Mots clés
Résumé
Il est maintenant reconnu que la conception d'application parallèles est difficile et que les modèles de programmation basés sur une mémoire partagée repartie aident et facilitent le travail de développement. Cependant, les modèles de cohérence sont généralement assez forts, d’où des problèmes d’implémentation et d’efficacité. Notre proposition de modèle de mémoire partagée, dream, s'attache à définir un modèle de cohérence dit faible, qui se révèle être suffisant pour certaines classes d'applications (régulation de charge, calcul scientifique par exemple). Le niveau de cohérence peut cependant être renforce et dream fournit des fonctionnalités pour construire des protocoles de cohérence plus élaborés. L'espace partage propose par dream est structure en régions destinées a accueillir les objets (structures, variables) a partager. Chaque région est une unité indépendante pouvant avoir une taille, ainsi qu'un comportement (une cohérence) différent des autres régions. Les opérateurs d’accès utilisés sur un objet partagé en mémoire dream, c'est a dire dans une région, sont les mêmes que ceux utilisés en mémoire locale. Ceci permet de réaliser aisément des structures complexes partagées, telles que des arbres ou des listes chaînées, exactement comme si elles étaient réalisées en mémoire non partagée. De plus, dream autorise une programmation hybride utilisant à la fois la mémoire partagée et les processus communicants, ce qui permet de profiter des avantages de chacun des modèles. Dream à été développé avec une démarche orientée objet et incite le programmeur a poursuivre dans cette voie. Nous montrons aussi dans cette thèse que les applications peuvent être facilement modélisées avec dream, et que les performances obtenues sont assez prometteuses