DESCRIPTION :
Cette thèse s'inscrit dans le cadre du projet Exa-Soft du programme Numpex.
Dans le cadre du calcul haute-performance, les machines sont désormais très hétérogènes, équipées d'accélérateurs tels que les GPU ou les
FPGA. Ces différentes unités se programment avec des paradigmes différents, et pour ajouter à la complexité, il faut gérer les transferts de données entre les unités, l'ordonnancement, et l'équilibrage de charge.
Pour tirer profit d'une telle plate-forme, l'équipe STORM a proposé le support d'exécution StarPU qui gère ces problématiques de manière
générique et indépendante de l'application. Pour des grappes de calcul - plusieurs noeuds interconnectés par un réseau d'interconnexion - StarPU
confie l'exploitation du réseau à une bibliothèque de communication qui implémente l'interface MPI, d'utilisation standard en HPC.
Par ailleurs, l'équipe TADAAM développe la bibliothèque de communication NewMadeleine, dont l'originalité est d'appliquer une stratégie d'optimisation à la volée sur les flux de communications issus des différents threads, en assurant une progression asynchrone en tâche de fond. Elle repose essentiellement sur le principe de programmation événementielle et de messages actifs, ce qui permet le déroulement des communications sans intervention de l'application.
Les besoins de StarPU en terme de communications ne sont pas les mêmes que ceux d'une application MPI classique, notamment en matière d'irrégularité, de réactivité, de multi-threading, de nombre de requêtes actives simultanément, alors qu'ils correspondent parfaitement au cahier des
charges de NewMadeleine. Un portage se StarPU sur l'interface native de NewMadeleine a été réalisé pour en exploiter au mieux les propriétés
de progression, de passage à l'échelle [6], ainsi qu'une intégration spécifique [7] des opérations collectives., L'objectif de cette thèse est de renforcer le dialogue entre NewMadeleine et StarPU dans la gestion des communications. Il s'agit
d'exploiter la connaissance du futur que l'on peut extraire du graphe de tâches de façon à optimiser les communications., Les développements à réaliser se feront dans les bibliothèques StarPU et NewMadeleine disponibles en open source et se font en langage C. Il serait
souhaitable qu'ils soient réalisés par une personne à l'aise en programmation réseau et système., Enregistrement de la mémoire. Les réseaux haute performance tels qu'InfiniBand sont programmés directement depuis l'espace utilisateur.
Pour que la carte puisse accéder directement aux données de l'utilisateur, en mémoire virtuelle, il faut au préalable enregistrer les pages mémoire
pour qu'elle connaisse leur adresse physique. Cette opération est appelée enregistrement mémoire. Cette opération est coûteuse. Dans les applications
HPC classiques, son coût est habituellement amorti au travers d'un cache d'enregistrement, car les buffers sont souvent re-utilisés. En revanche, dans
le cadre de StarPU, la réception a souvent lieu dans un buffer alloué dynamiquement, utilisé une seule fois, déjouant les politiques reposant sur
un cache.
Grâce a la connaissance du futur dans le graphe de tâche, il est possible d'effectuer un enregistrement à la volée des zones mémoire et d'amortir son
coût en l'anticipant. En effet, le moment où une zone mémoire sera utilisée pour une émission ou une réception réseau est prévisible. Ces travaux font
l'objet actuellement d'un stage.
Il restera à étudier le coût résiduel de l'enregistrement mémoire, étudier ses interaction avec le GPU, et notamment l'enregistrement mémoire de-
mandé par le GPU, les interactions entre l'allocation dynamique de buffers pour une réception réseau et le placement souhaité par l'ordonnanceur de
tâche.
Priorités des communications. StarPU attache des priorités aux tâches, NewMadeleine est capable d'ordonnancer les paquets en fonction de leurs
priorités. La stratégie actuelle attache aux paquets la priorité associée à leur tâche dans le graphe de tâche. Il n'est toutefois pas certain que ce soit
la solution optimale.
Par ailleurs, l'ordonnancement des paquets par priorités dans un contexte HPC n'est pas encore totalement compris: tenir compte des priorités
relatives entre destinataires différents, étudier les interactions entre priorités et protocole de rendez-vous, tenir compte des priorités dans la construction des arbres de diffusion, etc.
Il est également possible d'imaginer prendre en compte les communications futures, que l'on peut déduire du graphe de tâche, dans
l'ordonnancement des communications. Par exemple, si un paquet très prioritaire devra prochainement être envoyé, il est envisageable de prendre la
décision de ne pas monopoliser le réseau avec un envoi moins prioritaire,même s'il est déjà prêt à envoyer.
Adaptation dynamique à la pression des communications. Il est possible pour certaines applications d'adapter dynamiquement la granularité
des tâches, ce qui a un impact sur le schéma de communication. Nous pouvons imaginer que NewMadeleine puisse tenir StarPU informé de la pression sur le système de communications (en fonction de la taille du backlog de communications en attente, par exemple), de façon à adapter dynamiquement la granularité des calculs.
Types de données. Le type des données, au sens du datatype MPI, influe sur la façon de les gérer et les performance obtenues. La différence se fait
essentiellement selon que les données sont contigües en mémoire ou non, ainsi que la taille des fragments.
Les différentes méthodes de communications ne présentent pas les mêmes caractéristiques et donc pas les mêmes performances selon le type
de données. On pourra envisager de choisir dynamiquement la méthode de communication en fonction du type des données côté émetteur et côté
récepteur.
Code d'emploi : Ingénieur en Intégration de Réseaux (h/f)
Domaine professionnel actuel : Spécialistes Réseaux
Niveau de formation : Bac+5
Temps partiel / Temps plein : Plein temps
Type de contrat : Contrat à durée déterminée (CDD)
Compétences : Transmission de Données, Programmation Événementielle, FPGA, InfiniBand, Programmation Réseau, Technologie Open Source, Multithreading, Équilibrage de Charge, Anglais, Axé sur le Succès, Curiosité, Calculs, Gestion de la Communication, Paradigmes, Définition du Cahier des Charges, Gestion de Planning
Courriel :
Alexandre.Denis@inria.fr
Philiipe.Swartvagher@inria.fr
Samuel.Thibault@inria.fr
Téléphone :
0524574000
Type d'annonceur : Employeur direct