![]()
Précédent : Algorithmique parallèle,
complexité et ordonnancement Remonter : Résultats nouveaux
Suivant : Interface de programmation
Athapascan-1 et
Participants : J. Briat, A. Carissimi, J. Chassin de
Kergommeaux, Y. Denneulin, T. Gautier, M. Pasin.
L'apparition de noeuds multiprocesseurs à mémoire commune pose le problème de l'utilisation efficace de ce parallélisme pour d'une part améliorer le potentiel de calcul parallèle mais aussi le recouvrement calcul-communication. Une plate-forme expérimentale a été montée avec des multiprocesseurs PC (un quadriprocesseur et deux bi-processeurs) reliés par un réseau rapide Myrinet. Les premiers résultats montrent que le parallélisme SMP est effectivement exploitable pour l'accroissement d'efficacité d'un calcul. Cependant, les stratégies d'ordonnancement des processus aujourd'hui implantées sur ces SMP ne sont pas clairement définies et différent d'un constructeurs à l'autre. La bonne exploitation de ce parallélisme nécessite un réglage spécifique sur le système hôte.
De même, de nouvelles interfaces pour réseaux rapides permettent d'accélérer les communications. Bien qu' ATHAPASCAN-0 ait été conçu pour prendre en compte de telles évolutions, il est nécessaire d'expérimenter et de mesurer pour déterminer les réglages conduisant à la meilleure efficacité. C'est particulièrement le cas lorsque les noeuds sont des SMP.
Même dans sa version sur réseaux à base de message, ATHAPASCAN-0 offre le concept de zone de mémoire partagée et des opérateurs pour lire et écrire ces zones de mémoire à distance. En effet, lors de nos expériences de programmation applicatives, il est apparu que les transfert de données peuvent nécessiter la synchronisation inhérente à la notion de message ou bien se contenter des opérations de lecture et d'écriture sur une zone de mémoire. Dans le cadre de l'action de recherche coopérative RESCAPA (CAPS, SIRAC, REMAP, le LIFL), nous avons travaillé au portage d' ATHAPASCAN-0 sur une plate-forme de PC reliés par un réseau (norme IEEE-SCI fournie par Dolphin) qui permet l'adressage direct des mémoires à distance. Les expériences sur les réseaux rapides conduites dans notre équipe ou dans d'autres équipes ont montré la nécessité "d'alléger" les couches de communication et de les intégrer plus fortement au système d'exploitation. Nous sommes en train d'effectuer cette opération d'allégement par le remplacement de MPI à l'occasion du portage d' Athapascan-0 sur réseau SCI. Par ailleurs les accès mémoires à distance seront faits en utilisant directement les opérateurs de gestion de mémoire distribuée offert par le système SCIOS (sur SCI) développé par le projet SIRAC.
En collaboration avec le développement des applications du projet utilisant l'environnement l' ATHAPASCAN-0, nous avons travaillé à la définition et l'implantation d'une interface en C++ permettant la description de l'organisation mémoire des structures complexes de données couramment utilisées : les tableaux de taille variable et les structures chaînées. Une interprétation à la volée permet leur sérialisation en une séquence de données élémentaires. L'élimination des structures de données communes (dans le cas des structures chaînées) assure que la sérialisation est de même taille que la structure à communiquer.
Des mesures de performances sont en cours sur l'utilisation de cette bibliothèque dans des applications qui manipulent des structures complexes de données (e.g. calcul formel). Ce travail a pour objectif l'étude de l'influence sur les performances, de l'ordre de parcours des structures de données afin de réduire le nombre de synchronisations lors de l'étape de sérialisation.