Post Doc Accélération du traitement des paquets réseau par la technologie eBPF/XDP au sein des infrastructures NFV F/H
Orange
Cesson Sévigné , France
il y a 4j

about the role

Votre rôle est d'effectuer un travail de post-doc sur l'accélération du traitement des paquets réseau par la technologie eBPF / XDP au sein des infrastructures NFV.

La virtualisation des fonctions réseau repose sur la mise en oeuvre de fonctions réseau sous forme logicielle au travers de machines virtuelles déployées sur une infrastructure de cloud.

Par rapport à des équipements réseau physique spécialisés, cette approche doit permettre une meilleure utilisation des ressources en déployant à la demande des fonctions réseau sur une infrastructure mutualisée suivant les besoins effectifs.

Du point de vue des performances, certaines de ces fonctions (ex : accès radio, connexion internet pour les réseaux 4G et 5G) ont des exigences fortes en latence, débit et taux de perte de paquets réseau.

Elles doivent pouvoir supporter le trafic réseau offert par les dernières générations de carte ethernet : 100Gbits / s. Atteindre ces niveaux de performance en utilisant la pile réseau du noyau Linux est difficile car elle est généraliste et implique de multiples sources d'overhead dans le cheminement des paquets (ex : copie mémoire, gestion des interruptions, lock de ressources partagées, context switch).

L'approche adoptée par les fournisseurs de fonctions réseau est de by-passer la pile réseau Linux en déplaçant la totalité du traitement des paquets réseau en espace utilisateur au travers de bibliothèques comme DPDK (Data Plane Development Kit).

Le projet DPDK est quasiment devenu un standard dans le monde NFV autant pour implémenter des fonctions d'infrastructure (switch ou routeur virtuel) que des fonctions réseaux virtualisées (vRAN or vEPC).

Une approche kernel-bypass de type DPDK soulève néanmoins certains problèmes. Elle est très gourmande en ressources car chaque fonction réseau basée sur DPDK monopolise plusieurs coeurs CPUs et ports ethernet de manière dédiée.

Toutes les fonctions et services réseaux fournis par le noyau Linux (ex : routage, protocole de transport L4+) doivent être ré-

implémentées en mode utilisateur. Qui plus est, le modèle de sécurité natif de Linux est lui-aussi court-circuité avec des applications DPDK accédant directement à l'interface hardware des cartes réseau.

Cet état des lieux qui migre les applications exigeantes en termes de performance réseau en mode utilisateur est remis en cause par de récents développement au sein du kernel Linux autour de la technologie eBPF / XDP.

eBPF (extended Berkeley Packet Filter) repose sur l'intégration d'une machine virtuelle de type langage au sein du noyau Linux.

eBPF permet l'injection au runtime de code applicatif en mode kernel. Les restrictions du modèle d'exécution et de programmation associé à la sandbox eBPF garantissent que les programmes injectés n'altèrent pas l'intégrité du système.

Dans un contexte réseau, eBPF a été utilisé principalement pour des fonctions de tracing et de supervision de paquets au travers de la pile réseau Linux.

Une récente extension d'eBPF appelée XDP (eXtended Data Path) 1 permet d'injecter un programme eBPF interceptant les paquets réseau à la sortie du driver avant d'entrer dans la pile réseau.

Un programme XDP pourrait dès lors implémenter des fonctions réseaux 2 avec un niveau de performance qui se rapproche de celui atteint par une approche telle que DPDK.

Dans ce contexte, il est intéressant d'étudier le recours à la technologie eBPF / XDP comme alternative ou complément 3 à une technologie kernel-bypass comme DPDK.

La section 3 le plus de l'offre détaille la mission scientifique et les principales activités associées au post doc.

about you

Vous êtes titulaire d'un Doctorat en informatique dans le domaine des systèmes d'exploitation, des infrastructures cloud, de la virtualisation réseau ou des réseaux programmable du type NFV / SDN.

Vous avez déjà mené des travaux de recherche dans un contexte Système, Cloud, NFV ou SDN.

Vous avez une expérience en lien avec le réseau.

Vous avez contribué à des projets collaboratifs dans un contexte mixte académique / Industriel.

Compétences (scientifiques et techniques) et qualités personnelles souhaitées par le poste :

  • compétences en architecture et programmation système (kernel Linux)
  • compétence en infrastructure de cloud computing (IaaS) et virtualisation (hyperviseurs, VM, conteneurs).
  • compétences réseau (L2-L4, NFV, SDN)
  • bonne maitrise de l'anglais écrit et parlé
  • Curiosité, autonomie.
  • additional information

    Objectif scientifique - verrous à lever

    L'objectif de ce postdoc est d'analyser du point de vue fonctionnel et non-fonctionnel la technologie eBPF / XDP pour la mise en oeuvre de fonctions réseau injectées dans le noyau du système d'exploitation Linux :

  • Évaluer les performances de fonctions réseau L2 / L3 (ex : switching, routage, tunneling) pour différents choix de cheminement des paquets : entièrement dans le kernel via eBPF / XDP, en espace utilisateur via DPDK, mixte (DPDK sur XDP), et pour différents choix de déploiement : bare-
  • metal, containeur, machine virtuelle

  • Explorer les différents modèles de programmation et d'exécution offerts par eBPF / XDP
  • comprendre leurs limitations et proposer des extensions pour l'implémentation de fonctions réseaux complexes
  • génération automatique de code eBPF / XDP à partir d'un DSL tel que P4
  • En fonction de l'avancement, le postdoc pourra éventuellement aborder les sujets suivants :

  • Investiguer dans quelle mesure une fonction réseau eBPF / XDP peut être offloadée partiellement ou entièrement sur du matériel spécialisé (notamment carte réseau smart avec coprocesseur FPGA ou NPU)
  • Étudier comment gérer le cycle de vie de fonctions réseau dont le plan de donnée est implémenté en eBPF / XDP
  • Approche méthodologique-planning

  • Etat de l'art - bibliographie et contour du problème (3 mois)
  • architecture eBPF, outils associés , évaluations existantes
  • identification des besoins et des limites
  • Proposition de scénarios de référence (1 mois)
  • définition scénarios et fonctions réseaux pertinentes
  • identification de critères de performance associés
  • spécifications de la plateforme
  • Évaluation (6 mois)
  • mise en oeuvre de différentes implémentations sur la plateforme permettant de comparer différents mécanismes, valider le fonctionnement
  • mener les tests de performances
  • analyser les résultats et argumenter
  • Finalisation (2 mois)
  • synthèse des travaux, conclusions et publication
  • proposition de débouchés et de suite des travaux.
  • department

    Au sein des Orange Labs, vous serez intégré(e) à l'équipe AMI travaillant sur les infrastructures cloud et l'optimisation des performances pour la virtualisation de fonctions réseau.

    Le post-doc se déroule sur le site d'Orange Labs à Cesson-Sévigné.

    Qu'est ce qui fait la valeur ajoutée de cette offre ?

    Le post-doc s'effectuera dans un grand groupe international dans le domaine des télécommunications. Vous serez directement impliqué(e) dans les problématiques d'infrastructures cloud et de virtualisation réseau du groupe Orange.

    Vous aurez l'occasion de participer à des conférences internationales pour présenter les résultats.

    Références :

    1 Høiland-Jørgensen Toke, Brouer Jesper Dangaard, Borkmann Daniel, Fastabend John, Herbert Tom, Ahern David, Miller David.

    2018. The eXpress Data Path : Fast Programmable Packet Processing in the Operating System Kernel. CoNEXT '18 : International Conference on emerging Networking EXperiments and Technologies.

    2 Sebastiano Miano, Matteo Bertrone, Fulvio Risso, Massimo Tumolo, Mauricio Vasquez Bernal. 2018. Creating Complex Network Services with eBPF : Experience and Lessons Learned.

    Proceedings of IEEE High Performance Switching and Routing (HPSR18), Bucarest, Romania, June 2018.

    3 Magnus Karlsson, Björn Töpel. 2018. The Path to DPDK Speeds for AF XDP. Linux Plumbers Conference, Vancouver, 2018.

    Post Doc

    Postuler
    Ajouter aux favoris
    Retirer des favoris
    Postuler
    Mon email
    En cliquant sur « Continuer », je consens au traitement de mes données et à recevoir des alertes email, tel que détaillé dans la Politique de confidentialité de neuvoo. Je peux retirer mon consentement ou me désinscrire à tout moment.
    Continuer
    Formulaire de candidature