Team PARIS

Members
Overall Objectives
Scientific Foundations
Application Domains
Software
New Results
Contracts and Grants with Industry
Other Grants and Activities
Dissemination
Bibliography
Inria / Raweb 2002
Project: PARIS

Project : paris

Section: Software


Keywords : mémoire virtuelle partagée .

Mome : une mémoire virtuelle partagée pour des langages parallèles

Participant : Yvon Jégou.

Contact :

Yvon Jégou

La MVP Mome permet la communication par partage de mémoire sur des architectures à mémoires distribuées. Mome met en œuvre un modèle de cohérence relâchée avec écrivains multiples. Le modèle de cohérence relâchée implémenté dans Mome permet à un processeur de demander à voir toutes les modifications qui ont été apportées à une section de mémoire partagée avant un événement de synchronisation, comme une barrière ou un verrou. La mise en œuvre de ce modèle est fondée sur l'utilisation d'une horloge globale à laquelle les requêtes de consistance font référence. L'exploitation de ce modèle de cohérence est rendue possible par les techniques de compilation utilisées dans le domaine du calcul haute performance. Ces techniques sont en effet fondées sur l'analyse à la compilation des fonctions d'accès aux données. Il est de ce fait possible d'insérer automatiquement dans le code généré des requêtes de consistance sur les données accédées. L'implémentation courante de la MVP Mome permet la sélection dynamique par chaque nœud de la grappe du modèle de cohérence, séquentiel ou relâché, qui doit être appliqué. Pour les besoins du projet IST POP (FET), un troisième modèle de cohérence intermédiaire qui garantit une vision identique de l'espace partagé par les nœuds sur les points de synchronisation a été étudié et devrait être intégré dans un avenir proche. Ce nouveau modèle doit permettre la compilation de programmes OpenMP sans faire appel à des techniques complexes d'analyse statique des accès aux données partagées.

La MVP Mome intègre à la fois un exécutif pour langages parallèles (opérations collectives de diffusion, de réduction et de synchronisation ainsi que des verrous) et un support permettant le couplage d'applications parallèles en vue d'une exécution sur des grilles de calcul. Pour le couplage d'applications, Mome fournit un espace d'adressage et de nommage uniforme sous forme de segments que les applications peuvent lier à leur espace d'adressage local par un mécanisme de projection. Deux formes de couplage peuvent être utilisées : le couplage de MVP et le partage de MVP.

Dans la première forme qui met en œuvre un couplage lâche, des transferts de données peuvent être déclenchés directement entre deux MVP à l'initiative des applications. L'interface de couplage fournie par la MVP Mome ne se limite pas à une simple copie de mémoire à mémoire et permet de définir les objets à transférer par des fonctions d'adressage linéaire de type Fortran90. La bibliothèque de couplage se charge également des conversions nécessaires lorsque les grappes à coupler sont hétérogènes. Mome a été utilisée dans le cadre du projet RNRT VTHD pour montrer l'intérêt d'un tel mécanisme pour exploiter des réseaux vraiment à très haut débit (2,5 Gb/s) reliant des grappes de calculateurs. La présence de la MVP simplifie l'organisation des flux de données lorsqu'il faut répartir la charge de transférer les données sur un nombre élevé de machines (chaque machine ayant une capacité de communication nettement plus faible que le réseau), lorsque les deux grappes couplées disposent d'un nombre différent de machines (un couplage point à point ne permet pas de répartir équitablement les transferts) ou lorsque les fonctions d'adressage sont complexes.

Dans la deuxième forme, deux ou plusieurs applications (par ailleurs parallèles) s'exécutent sous le contrôle d'une même MVP et peuvent partager des segments de données. L'exécutif associé à Mome permet de définir dynamiquement des groupes de machines et d'exprimer toutes les opérations collectives sur ces groupes (barrières de synchronisation, opérations de diffusion et de réduction). La mise en œuvre des protocoles de cohérence de la MVP doit également tenir compte de ces regroupements pour exploiter au mieux les phénomènes de localité qui apparaissent au sein des applications couplées ou au sein des hiérarchies de grappes. Une nouvelle mise en œuvre de Mome plus « grid-aware » est en cours d'intégration. Elle permet une gestion hiérarchisée des pages de la MVP tenant compte des regroupements formés par les applications et par les grappes.

L'exploitation de la MVP Mome dans un contexte distribué a fait apparaître un certain nombre de besoins nouveaux comme la dynamicité des machines supportant la MVP ou la persistance des données de la MVP. La dynamicité implique de pouvoir ajouter et retirer des machines supportant la MVP pendant l'exploitation. La persistance permet aux applications de venir se connecter dynamiquement à la MVP, d'exploiter et de mettre à jour les données présentes au moment du couplage et d'y stocker des données pour une exploitation future. L'ajout de la dynamicité et de la persistance dans la MVP Mome a été étudié dans le contexte du projet RNRT e-Toile pour la mise en œuvre d'un répertoire de données à très grande échelle.


previous
next