
Doctorant Intégration de l'Ordonnancement Asynchrone des Communications Réseau et de l'Ordonnancement des Tâches H/F INRIA
Talence - 33 CDD- 🏠 Télétravail partiel
- 🕑 36 mois
- Bac +5
- Service public des collectivités territoriales
Les missions du poste
Doctorant F/H Intégration de l'ordonnancement asynchrone des communications réseau et de l'ordonnancement des tâches
Type de contrat : CDD
Niveau de diplôme exigé : Bac +5 ou équivalent
Fonction : Doctorant
Niveau d'expérience souhaité : Jeune diplômé
A propos du centre ou de la direction fonctionnelle
Le centre Inria de l'université de Bordeaux est un des neuf centres d'Inria en France et compte une vingtaine d'équipes de recherche. Le centre Inria est un acteur majeur et reconnu dans le domaine des sciences numériques. Il est au coeur d'un riche écosystème de R&D et d'innovation : PME fortement innovantes, grands groupes industriels, pôles de compétitivité, acteurs de la recherche et de l'enseignement supérieur, laboratoires d'excellence, institut de recherche technologique...
Contexte et atouts du poste
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.
Mission confiée
Objectif
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.
Responsables :
- Alexandre DENIS (Inria, ****@****.**),
- Samuel THIBAULT (U. Bordeaux, ****@****.**)
- Philippe SWARTVAGHER (Bordeaux INP, ****@****.**)
Commentaires
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.
References
[1] Emmanuel Agullo, Olivier Aumage, Mathieu Faverge, Nathalie Fur-
mento, Florent Pruvost, Marc Sergent, and Samuel Thibault. Achieving
High Performance on Supercomputers with a Sequential Task-based
Programming Model. IEEE Transactions on Parallel and Distributed Sys-
tems, 2017.
[2] Cédric Augonnet, Samuel Thibault, Raymond Namyst, and Pierre-
André Wacrenier. StarPU : A Unified Platform for Task Scheduling on
Heterogeneous Multicore Architectures. Concurrency and Computation :
Practice and Experience, Special Issue : Euro-Par 2009, 23 :187-198, Febru-
ary 2011.
[3] Olivier Aumage, Elisabeth Brunet, Nathalie Furmento, and Raymond
Namyst. NewMadeleine : a Fast Communication Scheduling Engine
for High Performance Networks. In Workshop on Communication Archi-
tecture for Clusters (CAC 2007), workshop held in conjunction with IPDPS
2007, Long Beach, California, United States, March 2007.
[4] Guillaume Beauchamp. Portage de StarPU sur la bibliothèque de
communication NewMadeleine. Master's thesis, Universite Bordeaux,
September 2017.
[5] Alexandre Denis. pioman : a pthread-based Multithreaded Commu-
nication Engine. In Euromicro International Conference on Parallel, Dis-
tributed and Network-based Processing, Turku, Finland, March 2015.
[6] Alexandre Denis. Scalability of the NewMadeleine Communication Li-
brary for Large Numbers of MPI Point-to-Point Requests. In CCGrid
2019 - 19th Annual IEEE/ACM International Symposium in Cluster, Cloud,
and Grid Computing, Larnaca, Cyprus, May 2019.
[7] Alexandre Denis, Emmanuel Jeannot, Philippe Swartvagher, and
Samuel Thibault. Using Dynamic Broadcasts to improve Task-Based
4
Runtime Performances. In Euro-Par 2020, Euro-Par 2020, Warsaw,
Poland, August 2020. Rzadca and Malawski, Springer.
[8] Alexandre Denis and François Trahay. MPI Overlap : Benchmark and
Analysis. In International Conference on Parallel Processing, 45th Interna-
tional Conference on Parallel Processing, Philadelphia, United States,
August 2016.
Principales activités
Détails de l'activité :
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.
Compétences
Compétences techniques et niveau requis : langage C, développement système
Langues : anglais courant
Avantages
- Restauration subventionnée
- Transports publics remboursés partiellement
- Congés : 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
- Possibilité de télétravail et aménagement du temps de travail
- Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
- Prestations sociales, culturelles et sportives (Association de gestion des oeuvres sociales d'Inria)
- Accès à la formation professionnelle
- Sécurité sociale
Rémunération
Le salaire sera de 2200€ brut puis 2300€ à partir de 2026 (avant prélèvements sociaux et taxes).
Bienvenue chez INRIA
A propos d'Inria
Inria est l'institut national de recherche dédié aux sciences et technologies du numérique. Il emploie 2600 personnes. Ses 215 équipes-projets agiles, en général communes avec des partenaires académiques, impliquent plus de 3900 scientifiques pour relever les défis du numérique, souvent à l'interface d'autres disciplines. L'institut fait appel à de nombreux talents dans plus d'une quarantaine de métiers différents. 900 personnels d'appui à la recherche et à l'innovation contribuent à faire émerger et grandir des projets scientifiques ou entrepreneuriaux qui impactent le monde. Inria travaille avec de nombreuses entreprises et a accompagné la création de plus de 200 start-up. L'institut s'eorce ainsi de répondre aux enjeux de la transformation numérique de la science, de la société et de l'économie.
Hellowork a estimé le salaire pour ce métier à Talence
Le recruteur n'a pas communiqué le salaire de cette offre mais Hellowork vous propose une estimation (fourchette variable selon l'expérience).
Estimation basée sur les données INSEE et les offres d’emploi similaires.
Estimation basse
36 200 € / an 3 017 € / mois 19,89 € / heureSalaire brut estimé
43 200 € / an 3 600 € / mois 23,74 € / heureEstimation haute
51 200 € / an 4 267 € / mois 28,13 € / heureCette information vous semble-t-elle utile ?
Merci pour votre retour !
- Talence - 33
- CDD
Créez une alerte
Pour être informé rapidement des nouvelles offres, merci de préciser les critères :
Finalisez votre candidature
sur le site du recruteur
Créez votre compte pour postuler
sur le site du recruteur !
sur le site du recruteur
sur le site du recruteur !
Ces offres pourraient aussi
vous intéresser

Recherches similaires
- Job Ingénieur intégration
- Job Graphisme
- Job Bordeaux
- Job Libourne
- Job Langon
- Job Arcachon
- Job Montagne
- Job La Teste-de-Buch
- Job Mérignac
- Job Lacanau
- Job Coutras
- Job Biganos
- Job Concepteur
- Job Graphiste
- Job Intégrateur
- Job UX designer
- Job Infographiste
- Entreprises Graphisme
- Entreprises Ingénieur intégration
- Entreprises Talence
- Job Fonction publique
- Job Collectivités
- Job Fonction publique territoriale
- Job Espace
- Job Teletravail
- Job Fonction publique Talence
- Job Collectivités Talence
- Job Fonction publique territoriale Talence
- Job Cdd Talence
- Job Accompagne Talence
- INRIA Talence
- INRIA Ingénieur intégration
{{title}}
{{message}}
{{linkLabel}}