Parallélisation et équilibrage de chaînes de traitement de signal pour la radio-astronomie

Résumé

L'équipe STORM (Inria/LaBRI) travaille à la conception de supports d’exécution d’applications scientifiques sur des machines de calcul parallèles et distribuées, dans le domaine que l’on nomme calcul intensif. L’environnement AFF3CT développé par STORM et par le laboratoire IMS de l’université de Bordeaux a initialement été conçu pour la construction et l’exploitation de chaînes de communication numérique en radio logicielle à très hautes performance intégrant des codes correcteurs d’erreur, pour des applications telles que la communication satellitaire par exemple. Du point informatique, les chaînes AFF3CT sont des séquences de tâches parcourues par un flux de données. L’obtention de performances élevées passe par la mise en œuvre de techniques de vectorisation et de parallélisation. En particulier, la structure de ces chaînes en tâches successives implique un parallélisation de type pipeline: les chaines sont découpées en étages d’une ou plusieurs tâches et chaque cœur d’un processeur multi-cœur est exclusivement en charge du traitement d’un étage. L’enjeu est donc l'équilibrage de des étages du pipeline pour maximiser le débit de traitement global de la chaîne. Il est à noter que les capacités de parallélisation de pipeline développées autour d’AFF3CT sont indépendantes de la nature des tâches proprement-dites, et il est donc tentant d’explorer l’exploitation de ces capacités dans des domaines distincts du domaine des communications numériques.

Le projet Square Kilometer Array est un projet international de très grande envergure visant à construire et exploiter un radio-interféromètre géant pour l’astronomie. Dans ce type d’instrument, les signaux provenant d’un très grand nombre d’antennes individuelles sont combinés pour produire des observations, dans les fréquences radio, de régions du ciel à très haute résolution via un processus de synthèse et de déconvolution d’image. L'échelle sans précédent de l’Observatoire SKA, lui conférant la sensibilité et le pouvoir de résolution nécessaires à l'étude des questions les plus fondamentales en astronomie, requiert l’utilisation de moyens de calcul intensif pour traiter en temps réel le volume de données massif généré par les observations. Par nature, ces traitements sur flot de données présentent une certaine similitude avec les chaines de tâches d’AFF3CT, avec un même objectif de parallélisation en pipeline et d'équilibrage pour maximiser le débit. L’objet du stage est donc d'étudier l’intégration de techniques de parallélisation de pipeline développées pour AFF3CT au sein de l’environnement logiciel du SKA. Le stage se déroulera au centre Inria de l’université de Bordeaux à Talence, en liaison avec l’observatoire de Paris impliqué dans le projet SKA.

Objectifs

Un premier objectif du stage est de réaliser le couplage de la chaine de traitement SKA avec AFF3CT, en réalisant l’encapsulation des étapes du traitement en tâches AFF3CT. Un second objectif est ensuite d'étudier la parallélisation automatisée et l'équilibrage du pipeline résultant, sous divers scénarios correspondant aux différents modes d’exploitation des données en sortie du SKA. Enfin, un troisième objectif à plus long terme, mais sensiblement plus ambitieux, serait d’utiliser ces résultats afin de proposer des fonctionnalités de dimensionnement permettant aux équipes en charge du développement du projet SKA de mieux déterminer les besoins en puissance de calcul pour soutenir le débit requis selon ces divers scénarios.

Mots-clés:

Calcul haute performance, parallélisme, programmation par tâches, pipeline, astronomie

Pré-requis:

  • Maîtrise de la programmation en langages C, C++ et Python
  • Maîtrise du développement en environnement Unix
  • Bon niveau d’anglais oral et écrit

Contacts:

  • Olivier Aumage (olivier.aumage@inria.fr) Centre de recherche Inria de l’université de Bordeaux 200 avenue de la vieille tour 33405 TALENCE

Lieu du stage:

  • Inria Bordeaux, équipe STORM

Référence: