Eviden, qui fait partie du groupe Atos, avec un chiffre d’affaires annuel d’environ 5 milliards d’euros, est un leader mondial de la transformation numérique axée sur les données, fiable et durable. En tant qu’entreprise numérique de nouvelle génération, avec des positions de leader mondial dans les domaines du numérique, du cloud, des données, de l’informatique avancée et de la sécurité, elle apporte une expertise approfondie à tous les secteurs d’activité dans plus de 47 pays. En réunissant des technologies haut de gamme uniques sur l’ensemble du continuum numérique et 47 000 talents de classe mondiale, Eviden élargit les possibilités des données et de la technologie, aujourd’hui et pour les générations à venir.
Stage : Implémentation d’une couche transport fidèle pour l’émulateur QEMU BXIv3
Profil : ingénieur développement logiciel système réseau
Equipe : BXI LL – Echirolles > Émulateur BXI sous Qemu
Le logiciel libre Qemu permet d’exécuter un ou plusieurs systèmes d’exploitation (et leurs applications) isolés dans des machines virtuelles sur une même machine physique. Il embarque des versions émulées de la plupart des périphériques PCI courants : son, USB et réseau. Les systèmes d’exploitation invités partagent ainsi les ressources de la machine physique de façon relativement invisible. Qemu peut également être utilisé pour des besoins de recherche et développement sur des composants matériel. L’équipe BXI Low Level, qui s’occupe du pilote Linux pour le projet BXI, a utilisé cette technologie pour développer un émulateur de la carte réseau. Cet émulateur permet de travailler sur les couches logicielles (driver, bibliothèques exposées aux utilisateurs) sans attendre la disponibilité du matériel et donc de prototyper rapidement de nouvelles idées. Cet émulateur se base actuellement sur une couche réseau simple, privilégiant la facilité de développement, de débogage et de maintenance. Architecture de la carte BXIv3 La carte réseau BXIv3 implémente la spécification Portals et est architecturée en trois grandes couches : la gestion des commandes et ressources Portals, la gestion des opérations Portals et la couche transport. L’émulateur actuel se divise similairement selon ces couches. La couche transport est chargée de transmettre des messages vers des nœuds distants. Afin de transmettre des messages cette couche doit implémenter un certain nombre de fonctionnalités, telles que le découpage de message en paquets, le multiplexage, la fiabilité ou le contrôle de congestion.
Objectif du stage Le futur stagiaire se verra proposer la ré-implémentation de la couche transport de l’émulateur BXIv3 pour être fidèle à l’architecture de la carte réelle. La méthode de travail sera basée sur des cycles itératifs constitués d’étapes de design, de développement et de validation. Une fois les développements suffisamment avancés, il sera possible de faire communiquer l’émulateur et un NIC BXIv3. Pour arriver à l’objectif proposé le stagiaire devra étudier le document d’architecture de BXIv3. Le fruit du travail du stagiaire pourra alors être utilisé pour permettre de tester des cas d’erreur du NIC, ou de prototyper de nouvelles fonctionnalités.
Profil recherché Le profil idéal doit avoir de bonnes connaissances sur les points suivants : • Bases de réseau (Ethernet) • Langage C • Gestion de version de code (Git) • Debug de protocole réseau (gdb, wireshark, …) Des connaissances sur les points suivants sont appréciées : • Virtualisation (Qemu)
Let’s grow together.