Simulateur de réseaux simples avec un FPGA
Jump to navigation
Jump to search
Objectif
Les FPGA sont des circuits logiques programmables. Grossièrement à partir d'un langage de description de circuit et à l'aide d'une chaîne de traitement logiciel, on obtient une image binaire à téléchargé sur le composant FPGA. Ce dernier réalisera alors les fonctions logigues combinatoire et séquentiel (mémoire et bascules) sur circuit souhaité.
Dans ce projet nous allons nous intéresser à réaliser un simulateur de réseau communication simple.
On peut considérer plusieurs modèles de réseaux dont:
- 1) Les modèles au niveau des paquets: on simule l'évolution et le parcours de chaque paquets
- 2) Les modèles au niveau des flux d'échange: on simule l'évolution des échanges comme un flux
Nous allons a priori nous intéresser à la 2 éme approche utilisée notamment dans le simulateur SimGrid
- https://simgrid.org/tutorials/surf-101.pdf page 10-17
- https://tel.archives-ouvertes.fr/tel-01247932/document Chapter 11 / p115-128
- http://simgrid.gforge.inria.fr/simgrid/3.20/doc/group__SURF__lmm.html
- https://github.com/simgrid/simgrid/tree/master/src/kernel/lmm
Nous utiliserons pour décrire et simuler les circuits souhaitées le logiciel nmigen écrit en Python3.
Choix technique
- Python 3
- Nmigen https://github.com/m-labs/nmigen .
Plan de travail
- On procédera par preuves de concept
- Prise en main de nmigen (exemples / tutoriaux)
- Comprehension du modele flux / fluide (utilisé dans SimGrid)
- Prototypage de petits exemples
- Analyse de l'algorithme Linear MaxMin Solver (portage en Python)
Prérequis
- Connaissance de Python
- C'est un projet exploratoire / prospectif / recherche