Logo Inria

Ingénieur confirmé F/H – Mise en œuvre d'un projet de développement technologique du logiciel AFF3CT

The offer description below is in French

Contract type : Fixed-term contract

Level of qualifications required : Graduate degree or equivalent

Fonction : Temporary scientific engineer

Level of experience : From 3 to 5 years

About the research centre or Inria department

L'équipe STORM (Static Optimizations and Runtime Methods) met en œuvre son expertise sur les langages spécifiques de haut niveau, les supports d'exécution hétérogènes et les outils d'analyse de performance pour extraire la plus grande efficacité des architectures de calcul modernes, de façon portable.

Plus d'info ici : https://team.inria.fr/storm/

Context

La mission s'inscrit dans le cadre d’un partenariat de développement technologique et de transfert de compétences entre l'équipe Inria STORM et la DGA autour du logiciel AFF3CT pour l'expérimentation, la validation et l'exécution de chaînes de communication numériques.

Les objectifs de cette mission les suivants:

  1. Apporter une aide technique transversale à l'opération de développement technologique et de transfert de compétences.
  2. Assurer la cohérence et l'intégration des développements logiciels de ces missions. 
  3. Permettre le suivi qualitatif et quantitatif automatisé des performances du logiciel AFF3CT pendant l'opération et au-delà.
  4. Mettre en œuvre le transfert de compétences via des supports et des formations. 

 Le poste proposé est donc au cœur de cette collaboration entre Inria et la DGA sur le logiciel AFF3CT. Il est par nature multi-disciplinaire avec une composante informatique et une composante en communications numériques, ainsi que des aspects d'encadrement et de pédagogie.

Assignment

Missions

Sous la direction des chercheurs permanents en charge du développement du logiciel AFF3CT la personne recrutée devra :

  1. Participer à l'encadrement technique au quotidien de l'équipe assignée à l'opération en appui au personnel permanent de l'équipe.
  2. Mettre en place les solutions logicielles d'observation et de contrôle de l'évolution des performances dans le processus d'intégration continue
  3. Mettre en place les solutions logicielles de visualisation temps réel et post mortem des métriques de chaines de communication AFF3CT.
  4. Compléter l'opération de développement technologique par un transfert de compétences par la préparation de matériels de documentation, d'illustration de cas d'usages et de formation.
  5. Assurer une ou plusieurs sessions pratiques de formation à destination des usagers. 

Quelques déplacements en France, de l'ordre de un à deux par an, sont prévus pour ce poste. Les frais de déplacements seront pris en charge dans la limite du barème en vigueur.

Pour une meilleure connaissance du sujet de recherche proposé :

La suite logicielle AFF3CT (https://aff3ct.github.io/) [1] développée conjointement par Inria et le laboratoire IMS, à Bordeaux, définit un ensemble de composants logiciels permettant la construction de chaines de communication numérique pour l'étude, la validation et l'exploitation d'algorithmes de codes correcteurs d’erreur et de radio logicielle (SDR). AFF3CT est directement issu des travaux de recherche d'Inria et de l'IMS et présente donc par nature une certaine hétérogénéité dans le degré de couverture et le caractère expérimental ou de production en ce qui concerne l'implémentation et l'optimisation des divers algorithmes et codes de l'état de l'art en communication numérique. Bien qu’AFF3CT dispose d’outils de collecte, de comparaison et d’affichage de métriques sur la qualité des codes utilisés (BER, FER), il n’y a pas de métrique élaborée portant sur les chaines de SDR. Des interfaces comme gr-Fosphor [2] développé dans GnuRadio, ou Gqrx [3] permettent l’analyse par exemple du spectre. Par ailleurs, des métriques de performance sur des machines multicoeurs


Le but de cette étude sur 2 ans est de doter AFF3CT d’outils de mesure et de visualisation de performances temps réel, puis d’utiliser ces outils pour aider à la formation de nouveaux utilisateurs. Parmi ces métriques collectées en temps réel figurent les métriques applications comme le spectre, le train binaire et les informations de synchronisation. Cela permet d’une part de suivre ce qui est reçu et avec quelle qualité. D'autre part, cela fournit également une aide dans la mise au point de nouveaux modules et le réglage de performances dans AFF3CT, ainsi qu'en termes d'intégration continue.

Nous fournirons également des outils de mesure de performances sur l’architecture multi-coeurs ciblée, pour une analyse temps réel (in situ) et post-mortem. Par ailleurs, l’établissement de temps de références sur différentes machines parallèles a pour objectif la mise en place d’une méthode permettant de dimensionner le choix d’infrastructures de machines parallèles répondant à des usages spécifiques: on peut vouloir savoir le débit d’une configuration donnée, l’efficacité obtenue, ou bien le nombre de coeurs nécessaires afin d’atteindre un débit minimal. Enfin, les outils de visualisation de métriques liées au signal et aux performances donnent un éclairage plus intuitif des phénomènes et vont permettre de plus facilement former de nouveaux utilisateurs. L’expérience récente dans l’équipe STORM pour un outil comme EasyPAP [4] utilisé dans l’enseignement du parallélisme a montré son intérêt pour la compréhension de phénomènes fins sur le parallélisme.

Bibliographie

[1] A. Cassagne, O. Hartmann, M. Léonardon, K. He, C. Leroux, R. Tajan, O. Aumage, D. Barthou, T. Tonnelier, V. Pignoly, B. Le Gal et C. Jego, “AFF3CT: A Fast Forward Error Correction Toolbox!,“ SoftwareX, 2019.
[2] gr-Forphor: https://osmocom.org/projects/sdr/wiki/Fosphor
[3] Gqrx SDR. https://gqrx.dk/
[4] EasyPAP: Alice Lasserre, Raymond Namyst, Pierre-André Wacrenier. EASYPAP: a Framework for Learning Parallel Programming. Journal of Parallel and Distributed Computing, Elsevier, In press, ⟨10.1016/j.jpdc.2021.07.018⟩. ⟨hal-03126887v2⟩. https://gforgeron.gitlab.io/easypap/

 

Main activities

Principales activités :

  • Participation à l'encadrement technique de l'équipe de tranfert technologique
  • Développement de l'infrastructure de tests de performances et branchement dans le processus d'intégration continue
  • Développement de l'infrastructure de visualisation temps réel et post mortem des métriques AFF3CT
  • Mise en œuvre du transfert de compétence.
  • Formation des utilisateurs et préparation du matériel de formation
  • Préparation et présentation des délivrables du volet afférent de l'opération de partenariat.

 

Skills

Compétences techniques et niveau requis :

  • Expertise en développement C++
  • Maitrise d'un environnement d'intégration continue
  • Maitrise des outils d'analyse de performance parallèle/vectorielle

Langues : français (courant) et anglais (B2)

Compétences relationnelles :

  • Savoir travailler en équipe
  • Aimer travailler dans une équipe pluridisciplinaire
  • Être à l'écoute des utilisateurs
  • Être capable d'écrire de la documentation et des supports pédagogiques
  • Être capable d'écrire des rapports d'activité

Compétences additionnelles appréciées :

  • Compétences en développement Python

Benefits package

  • Restauration subventionnée
  • Transports publics remboursés partiellement
  • 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 œuvres sociales d'Inria)
  • Accès à la formation professionnelle
  • Sécurité sociale

Remuneration

Entre 2652€ et 2724€ brut mensuel selon expérience