10:00
13:00

Le calcul haute performance désigne l’usage de supercalculateurs pour résoudre des problèmes complexes nécessitant une puissance de calcul exceptionnelle, notamment dans les simulations numériques comme la météo ou la dynamique des fluides. Ces systèmes, organisés en clusters de calcul, combinent administration système, réseau, architecture matérielle et optimisation logicielle. Les supercalculateurs sont composés de multiples nœuds de calcul, chacun équipé de processeurs multicœurs voire de cartes graphiques, reliés en réseau permettant l’échange de données. Plutôt que d’exécuter une tâche sur une seule machine, les problèmes sont découpés et parallélisés. Cela permet une execution simultanée sur plusieurs ressources. On distingue deux formes de parallélisme : inter-nœuds, où la communication entre nœuds est critique mais les ressources sont vastes et intra-nœud, où les processeurs partagent la mémoire, facilitant la communication mais avec des ressources plus limitées. Dans ce cadre, les applications de streaming, notamment la radio logicielle, tirent profit du parallélisme intra-nœud. Le traitement en continu (stream computing) se différencie du traitement par lots. Les données sont traitées à mesure qu’elles arrivent, sans accumuler les données d'entrée. Les filtres de traitement sont organisés en pipeline, chaque étage étant exécuté par une resource de calcul différente. Ce mécanisme permet d’augmenter significativement le débit, métrique essentielle dans des usages comme la diffusion vidéo ou radio. Ce travail de thèse vise à optimiser l’allocation automatique des ressources pour des applications de streaming sur architectures multicœurs, d’abord homogènes puis hétérogènes. La première partie de ce travail s'intéresse à l'ordonnancement de chaîne de tâches sur achitecture multicœurs homogènes. Le problème est modélisé comme un problème d'ordonnancement de flux de travail en pipeline. L’objectif est de maximiser le débit en exploitant le parallélisme de pipeline et de réplication de tâches. Deux algorithmes sont proposés : une approche par programmation dynamique pour obtenir une solution optimale et OTAC, un algorithme glouton optimal garantissant un haut débit tout en minimisant les ressources utilisées. Les expérimentations montrent qu’OTAC produit rapidement des partitions optimales, avec une utilisation réduite de ressources. L’émergence de processeurs hybrides composés de cœurs performants (core-P) et de cœurs efficaces energétiquement (core-E) introduit de nouveaux défis : les temps d’exécution varient selon l’affectation. L’objectif devient double : maximiser le débit tout en minimisant la consommation énergétique, en privilégiant l’usage des cœurs efficace. La seconde partie se concentre donc sur l'allocation de ressources pour des chaînes de tâches sur architectures hétérogènes. Trois stratégies sont développées : deux heuristiques gloutonnes (FERTAC et 2CATAC) et une solution optimale par programmation dynamique (HeRAD).
Les résultats indiquent que les heuristiques atteignent des performances proches de l’optimum tout en consommant très peu de ressources supplémentaires. La dernière partie de ce travail s'intéresse à la gestion de plusieurs chaînes de streaming simultanées. Dans certains contextes comme l’embarqué, l’IoT ou le cloud, plusieurs applications cohabitant sur les mêmes ressources. Le but est alors de répartir intelligemment les ressources entre plusieurs pipelines en satisfaisant les contraintes de débit sans gaspillage de ressources. La dernière partie explore des stratégies d’allocation adaptées à la gestion de plusieurs chaînes de tâches ou graphes de tâches. Ainsi, cette thèse propose plusieurs contributions quant à l’optimisation des systèmes de streaming sur architectures parallèles, couvrant l’ordonnancement optimal, l’adaptation aux architectures hétérogènes et la cohabitation de plusieurs flux simultanés, avec une attention constante à la performance et à l’efficacité énergétique.

Amphi LaBRI