Ordonnancement dynamique de chaînes de communication numérique pour la radio logicielle.

La radio logicielle est au coeur de la prise en charge des communications numériques contemporaines telles que la téléphonie ou la transmission par satellite, elle pose un défi majeur en termes de performances et d’efficacité.

L'équipe STORM, du centre Inria de l’Université de Bordeaux, développe le logiciel AFF3CT conjointement avec le laboratoire IMS à Bordeaux et le laboratoire LIP6 de Sorbonne Université, pour l’exécution optimisée de chaines de communication numériques dans le domaine de la radio logicielle (en anglais, SDR pour Software Defined Radio). Le but de ce domaine est de réaliser en logiciel et sur des processeurs multicoeurs généralistes l’essentiel des traitements des couches ‘physique’ et ‘liaison de données’ des communications numériques, autrefois gérés par des circuits dédiés.

AFF3CT est en particulier utilisé pour le développement, la validation et l’exploitation de codes correcteurs d’erreurs, utilisés dans les communications sans fil comme la téléphonie 5G ou les transmissions satellitaires DVB-S2, avec de forts enjeux de performances à la fois en débit et en latence, et de maitrise de la consommation énergétique.

AFF3CT s’appuie sur un support d’exécution léger appelé StreamPU, et dédié aux applications de type ‘streaming’ dominées par le flux des données. StreamPU est chargé répartir les calculs de ces chaines de communication sur des processeurs multicoeurs afin de bénéficier du parallélisme matériel. Cette répartition repose sur l’utilisation de techniques de pipeline, dont l’objectif est la constitution et le placement des étages sur l’architecture de calcul considérée pour maximiser les performances et minimiser le nombre de ressources utilisée.

L’objectif de ce stage est de faire évoluer la gamme d’ordonnanceurs proposés par StreamPU pour gérer une plus grande diversité de chaines de communications, en relâchant une partie des hypothèses faites sur la structure de ces chaines, comme permettre la présence de conditions ou de boucles ou autoriser une certaine variabilité de la durée des tâches, et au-delà, d’ordonnancer dynamiquement de multiples chaines concurrentes.

Le travail s’appuiera sur les travaux de la thèse de Diane Orhan ainsi que sur la littérature en ordonnancement de pipelines et de workflows.

Mots-clés:

parallélisme de tâches, ordonnancement, pipeline, streaming

Pré-requis:

  • Développement sous Linux avec git
  • Programmation en C++
  • Programmation parallèle

Contacts :

Olivier Aumage (olivier.aumage@inria.fr)

Lieu du stage :

Équipe STORM Centre Inria de l’université de Bordeaux 200 avenue de la vieille tour 33400 Talence

Références: