La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Exploration de l’espace de conception des architectures reconfigurables Lilian Bossuet Soutenance de Thèse de Doctorat, Université de Bretagne Sud Laboratoire.

Présentations similaires


Présentation au sujet: "Exploration de l’espace de conception des architectures reconfigurables Lilian Bossuet Soutenance de Thèse de Doctorat, Université de Bretagne Sud Laboratoire."— Transcription de la présentation:

1 Exploration de l’espace de conception des architectures reconfigurables
Lilian Bossuet Soutenance de Thèse de Doctorat, Université de Bretagne Sud Laboratoire d’Électronique des Systèmes Temps Réels Amphithéâtre de l’IUP de Lorient, Vendredi 10 septembre 2004

2 Plan Besoin de flexibilité ? Solution matérielle reconfigurable !
Contribution et positionnement des travaux Spécifications des applications et des architectures Méthode de projection architecturale Méthode d’exploration architecturale Applications Conclusion, perspectives et bilan

3 Besoin de flexibilité ? Radio Logicielle Protection des réseaux
différentes normes différents opérateurs interopérabilité évolution des services adaptation à l’environnement Protection des réseaux évolution des attaques évolution des protections mise à jour

4 Plate-forme et flexibilité
Solution logicielle Solution matérielle dédiée ASIC 1 ASIC 2 ASIC 3 Solution performante mémoires instructions données entrée 1 entrée 2 entrée 1 entrée 2 Solution flexible entrée 1 entrée 2 entrée 1 entrée 2 REG REG REG Banc de registres REG ALU µP sortie Solution matérielle reconfigurable Architecture Reconfigurable Configuration 4 Configuration 2 Configuration 1 Configuration 3

5 Solution matérielle reconfigurable
architecture logique 1 configuration 1 application 1 configuration architecture logique 2 configuration 2 application 2 architecture physique reconfigurable éléments configurables de calculs et mémoires réseaux configurables de connexions reconfiguration

6 Système reconfigurable sur puce (R-SOC)
Soutenance de Thèse - Lilian Bossuet Vendredi 10 septembre 2004 Système reconfigurable sur puce (R-SOC) ? ? ? RSOC Unversité de Bretagne Sud - LESTER

7 Plan Contribution et positionnement des travaux
Besoin de flexibilité ? Solution matérielle reconfigurable ! Contribution et positionnement des travaux Spécifications des applications et des architectures Méthode de projection architecturale Méthode d’exploration architecturale Applications Conclusion, perspectives et bilan

8 Espace d’exploration : 3 dimensions
ALU cible architecturale FPGA gros grain grain fin exploration architecturale cible architecturale FPGA gros grain ALU exploration algorithmique architecturale cible architecturale FPGA gros grain

9 Positionnement d’outils d’exploration
domaine 1 domaine 2 domaine 3 famille Enzler 2000 Institut Technologique Fédéral de Suisse E.T.H. Choi 2002 Université de Caroline Sud USA famille parallélisme pipeline Enzler 2000 Institut Technologique Fédéral de Suisse E.T.H. cible architecturale cible architecturale routage taille LUT taille cluster VPR Betz 1997 Université de Toronto Canada Lagadec 2001 UBO France MADEO-BET VPR Betz 1997 Université de Toronto Canada routage taille élément taille cluster gros grain gros grain FPGA exploration architecturale FPGA exploration architecturale Précision des estimations + - + - largeur de l’espace de conception exploration algorithmique exploration algorithmique cible architecturale ordonnancement parallélisme déroulage Le Moullec 2003 LESTER Bossuet 2004 Bilavarn 2002 taille des éléments fonctions taille des clusters répartition hiérarchique cible architecturale DESIGN TROTTER LESTER Bossuet 2004 Bilavarn 2002 Le Moullec 2003 taille des éléments fonctions taille des clusters répartition hiérarchique LESTER Bossuet 2004 Bilavarn 2002 config Moritz 1998 M.I.T. USA KressArray Nageldinger 1997 Université de Kaiserlautern Allemagne Raw famille LESTER Bilavarn 2002 gros grain gros grain FPGA exploration architecturale FPGA exploration architecturale exploration algorithmique exploration algorithmique

10 Environnement Design Trotter
Spécification de l’application langage C Nombre Réalisation matérielle parallèle ESTIMATION SYSTEME Y. Le Moullec ressources Parser HCDFG mul sous Réalisation logicielle séquentielle 5 add 4 ram ( read ) Courbes de compromis ressources vs cycles 3 ram ( write ) 2 rom 1 4 5 6 7 8 9 10 cycles PROJECTION MATERIELLE S. Bilavarn 116 Cellules Logiques 1 RAM 0 lignes 3 états 24 Entrées/Sorties Th = 5 ns Tex = 30 ns XCV400EPQ240 FPGA Librairie estimations précises Architecture modélisée ARCHITECTURALE L. Bossuet estimation taux d’occupation distribution des communications

11 Plan Spécifications des applications et des architectures
Besoin de flexibilité ? Solution matérielle reconfigurable ! Contribution et positionnement des travaux Spécifications des applications et des architectures Méthode de projection architecturale Méthode d’exploration architecturale Applications Conclusion, perspectives et bilan 1 Spécifications Applications et Architectures 3 2 Exploration Projection Architecturale Architecturale

12 Spécification des applications : exemple, DCT-1D
Graphe flot de données Choix d’un ordonnancement informations nécessaires ??? Nombre ressources mul sous 5 add 4 ram(read) 3 ram(write) 2 rom 1 4 5 6 7 8 9 10 cycles 4 multiplieurs 4 soustracteurs 3 additionneurs largeur mémoire

13 Les communications au cœur de la spécification
D’après des études sur la consommation de puissance des ressources d’architectures à grain fin (LESTER, Univ Princeton, ...) Répartition de la consommation de puissance : Ce sont les ressources de routage qui consomment le plus de puissance ! E/S LOGIQUE ROUTAGE

14 Réduire l’impact du routage ? Sources : LESTER, Univ Princeton, ...
Conclusion : rapprocher physiquement les ressources qui communiquent le plus longue 3% longueur longue triple 23% 20% locale 31% locale 46% longueur triple longueur 21% double longueur 31% double 25% Utilisation moyenne des ressources de routage Part de la consommation des ressources de routage

15 ACG : mise en évidence des communications
4 multiplieurs 4 soustracteurs 3 additionneurs largeur mémoire TRANSFORMATION ACG Nombre d’opérateurs (ordonnancement) Nœuds Traitements Mémoires (4) - Nombre de communications 20 8 (4) × 14 + (3) 3 5 3 C[0••7] Y[0••7] 8 8 X[0••7]

16 Modélisation fonctionnelle des architectures
Modélisation possible d’un large spectre d’architectures grain fin, gros grain, hétérogène indépendante de la technologie Utilisation d’une vue fonctionnelle de l’architecture les ressources sont décrites par les fonctions qu’elles réalisent La modélisation hiérarchique à deux types d’éléments Les éléments hiérarchiques sont utilisés pour modéliser le routage et la hiérarchie de l’architecture Les éléments fonctionnels sont utilisés pour modéliser les ressources de traitements et de mémorisation de l’architecture Elément Hiérarchique nombre d’éléments contenus liste des éléments contenus nombre nom et ID Elément Fonctionnel nom et ID liste des opérations réalisables liste des mémorisations réalisables nombre

17 Modélisation fonctionnelle : exemple
Cas d'une architecture gros grain hiérarchique (Chameleon) Élément Hiérarchique Élément Fonctionnel H0 Unité de traitement H2 H1 H1 H1 Mémoire Locale Unité de traitement H2 H2 H2 Unité de traitement Mémoire Locale Mul Mul H2 H2 H2 H2 H2 H2 H2 H2 H2 3 Éléments hiérarchiques HO = H1*3 H1 = H2*3 H2 = F0*2 + F2*3 + F2*2 + F3 3 Éléments fonctionnels FO => Unité mémoire F1 => Unité de traitement F2 => Mul H2 H2 H2

18 Modélisation fonctionnelle : exemple
Cas d'une architecture gros grain hiérarchique (Chameleon) représentation grammaticale H0 H2 H1 H1 H1 Mémoire Unité de traitement Locale Unité de traitement H2 H2 H2 Mémoire Unité de traitement Locale Mul Mul H2 H2 H2 H2 H2 H2 H2 H2 H2 H2 H2 H2 <MODEL> Chameleon <HIERARCHICAL> H0 <ATTRIBUTES> ID:=1 number:=1 h_number:=1 f_number:=0 <ELEMENT> element_1:=2 /* H1 */ <ENDELEMENT> <ENDATTRIBUTES> <ENDHIERARCHICAL> <HIERARCHICAL> H1 ID:=2 number:=4 element_1:= 3 /* H2 */ <HIERARCHICAL> H2 ID:=3 number:=3 h_number:=0 f_number:=3 element_1:= 4 /* F0 */ element_2:= 5 /* F1 */ element_3:= 6 /* F2 */ <FUNCTIONAL> F0 ID:=4 number:=2 <MEMORY> m1 RAM <ENDMEMORY> <ENDFUNCTIONAL> <FUNCTIONAL> F1 ID:=5 <OPERATOR> f1 ALU 32 <ENDOPERATOR> <FUNCTIONAL> F2 ID:=6 f1 MUL_S 16 <ENDMODEL> Chameleon

19 Plan Méthode de projection architecturale
Besoin de flexibilité ? Solution matérielle reconfigurable ! Contribution et positionnement des travaux Spécifications des applications et des architectures Méthode de projection architecturale Méthode d’exploration architecturale Applications Conclusion, perspectives et bilan 1 Spécifications Applications et Architectures 3 2 Exploration Projection Architecturale Architecturale

20 Projection architecturale
Faire une projection de l’ACG de l’application sur le modèle de l’architecture spécifiée Stratégie : émuler les outils de CAO en rapprochant hiérarchiquement les opérateurs et mémoires qui communiquent le plus Estimations : répartition des communications dans l’architecture regroupement hiérarchique des opérateurs et des mémoires taux d’utilisation des ressources de l’architecture - + × 20 14 8 (4) (3) C[0••7] Y[0••7] 5 3 X[0••7] PROJECTION

21 Projection architecturale favoriser la localité hiérarchique
nœuds mémoires (m) (n) x (1) y z Nœuds les plus communicants +/- H2 RAM Taille A Taille B Compatibilité des nœuds, réalisation hiérarchique a) b) c) (m-1) (n-1) ? - + - + A + A B Regroupement des nœuds, création du nœud composite composites traitements A B

22 Projection architecturale proposer un intervalle d’estimations
Niveau d’abstraction élevé application : HCDFG architecture : modélisation fonctionnelle Utilisation de trois algorithmes rapides algorithme minimum algorithme intermédiaire algorithme maximum Résultat de l'estimation architecture C architecture B Résultat de l’outil de synthèse architecture A Coût de communication

23 Projection architecturale : les trois algorithmes
+ × 9.33 5.33 (1) × – 20 7.33 MINIMUM L’algorithme minimum considère que toutes les communications entre x et - se font dans le nœud composite ACG initial (1) + × 14 20 8 (2) + × 9.33 5.33 (1) × – 10 7.33 INTERMEDIAIRE L’algorithme intermédiaire privilégie les communications entre x et - au niveau du nœud composite + × 7 4 (1) × – 5 11 MAXIMUM L’algorithme maximum répartie uniformément les communications sans prendre en compte la spécificité du nœud composite

24 Algorithme Minimum Exemple
(1) + × 14 20 8 (2) étape 1 début Modifications de l’ACG Modifications de l’architecture H1 +/- H2 élément fonctionnel non utilisé élément fonctionnel utilisé A chaque étape un nouveau nœud composite est créé Les éléments fonctionnels sont successivement alloués Le processus se termine lorsqu’il ne reste que des nœuds composites A la fin du processus il est possible de calculer le nombre de communications dans les éléments hiérarchiques H1 et H2 + × 9.33 5.33 (1) × – 20 7.33 étape 2 H1 +/- H2 - 5.33 (1) × – 20 × + 9.33 7.33 étape 3 H1 +/- × + H2 - × – 20 × + 14.66 7.33 étape 4 fin H1 +/- × + - H2 Nc H2 : 34,66 Nc H1 : 7,33

25 Algorithme Intermédiaire
Algorithme Maximum Modifications de l’ACG Modifications de l’architecture Modifications de l’ACG Modifications de l’architecture (1) (1) + + 14 8 14 8 +/- +/- +/- +/- +/- +/- +/- +/- étape 1 × étape 1 (2) × (2) (2) (2) début début × × × × H2 H2 H2 H2 H1 H1 20 20 (1) (1) + + 9.33 5.33 7 4 - +/- +/- +/- 11 - +/- +/- +/- étape 2 7.33 étape 2 × 10 × 5 (1) (1) × × (1) (1) × × H2 H2 H2 H2 H1 × – H1 × – 5 5 10 5 5 14.66 × – (1) × 10 - +/- + +/- - + +/- +/- étape 3 étape 3 (1) × (1) 7.33 × × × × H2 H2 × – H2 H2 ×+ – H1 12 9 H1 10 16 × – + × 24.66 5 étape 4 - +/- + - étape 4 - + - +/- fin 7.33 fin 21 × × × × × – H2 H2 H2 ×+ – H2 H1 H1 10 16 Nc H2 : 34,66 Nc H1 : 7,33 Nc H2 : 21 Nc H1 : 21

26 De la projection à l’exploration architecturale
ACG Architecture modélisée (4) - 20 8 PROJECTION ARCHITECTURALE 14 (4) × + (3) 3 5 3 C[0 7] Y[0 7] •• •• 8 8 X[0 7] •• niveau 1 69% niveau 2 10% niveau 3 21% Estimation du taux d’occupation Estimations de la distribution hiérarchique des communications 58% 25% 17% 41% 35% 24% minimum intermédiaire maximum EXPLORATION ARCHITECTURALE

27 Plan Méthode d’exploration architecturale
Besoin de flexibilité ? Solution matérielle reconfigurable ! Contribution et positionnement des travaux Spécifications des applications et des architectures Méthode de projection architecturale Méthode d’exploration architecturale Applications Conclusion, perspectives et bilan 1 Spécifications Applications et Architectures 3 2 Exploration Projection Architecturale Architecturale

28 Flot d’exploration architecturale
Spécification HCDFG des ESTIMATION SYSTEME fonctions de l’application F6 F5 F4 Choix des fonctions critiques F3 F2 Spécification des architectures F1 Architecture Modélisée n°1 Projection architecturale Exploration architecture Fonctions critiques de l’application Choix d’une architecture commune Estimation pour l’application communications & taux d’utilisation Architecture choisie

29 Localité des communications
Nombre de ressources de traitement F2 est plus critique que F1 pour la localité des communications si et seulement si : On peut faire la même chose avec le nombre de ressources mémoires Nress1 F1 Aire critique il y a en moyenne de nombreuses communications pour peu de ressources Nress2 F2 Ncomm1 Ncomm2 Nombre de communications

30 Méthodologie d’exploration architecturale
Soutenance de Thèse - Lilian Bossuet Vendredi 10 septembre 2004 Méthodologie d’exploration architecturale Nombre d’éléments fonctionnels Taille des clusters Taille mémoire Choix des clusters Taux d’utilisation Choix compromis Étude de l’ACG Sur la ou les fonctions critiques de l’application Sur l’ensemble des fonctions de l’application Point d’arrivée Point de départ Taille des clusters Taille des mémoires Unversité de Bretagne Sud - LESTER

31 Plan Besoin de flexibilité ? Solution matérielle reconfigurable ! Contribution et positionnement des travaux Spécifications des applications et des architectures Méthodes de projection architecturale Méthodes d’exploration architecturale Applications Conclusion, perspectives et bilan

32 ICAM : Intelligent CAMera - LIST CEA
Détection de mouvement par différence d’intensité et mise à jour de l’image de fond Applications gestion du flux automobile mouvement de foule (métro)

33 ICAM : fonctions critiques
Plan de criticité selon la Localité spatiale des communications Plan de criticité selon la congestion temporelle des ressources communications envelop testGravité reconstDilat etiquet errorBin nombre de ressources gethistogram nombre de cycles add sub div absolute thresholdAdapt convolveTabHisto nombre de communications nombre de communications histoThershold setvalue

34 ICAM : étude de l’ACG Étude de l’ACG Taille mémoire Choix des clusters Répartition des communications dans la fonction testGravité 50.3 % mémoires <--> mémoires 32.9 % comparateurs <--> mémoires 16.4% comparateurs <--> logiques 0.2 % add/sous <--> mémoires 0.1 % add/sous <--> mul/div 0.1 % mul/div <--> mémoires Deux types de cluster comparateurs + logiques + mémoires add/sous + mul/div + mémoires Taille des clusters Taux d’utilisation Choix compromis Hniveau3 Hniveau2 cluster1 +/- ×/÷ 20*16 cluster2 L CP C1 C2 <- Niveau 1 ->

35 ICAM : exploration taille mémoire
Choix des clusters Taille des clusters Taux d’utilisation Choix compromis Étude de l’ACG Étude de l’ACG Taille mémoire cluster 1 57 % des communications au niveau 1 56 55 54 1 * 20 2 * 20 3 * 20 4 * 20 taille de l'élément mémoire cluster 2 57 56 % des communications au niveau 1 55 54 1 * 20 2 * 20 3 * 20 4 * 20 taille de l'élément mémoire

36 ICAM : choix des clusters
Taille mémoire Choix des clusters Taille des clusters Taux d’utilisation Choix compromis Étude de l’ACG Étude de l’ACG 59 58 % des communications 57 56 55 {1 COMP, 1 LOGIC} {1 ADD, 1 MUL} {2 COMP, 1 LOGIC} {1 ADD, 1 MUL} {2 COMP, 1 LOGIC} {2 ADD, 1 MUL} {4 COMP, 1 LOGIC} {1 ADD, 1 MUL} {4 COMP, 1 LOGIC} {2 ADD, 1 MUL} {6 COMP, 1 LOGIC} {1 ADD, 1 MUL} {6 COMP, 1 LOGIC} {2 ADD, 1 MUL}

37 ICAM : tailles des clusters
Taille mémoire Choix des clusters Taille des clusters Taux d’utilisation Choix compromis Étude de l’ACG Étude de l’ACG 100% 80% 60% % des communications 40% 20% 0% ++ niveau 3 4 cluster 2 6 cluster 2 8 cluster 2 10 cluster 2 Coût des communications + niveau 2 100% 80% 60% - niveau 1 % des communications 40% 20% 0% 4 cluster 1 6 cluster 1 8 cluster 1 10 cluster 1

38 ICAM : Choix final niveau 3 Hniveau3={28 Hniveau2 } niveau 2
Taille mémoire Choix des clusters Taille des clusters Taux d’utilisation Choix compromis Étude de l’ACG Étude de l’ACG Hn2 Hniveau3 niveau 3 Hniveau3={28 Hniveau2 } Hniveau2 C1 C2 C3 niveau 2 Hn2 Hniveau2={5C1, 9C2, C3} cluster1 ×/÷ 20*16 +/- cluster2 CP L cluster3 35536 niveau 1 C1 C2 C3 Gros grain Grain fin Mémoire 98,50% 96,10% 36,70% 70,10% ADD/SUB MUL/DIV COMP LOGIC Taux d’utilisation des ressources de l’architecture pour l’application complète

39 ICAM : Distribution des communications
0% 20% 40% 60% 80% 100% histoThershold testGravité gethistogram etiquet envelop dilatBin reconstDilat errorBin % des communications niveau 1 37% niveau 3 28% niveau 2 35% niveau 1 58% niveau 3 25% niveau 2 17% 41% 35% 24% testGravité envelop niveau 1 57% niveau 3 13% niveau 2 30% Distribution avec des clusters de grande taille: cluster 1 : 20 add/sous, 10 mul, 5 mem cluster 2 : 21 comp, 12 log, 6 mem

40 ICAM : Conclusion Définition d’une architecture
un cluster gros grain un cluster grain fin un cluster mémoire (image) cluster de niveau 2 de grande taille Autres applications de traitement d’images compression Matching Pursuit (décodage) compression norme MPEG-2 (codeur) Définition d’un type d’architecture adapté au domaine du traitement d’images

41 AES : Advanced Encryption Standard
Algorithme de chiffrement par blocs à clé secrète 10 rounds sans générateur de clefs Architecture résultat de l’exploration : Hn2 niveau 3 Hniveau3={4 Hniveau2 } Hniveau3 niveau 2 Hniveau2={4C1} Hniveau2 C1 Hn2 cluster1 RAM ×/÷ +/- CP L niveau 1 Gros grain Grain fin Mémoire C1

42 AES : Résultats Architecture traitement image
niveau 3 21% 68,80% 100% 93,80% ADD/SUB MUL/DIV COMP LOGIC niveau 2 10% niveau 1 69% Taux d’utilisation des ressources de l’architecture Répartition des communications niveau 1 50% niveau 2 14% niveau 3 36% Architecture traitement image diminution de 19% au niveau 1 augmentation de 15% au niveau 3

43 Applications : conclusion
Possibilité de définir des architectures par domaine d’applications Proposer des architectures avec des "zones" adaptées à des parties d’une application Intervalles de résultat % des communications au plus bas niveau de hiérarchie (niveau 1) 100% 80% 60% 40% 20% 0% ICAM MPEG Matching AES MAX 19% 62% 30% 60% MIN 66% 98% 58% 90% INTER 37% 63% 37% 69%

44 Plan Conclusion, perspectives et bilan
Besoin de flexibilité ? Solution matérielle reconfigurable ! Contribution et positionnement des travaux Spécifications des applications et des architectures Méthode de projection architecturale Méthode d’exploration architecturale Applications Conclusion, perspectives et bilan

45 Conclusion Principales contributions
Mise en évidence de l’impact des communications sur les performances des architectures reconfigurables Développement d’un outil d’estimation de l’adéquation architecture/application Définition d’une méthodologie d’exploration architecturale Réduction significative du fossé entre la description algorithmique des applications et la définition des architectures reconfigurables par une approche originale intervenant dès les phases de spécification algorithmique visant un large espace de conception architecturale convergeant rapidement vers une solution efficace Identification de motifs architecturaux adaptés à des domaines d’applications

46 Perspectives Intégration de l’approche au sein d’un flot de conception complet renforcement du lien avec l’outil MADEO spécialisation de la modélisation pour des architectures spécifiques (Systolic Ring, aSoC) prise en compte de la reconfiguration dynamique Développement d’un Générateur Automatique d’Architecture Reconfigurable (après GAUT, GAAR ?) basé sur une approche logique floue Proposition d’architectures reconfigurables à multi-granularités adaptées à des domaines émergents à spécifications mouvantes architectures reconfigurables sécurisées architectures reconfigurables pour la radio logicielle

47 Bilan des travaux de thèse
Publications 6 conférences internationales dont 5 IEEE 3 conférences nationales 1 article pour la revue IEEE Transaction on Computer Aided Design en révision 1 article à paraître dans la revue International Journal of Embedded Systems,Inderscience Publishers Collaborations Internationale : Université du Massachusetts - VSPG Nationale : Université de Bretagne Occidentale - A&S En projet : Université de Montpellier - LIRMM Enseignements Cours : Architecture, Conception et Utilisation des FPGA (ENS Cachan et DEA électronique UBS) TP/ TD initiation aux FPGA Xilinx (licence GEII IUP Lorient)

48 Soutenance de Thèse - Lilian Bossuet lilian.bossuet@univ-ubs.fr
Vendredi 10 septembre 2004 Merci, Questions ... Unversité de Bretagne Sud - LESTER


Télécharger ppt "Exploration de l’espace de conception des architectures reconfigurables Lilian Bossuet Soutenance de Thèse de Doctorat, Université de Bretagne Sud Laboratoire."

Présentations similaires


Annonces Google