-
-
-
-
-
-
-
HomeSite map
SoC/Offres d'emplois/Stages/2009-2010/ALSOC 9 Print page

Modélisation SystemC d'un contrôleur réseau pour la plate-forme de prototypage virtuel SoCLib, et développement du pilote pour le système d'exploitation MutekH

 

CONTEXTE 

Le projet SoCLib, soutenu par l’ANR (Agence Nationale de la Recherche) et différents industriels vise le développement d'une plate-forme "ouverte" de modélisation et de simulation de systèmes intégrés sur puce. Le coeur de cette plate-forme est un ensemble de modèles de simulation de composants matériels (IP cores) écrits en SystemC. Pour garantir l'inter-opérabilité entre ces composants, et permettre de modéliser facilement des plate-formes matérielles multi-processeurs, tous ces composants respectent le même protocole de communication (Virtual Component Interconnect).

L’exo-noyau HEXO et le système d'exploitation MutekH ont été développés au LIP6, et sont destinés à des systèmes multiprocesseurs intégrés sur puce (MP-SOC). Un exo-noyau offre principalement un service d’abstraction du matériel (c’est à dire une API indépendante des spécificités du ou des processeurs). On peut développer sur cette API un ensemble de bibliothèques fournissant des services système de plus haut niveau. La spécificité d'HEXO est qu'il peut supporter des architectures hétérogènes massivement parallèle. HEXO est portable sur des architectures de processeurs entre 8 et 64 bits. Les bibliothèques actuellement disponibles sont : une libc, plusieurs systèmes de fichiers, le support des threads POSIX, une couche réseau TCP/IP, le support des scripts Lua, différents pilotes de périphériques. Cet ensemble constitue le système MutekH. A ce jour MutekH supporte des plate-formes matérielles de type IBM PC utilisant des processeurs x86, ou des plate-formes multi-processeurs (MP-SOC) modélisées avec SocLib, et utilisant des processeurs RISC de type Arm, PowerPc ou MIPS.

OBJECTIF

L'objectif de ce stage est double.

Il s'agit tout d'abord de développer, en langage SystemC, un modèle de périphérique réseau pour la plate forme SoCLib. Ceci permettra à une machine virtuelle (s'exécutant en simulation sur une station de travail) d'accéder au réseau de la machine hôte. Le contrôleur réseau utilisera les mécanisme de DMA classiques qui sont déjà employés par d'autres contrôleurs de périphériques de SoCLib. Il exploitera également la technologie TUN/TAP qui permet de créer facilement une interface réseau virtuelle sur la machine hôte. Ceci permettra d'immerger la machine virtuelle dans un vrai réseau, les paquets réseau entrant par l'interface du noyau Linux seront reçus par le périphérique SoCLib et inversement.

Le second objectif est le développement du pilote logiciel associé au contrôleur réseau, et son intégration dans MutekH. MutekH contient déjà la pile réseau nécessaire, et on pourra s'inspirer des pilotes existants. De plus MutekH est déjà capable d'accéder au réseau lorsqu'il s'exécute sur les plateformes PCs x86.

Le stage sera validé en exécutant, sur une machine virtuelle modélisée avec SoCLib et supportant MutekH, une application logicielle capable d'échanger des paquets avec le réseau de la machine hôte.

ENCADREMENT

Ce stage sera encadré par Alain Greiner (alain.greiner(at)lip6(.)fr).

ENCADREMENT

Ce stage sera rémunéré pendant toute la durée du stage.

 

LIP6 LIP6-SoC LIP6 CNRS UPMC