Contributions pour l’utilisation des machines parallèles, réparties et hétérogènes à travers le prisme de la gestion des données partagées
Résumé
Ces deux dernières décennies ont été marquées par des évolutions technologiques majeures dans le domaine des composants électroniques et des moyens de calcul informatiques. Premièrement, la miniaturisation de la gravure des transistors a permis d’offrir des capacités de calcul toujours plus importantes pour un facteur de forme équivalent et une enveloppe thermique en baisse. Dès 2007, les objets connectés, et notamment les smartphones deviennent des biens de consommation courants, accélérant l’innovation d’usage dans le quotidien, l’industrie et la défense. Deuxièmement, les limites physiques de la miniaturisation poussent les constructeurs à proposer de nouvelles architectures de calcul, privilégiant le parallélisme massif ou la spécialisation des unités de traitement. En 2009 la course est lancée pour concevoir des processeurs embarquant des milliers de coeurs de calcul. Quelques années plus tard, des accélérateurs spécifiques aux tâches d’apprentissage machine sont intégrés dans les centres de calcul et les systèmes embarqués, pour traiter de grands volumes de données et déployer des tâches complexes sur des objets communicants.
Une conséquence directe liée à cette grande diversité d’architectures de calcul est la complexification du modèle de programmation. Désormais, il est courant de recourir à un langage, une interface ou un système d’exploitation spécifique à chaque architecture. Ainsi, un programme écrit pour un processeur classique (CPU) devra être ré-écrit pour exploiter efficacement une nouvelle architecture telle qu’un accélérateur graphique (GPU), un accélérateur reprogrammable (FPGA) ou un processeur massivement parallèle (many-coeur). Cette opération est bien souvent laissée à la
charge du développeur. Si des initiatives de normalisation et d’unification de modèles de programmation existent, elles se heurtent rapidement à la problématique de la performance face à l’hétérogénéité grandissante des systèmes.
Cette thèse d’Habilitation à Diriger des Recherches revient sur une dizaine d’années de contributions théoriques et pratiques aux systèmes distribués, parallèles, hétérogènes et embarqués. Le fil rouge de ces travaux est la gestion des données partagées, ou comment rendre les accès transparents pour le développeur d’application tout en restant indépendant de l’architecture matérielle. Les domaines d’application sont les processeurs massivement parallèles, les serveurs de calcul hétérogènes et les nouvelles architectures dédiées aux applications d’intelligence artificielle. Un ensemble d’outils pour l’optimisation des systèmes et l’aide à la décision sont présentés permettant une gestion efficace des ressources tant sur le plan de l’intensité calculatoire que de la consommation d’énergie. Enfin, des perspectives de recherche sont proposées, ancrées dans la profonde mutation en besoins de puissance de calcul et de maîtrise de l’énergie requis par le développement de l’intelligence ambiante.
Fichier principal
20221005_cudennec_manuscrit_hdr.pdf (6.96 Mo)
Télécharger le fichier
20221005_cudennec_soutenance_hdr.pdf (6.47 Mo)
Télécharger le fichier
Origine | Fichiers produits par l'(les) auteur(s) |
---|