Support logiciel pour calcul clairsemé

Les performances des calculateurs sont devenues limitées par les déplacements des données dans les domaines de l'IA, du HPC comme dans l'embarqué. Il existe pourtant des accélérateurs matériels qui permettent de traiter des mouvements de données de façon efficace énergétiquement, mais il n'existe pas de langage de programmation qui permette de les mettre en œuvre dans le code supportant les calculs.

C'est au programmeur de configurer explicitement les DMA et utiliser des appels de fonctions pour les transferts de données et analyser les programmes pour en identifier les goulots d'étranglement mémoire.

Par ailleurs les compilateurs ont été conçus dans les années 80, époque à laquelle les mémoires travaillaient à la même fréquence que les cœurs de calcul.

L'objet de cette thèse sera d'intégrer dans un compilateur la possibilité de réaliser des optimisations basées sur les transferts de données.

Architectures de calcul thermodynamique scalables

Les problèmes d'optimisation à grande échelle sont de plus en plus fréquents dans des secteurs tels que la finance, le développement de matériaux, la logistique et l'intelligence artificielle. Ces algorithmes sont généralement réalisés sur des solutions matérielles comprenant des CPU et de GPU. Cependant, à grande échelle, cela peut rapidement se traduire par des temps de latence, de l'énergie et des coûts financiers qui ne sont pas viables. Le calcul thermodynamique est un nouveau paradigme de calcul dans lequel des composants analogiques sont couplés dans un réseau physique. Il promet des implémentations extrêmement efficaces d'algorithmes tels que le recuit simulé, la descente de gradient stochastique et la chaîne de Markov Monte Carlo en utilisant la physique intrinsèque du système. Cependant, il n'existe pas de vision réaliste d'un calculateur thermodynamique programmable et scalable. C'est ce défi ambitieux qui sera abordé dans ce sujet de thèse. Des aspects allant du développement de macroblocs de calcul, de leur partitionnement et de leur interfaçage avec un système numérique à l'adaptation et à la compilation d'algorithmes pour le matériel thermodynamique peuvent être considérés. Un accent particulier sera mis sur la compréhension des compromis nécessaires pour maximiser la scalabilité et la programmabilité des calculateurs thermodynamiques sur des benchmarks d'optimisation à grande échelle et leur comparaison avec des implémentations sur du matériel numérique conventionnel.

Contrats HW/SW pour l’analyse de robustesse aux fautes de processeurs open-source

Cette thèse se concentre sur la cybersécurité des systèmes embarqués, en particulier sur la vulnérabilité des processeurs et des programmes face aux attaques par injection de fautes. Ces attaques perturbent le fonctionnement normal des systèmes, permettant aux attaquants d'exploiter des failles pour accéder à des informations sensibles. Bien que des méthodes formelles aient été développées pour analyser la robustesse des systèmes, elles se limitent souvent à des analyses séparées du matériel et des logiciels, négligeant l'interaction entre les deux.

Le travail proposé vise à formaliser des contrats entre le matériel et le logiciel (HW/SW) spécifiquement pour l'analyse de sécurité contre les injections de fautes. En s'appuyant sur une approche de partitionnement matériel, cette recherche cherche à atténuer les problèmes de scalabilité liés à la complexité des modèles de microarchitecture. Les résultats attendus incluent le développement de techniques et d'outils permettant une vérification efficace de la sécurité des systèmes embarqués, ainsi que la création de contrats qui faciliteront l'évaluation de la conformité des implémentations matérielles et logicielles. Cette approche pourrait également réduire le temps de mise sur le marché des systèmes sécurisés.

Architecture évolutive de clusters programmables basée sur un réseau sur puce (NoC) pour les applications d'IA futures

Contexte technique et scientifique
L'intelligence artificielle (IA) s'impose aujourd'hui comme un domaine majeur, touchant des secteurs variés tels que la santé, l'automobile, la robotique, et bien d'autres encore. Les architectures matérielles doivent désormais faire face à des exigences toujours plus élevées en matière de puissance de calcul, de faible latence et de flexibilité. Le réseau sur puce (NoC, Network-on-Chip) est une technologie clé pour répondre à ces défis, offrant une interconnexion efficace et scalable au sein de systèmes multiprocesseurs. Cependant, malgré ses avantages, la conception de NoC pose des défis importants, notamment en termes d'optimisation de la latence, de la consommation d’énergie et de l’évolutivité.
Les architectures de clusters programmables s'avèrent particulièrement prometteuses pour l'IA, car elles permettent d’adapter les ressources en fonction des besoins spécifiques des algorithmes d'apprentissage profond et d'autres applications d'IA intensives. En combinant la modularité des clusters avec les avantages des NoC, il est possible de concevoir des systèmes capables de traiter des charges de travail d'IA toujours plus importantes, tout en assurant une efficacité énergétique et une flexibilité maximales.
Description du Sujet
Le sujet de thèse propose la conception d'une architecture de cluster programmable, scalable, basée sur un réseau sur puce, dédiée aux futures applications d'IA. L'objectif principal sera de concevoir et d'optimiser une architecture NoC qui permettra de répondre aux besoins des applications d'IA en termes de calcul intensif et de transmission de données efficace entre les clusters de traitement.
Les travaux de recherche se concentreront sur les aspects suivants :
1. Conception de l'architecture NoC : Développer un réseau sur puce évolutif et programmable qui permette de connecter de manière efficace les différents clusters de traitement de l’IA.
2. Optimisation des performances et de l'efficacité énergétique : Définir des mécanismes pour optimiser la latence et la consommation d'énergie du système, en fonction de la nature des charges de travail d'IA.
3. Flexibilité et programmabilité des clusters : Proposer une architecture modulaire et programmable permettant d’allouer les ressources de manière dynamique selon les besoins spécifiques de chaque application d'IA.
4. Évaluation expérimentale : Implémenter et tester des prototypes de l'architecture proposée pour valider ses performances sur des cas d’utilisation concrets, tels que la classification d'images, la détection d'objets ou le traitement de données en temps réel.
Les résultats de cette recherche pourront contribuer à l’élaboration de systèmes embarqués et de solutions d’IA de pointe, optimisés pour les nouvelles générations d'applications et d’algorithmes d'intelligence artificielle.
Les travaux seront valorisés à travers la rédaction de publications scientifiques dans des conférences et des journaux, ainsi que potentiellement des brevets.

CORTEX: Orchestration de Conteneurs pour les applications Temps-Réel, Embarqués/edge, à criticité miXte

Cette proposition de thèse de doctorat vise à développer un schéma d'orchestration de conteneurs pour les applications en temps réel, déployées sur un continuum de ressources de calcul hétérogènes dans l'espace embarqué-edge-cloud, avec un focus particulier sur les applications nécessitant des garanties en temps réel.

Les applications, allant des véhicules autonomes, à la surveillance de l'environnement ou à l'automatisation industrielle, exigent traditionnellement une grande prédictibilité avec des garanties en temps réel, mais elles demandent de plus en plus de flexibilité à l'exécution ainsi qu'une minimisation de leur empreinte environnementale globale.

Pour ces applications, une stratégie adaptative innovante est nécessaire pour optimiser dynamiquement (à l'exécution) le déploiement des charges logicielles sur les nœuds matériels, avec un objectif mixte-critique combinant des garanties en temps réel et la minimisation de l'empreinte environnementale.

Top