Projet : CAPS

previous up next contents
Précédent : Environnement pour architectures hautes performances(cf. Remonter : Résultats nouveaux Suivant : Technologies pour le METACOMPUTING (cf.


Sous-sections


   
Communication dans les calculateurs parallèles (cf. 2.4)



Participants : Yvon Jégou, David Mentré, Thierry Priol.

Mots clés : SCI, réseau de stations de travail (NOW), MVP .

Résumé :

La maîtrise des communications dans un calculateur parallèle est essentielle pour l'obtention de bonnes performances. Nous étudions deux paradigmes de communication : les tâches migrantes et la mémoire virtuelle partagée. Pour les tâches migrantes, il s'agit de faire migrer les calculs vers les processeurs disposant des données alors que pour la mémoire virtuelle partagée, les données migrent vers les processeurs effectuant des calculs nécessitant celles-ci. Plusieurs implémentations sont en cours d'évaluation à la fois pour des calculateurs massivement parallèles (NEC Cenju-3) et des réseaux de PC à capacité d'adressage (SCI) (plateforme Pacha).

Migration de tâches



Participant : Yvon Jégou.

Dans la technique d'exécution par migration de tâches, le parallélisme de l'application est mis à profit pour créer un grand nombre de tâches indépendantes, chaque tâche étant chargée d'une partie des calculs à réaliser. Une tâche ne peut accéder librement qu'à la mémoire locale du processeur qui l'exécute. Afin d'accéder à une donnée gérée par un autre processeur, l'exécution de la tâche est transférée sur le processeur en charge de cette donnée.

L'efficacité de ce modèle dépend fortement des performances de la couche de communication, qui doit :

Cependant, l'utilisation stricte du modèle d'exécution par migration de tâches ne permet pas de tirer parti des phénomènes de localité présents dans les accès aux mémoires. Les développements en cours sur le calculateur Cenju3 de NEC consistent à mettre en \oeuvre un exécutif permettant d'exploiter le modèle de migration de tâches au-dessus d'une mémoire virtuelle partagée : les tâches migrent pour accéder aux objets modifiés durant l'exécution alors que la mémoire virtuelle gère les accès aux objets non modifiés.

Mémoire virtuelle partagée comme support d'exécution de hpf



Participant : Yvon Jégou.

La mémoire virtuelle partagée MOME en cours de développement intègre un protocole de cohérence relâchée avec multiples écrivains. Cette MVP cible tout particulièrement les codes issus d'un processus de compilation de type hpf. Ce type de processus de compilation considère les relations entre la distribution des itérations des boucles parallèles sur les processeurs et la distribution des accès dans les tableaux par analyse des fonctions d'indiçage. Il est généralement possible de prédire quels éléments des tableaux seront lus ou modifiés par chaque processeur avant d'exécuter une boucle parallèle. MOME met en oeuvre un protocole de cohérence relâchée avec multiples écrivains. Plusieurs processeurs peuvent modifier des éléments différents d'une même page de mémoire sans entraîner d'invalidations mutuelles. MOME permet l'utilisation d'une consistance forte, par exemple dans les phases séquentielles, et de fournir une vision cohérente des pages sur les points de synchronisation. Ceci permet, par exemple, de garantir que les données accédées après une barrière de synchronisation intègrent toutes les modifications apportées avant cette barrière. L'utilisation des informations extraites au cours du processus de compilation permet de restreindre l'application de ces contraintes uniquement aux pages potentiellement utiles. De plus, MOME permet de déclencher spéculativement des accès non bloquants en lecture ou en écriture et donc de réduire les temps d'attente lorsqu'un processeur accède à la page pour la première fois. MOME est en cours de mise au point sur le calculateur NEC Cenju3. Ce prototype est construit sur le micro noyau mach.

Gestion mémoire dans les architectures de type NOW



Participants : David Mentré, Thierry Priol.

Depuis plusieurs années, nous avons étudié le concept de mémoire virtuelle partagée ( MVP). Les résultats de ces travaux ont montré des performances qui dépendent fortement des supports matériels (communication) et logiciel (système). Au niveau matériel, un nouveau type de technologie d'interconnexion se développe, offrant un accès distant (lecture et/ou écriture) à la mémoire de n'importe quelle machine connectée au réseau. Cette fonctionnalité permet une mise en oeuvre efficace du concept de mémoire virtuelle partagée. Nous avons réalisé un premier prototype de MVP, NOA [[26]], utilisant ce type de technologie ( SCI).

Au niveau logiciel, nous développons un système générique pour décrire et réaliser des MVP, quel que soit l'environnement matériel et logiciel. Ce système doit permettre de décrire de nouveaux protocoles de cohérence, afin notamment d'offrir un contrôle fin de la gestion mémoire pouvant être utilisé par un compilateur ou par un utilisateur averti. Pour réaliser cette description nous utilisons, en collaboration avec D. Le Métayer du projet Lande, le formalisme Gamma Structuré. Il permet de présenter l'architecture d'une MVP (les éléments qui la composent et leurs relations) et les transformations réalisables en son sein (comment ces éléments interagissent). Cette description devra être dérivable, de façon automatique ou semi-automatique, en une réalisation chargeable dynamiquement dans le système d'exploitation cible. Le premier prototype de ce système devra fonctionner sur un réseau de PC interconnectés par SCI et utilisant le système Linux.



previous up next contents
Précédent : Environnement pour architectures hautes performances(cf. Remonter : Résultats nouveaux Suivant : Technologies pour le METACOMPUTING (cf.