Co- Directeur : Frédéric Rousseau, TIMA, Université Grenoble-Alpes

 
CONTINUER À LIRE
Titre : CSAM : Maitrise de bout en bout d'une Chaine de Synthèse d’Accélérateurs Matériels
pérennes dans un contexte de défense

Directeur : Loïc Lagadec, Lab-STICC/ENSTA Bretagne
Co- Directeur : Frédéric Rousseau, TIMA, Université Grenoble-Alpes

Note : Cette thèse s’inscrit dans le cadre du club des partenaires défense de l’UBL. Elle fait
suite à deux thèses, une dans chacun des deux laboratoires : Alban Bourge en 2016 [T1], et
Théotime Bollengier en 2018 [T2].

1. Objet de la thèse

La recherche de performances (puissance de calcul, faible consommation, cout marginal
contrôlé, adaptabilité à des contextes changeants) justifie l’emploi de technologies
reconfigurables telles que les FPGAs. En revanche, ces technologies souffrent d’une
obsolescence rapide, difficilement compatible avec un temps de maintient en condition
opérationnelle long. Cette thèse vise à solutionner cette faiblesse par une approche overlay.

2. Descriptif de la thèse

La thèse adresse les méthodes de pérennisation des développements matériels dans un
contexte de défense, qui se caractérise par un temps de maintien en conditions opérationnelles
(MCO) bien plus long que les enjeux typiques du civil. Ces travaux répondent ainsi à une
préoccupation duale, puisque la problématique impacte à différents niveaux les métiers SIO,
SSI et AESS des pôles ASC, SSI et SdS, mais concerne également des domaines industriels
(transport, nucléaire, spatial, etc.) à MCO long.

Il s’agit de lutter contre l’obsolescence matérielle en offrant des performances réalistes et de
s’affranchir du stockage préventif de dispositifs sur-numéraires, destinés à remplacer les
éléments défaillants au cours du temps. Pour cela, il convient de savoir porter une application
sur des supports matériels évolutifs, tout en garantissant une équivalence de
comportement/caractéristiques permettant la cohabitation transparente de générations
différentes.

Le support matériel considéré dans cette thèse est le FPGA, qui présente les propriétés
adéquates pour une utilisation militaire et/ou spatiale (version durcie, rapport
cout/performance excellent, temps de conception raisonnable, ...). En revanche, les FPGAs ne
disposent pas de modèles de programmation normalisés comme on en rencontre dans le
monde logiciel (langages de programmation indépendants du support d’exécution,
compilateur multi cible, jeu d’instructions normalisées). La conséquence en est une non
compatibilité des sources aux binaires, le fort couplage entre cible et outils de
compilation/synthèse, la grande difficulté de virtualisation (à plus forte raison sur des
architectures hétérogènes) qui constitue un frein aux approches de type « Platform As a
Service » (PAaS)/cloud. Ainsi, les bénéfices classiques des approches PAaS/cloud : la pleine
exploitation des ressources, le partage multi tenants, l’équilibrage de charge, la migration de
tâches, etc. ne sont que peu ou pas présents dans le contexte FPGA[1, 2 3]. Une solution
partielle au problème est fournie par la notion d’overlay [4,5], qui induit en revanche souvent
des performances dégradées [6,7], par rapport à une implémentation nue.
L’enjeu est donc l’obtention de solutions efficaces (accélération de calcul via FPGA, plein
usage des ressources), adaptables (évolutions déclenchées à distance) dont les différentes
générations pourront inter opérer de façon transparente. Ainsi l’approche proposée doit
garantir que l’ajout, le remplacement, ou le retrait de dispositifs seront possibles sans impact
lourd.

3. Programme de la thèse

A. Vue globale

La thèse balaiera tout d’abord l’ensemble des alternatives présentes dans l'état de l'art pour
garantir la pérennité des développements matériels. Une problématique sensible est la
combinaison d’une rétro compatibilité des nouveaux dispositifs (capacité à fonctionner avec
les anciens dispositifs) avec une compatibilité ascendante des dispositifs déjà en circulation
(capacité à ignorer de futures versions incompatibles). Pour cela, le doctorant s’appuiera sur
une double expertise, présente au sein des laboratoires respectifs des deux co-directeurs de
thèse, et enchâssée dans deux outils : Augh et Biniou.

• La première, développée à TIMA, est la synthèse de haut niveau (C vers VHDL), décorée de
façon à permettre une contrôlabilité des architectures produites. L'extraction de contexte à
chaud est ainsi rendue possible pour une migration de tâche entre cibles.

• La seconde solution est la virtualisation des cibles via un mécanisme d'overlay (FPGA sur
FPGA), complété par un support de programmation (Biniou), de déploiement (ZeFF), et
d'exploitation. Un seul environnement de programmation est alors nécessaire, mais les
performances sont très dépendantes de la nature de l'overlay.

La thèse visera à converger vers une architecture overlay à gros grain, hétérogène. Cette
architecture sera évaluée pour une classe applicative donnée (et idéalement représentative de
problèmes de défense).

Cette approche relève de l'Adéquation Algorithme Architecture – telle qu'adressée par
exemple par le GDR ISIS, Thème C [9] - avec pour objectif de définir une bonne architecture
overlay. Cette architecture embarquera des unités fonctionnelles produites par Augh. Elle
devra être dimensionnée avec soin pour permettre d’en minimiser le coût.

A terme, l’extraction automatique des paramètres critiques pour la conception de l’overlay, à
partir d’un jeu d’applications de référence permettra l’obtention d’une solution de bout en
bout.

L’ambition de ce travail est ainsi d'obtenir une solution :

   •   Pérenne (l'overlay est re-synthétisable sur tout FPGA)
   •   Performante (resynthèse sur les derniers FPGAs, adéquation aux applications)
   •   Permettant de virtualiser une plateforme hétérogène (une flotte de FPGAs
       hétérogènes) en une plateforme homogène et redimensionnable à façon (OVERLAY)
   •   Garantissant de préserver l’existant applicatif (aucun besoin de resynthétiser les
       applications)
La démonstration de l’approche pourra s’appuyer sur les moyens techniques présents dans les
deux laboratoires, et en particulier :

   -   un émulateur de circuits (120 millions de portes) en cours d’acquisition à l’ENSTA
       Bretagne dans le cadre du CPER Cyber –SSI de la région Bretagne, qui permettra
       d’évaluer différentes mise en œuvre d’un nœud overlay,
   -   un support de virtualisation massif (Hynesim) permettant de tester le passage à
       l’échelle des solutions proposées.

B. Cibles de publication

Les publications visées sont d’une part des workshops internationaux qui permettent d’avoir
un retour rapide sur le travail :

   -   Reconfigurable Architectures Workshop (RAW)
   -   Applied Reconfigurable Computing (ARC)

Mais aussi des conférences internationales ou symposia de très bon niveau et sélectifs tels
que :

   -   International Conference on Field-Programmable Logic and Applications (FPL)
   -   ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA)
   -   IEEE International Symposium on Programmable Custom Computing Machines
       (FCCM)
   -   International Conference on Field-Programmable Technology (FPT)

Et des revues comme :

   -   ACM Transactions on Reconfigurable Technology and Systems (TRETS)
   -   IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
       (TCAD)

   -   Journal of Systems Architecture (JSA)

C. Planning de la thèse

La première année sera répartie en une première étude de l’état de l’art (phase 1, environ 6
mois) et la prise en main des deux environnements logiciels développés dans les laboratoires
(phase 2). A l’issue de cette année, une première publication sera rédigée dont l’objectif sera
d’une part de former le doctorant à l’écriture scientifique, mais aussi de mettre en œuvre la
complémentarité des deux technologies pour produire un circuit sur FPGA. Cette publication
offrira cependant une première visibilité, même mesurée, des travaux. En particulier, on
cherchera à figer le cadre expérimental et méthodologique.

La deuxième année sera centrée sur l’articulation entre les environnements pour permettre la
définition d’un overlay gros grain encapsulant des IP issues de Augh (phase 3). Cela
nécessitera une identification préliminaire d’applications de référence. Cette étape donnera
lieu à une publication en conférence. Au cours de cette année la définition des critères de
l’architecture et une première corrélation entre ceux-ci et les caractéristiques des applications
seront proposées.

Au cours de la troisième année, une automatisation sera proposée pour permettre l’extraction
des paramètres utiles en fonction des applications (phase 4). Il faudra aussi réfléchir à la
généralisation de la méthode qui devra s’appliquer aux FPGAs actuels mais aussi aux
générations futures. Cette nouvelle contribution donnera lieu à une publication en conférence.

La phase 5 sera centrée sur une activité de rédaction. A la confluence des deux publications
en conférence, une publication sera soumise en revue ; elle intégrera des expérimentations
plus complètes, et un focus sur l’évolution des outils de programmation de l’overlay. Cet
ensemble de publications facilitera la rédaction de la thèse qui occupera les derniers mois de
la thèse.

D. Bibliographie

[1] A. Iordache, G. Pierre, P. Sanders, J. G. D. F. Coutinho and M. Stillwell, High
Performance in the Cloud with FPGA Groups, 2016 IEEE/ACM 9th International Conference
on Utility and Cloud Computing (UCC), Shanghai, 2016, pp. 1-10.

[2] S. Yazdanshenas and V. Betz, Quantifying and mitigating the costs of FPGA
virtualization, 2017 27th International Conference on Field Programmable Logic and
Applications (FPL), Ghent, 2017, pp. 1-7. doi: 10.23919/FPL.2017.8056807

[3] Amazon Web Services. Developing Cloud Scale FPGA Accelerations Using AWS F1.
Online : https://h2rc.cse.sc.edu/slides/amazon.pdf

[4] A. Brant and G. Lemieux. ZUMA: An open FPGA overlay architecture. In Field-
Programmable Custom Computing Machines (FCCM), 2012 IEEE 20th Annual International
Symposium on, pages 93–96, 2012.

[5] J. Coole and G. Stitt. Intermediate fabrics: Virtual architectures for circuit portability and
fast placement and routing. In Hardware/Software Codesign and System Synthesis
(CODES+ISSS), 2010 IEEE/ACM/IFIP International Conference on, pages 13–22, Oct 2010.

[6] J. Coole and G. Stitt. Adjustable-cost overlays for runtime compilation. In Field-
Programmable Custom Computing Machines (FCCM), 2015 IEEE 23rd Annual International
Symposium on, pages 21–24, May 2015.

[7] D. Koch, C. Beckhoff, and G. Lemieux. An efficient FPGA overlay for portable custom
instruction set extensions. In Field Programmable Logic and Applications (FPL), 2013 23rd
International Conference on, pages 1–8, Sept 2013.

[8] So H.KH., Liu C. (2016) FPGA Overlays. In: Koch D., Hannig F., Ziener D. (eds) FPGAs
for Software Programmers. Springer, Cham. DOIhttps://doi.org/10.1007/978-3-319-26408-
0_16

[9] GDR 720 ISIS (Information, Signal, Image et ViSion) Thème C –Algorithe-Architecture
en traitement du signal et des images. http://www.gdr-isis.fr/themes/theme-c.html
4. Antériorité de l’équipe

Comme énoncé précédemment, le doctorant s’appuiera sur une double expertise, présente au
sein des laboratoires respectifs des deux co-directeurs de thèse :

• La première (Augh), développée à TIMA consiste à outiller la synthèse FPGA de façon à
permettre l'extraction d'état lors l'exécution [A]. Cet Etat est ensuite ré-injecté à la demande,
éventuellement sur une autre cible FPGA implémentant la même architecture applicative.
Cela permet de migrer une tache entre plusieurs cibles technologiques, donc de faire évoluer
progressivement une flotte de cartes FPGA sans interruption de service. C'est une solution
très efficace [B] mais qui requiert de maitriser les différents flots de synthèse associés aux
différents FPGAs. Ces travaux correspondent à la thèse [T1].

• La seconde solution (Zeff), développée à l'ENSTA Bretagne - en partie sur des fonds MRIS
- consiste à synthétiser une même architecture reconfigurable sur différentes cibles FPGA [C].
Cette architecture, qualifiée d'overlay, permet une compatibilité binaire entre cibles
différentes, possède son propre outillage de synthèse, de monitoring et d'exploitation
(migration de tache, debug, équilibrage de charge, etc.) [D]. Il s'agit une solution très
générique, mais qui peut engendrer des surcoûts importants suivant la nature de l'overlay. Ces
travaux correspondent à la thèse [T2].

Publications de référence de l’équipe:

[A] A. Prost-Boucle, O. Muller, F. Rousseau, Fast and standalone Design Space Exploration
for High-Level Synthesis under resource constraints. In Journal of Systems Architecture -
Embedded Systems Design 60(1): 79-93 (2014)

[B] A. Bourge, O. Muller, F. Rousseau, Generating Efficient Context-Switch Capable Circuits
Through Autonomous Design Flow, In ACM Transactions on Reconfigurable Technology and
Systems, Vol. 10, Issue 1, art. 9, December 2016, http://dx.doi.org/10.1145/2996199.

[C] M. Najem, T. Bollengier, J-C. Le Lann, L. Lagadec, Extended overlay architectures for
heterogeneous FPGA cluster management. Journal of Systems Architecture - Embedded
Systems Design 78: 1-14 (2017)

[D] L. Lagadec, C. Teodorov, J.-C. Le Lann, D. Picard, E. Fabiani, Model-driven toolset for
embedded reconfigurable cores: Flexible prototyping and software-like debugging. Science of
Computer Programming Vol. 96: 156-174 (2014)

Thèses antérieures connexes :

[T1] Alban Bourge, « Changement de contexte matériel sur FPGA, entre équipements
reconfigurables et hétérogènes dans un environnement de calcul distribué », Nov. 2016.
http://theses.fr/2016GREAT068 - thèse TIMA

[T2] Théotime Bollengier, « Du Prototypage à l’Exploitation d’Overlays FPGA », Jan. 2018
Thèse ENSTA Bretagne
Vous pouvez aussi lire