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

Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH.

Présentations similaires


Présentation au sujet: "Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH."— Transcription de la présentation:

1 Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH CAIRN INRIA Rennes

2 Informations personnelles Doctorant (3 e année) : Université de Rennes 1 Équipe CAIRN Thèse: «Reconnaissance de motifs pour l'extension de jeux d'instructions de processeurs» Sous la direction de Christophe Wolinski Financement INRIA dans le cadre de NANO2012 (partenariat avec ST microeletronics) Antoine FLOCH - CAIRN - INRIA Rennes 1

3 Plan Contexte et problématique Techniques de sélection dinstructions spécialisées Sélection et ordonnancement simultané Conclusion et perspectives Antoine FLOCH - CAIRN - INRIA Rennes 2

4 Audio Systèmes multimédias embarqués Video Traitement de signal … … Contraintes fortes –Performances –Énergie –Surface –Temps de mise sur le marché Antoine FLOCH - CAIRN - INRIA Rennes 3

5 Du processeur au circuit dédié Antoine FLOCH - CAIRN - INRIA Rennes 4

6 Conception dASIP Adéquation ArchitectureOutils Algorithmes Antoine FLOCH - CAIRN - INRIA Rennes 5 « Application Specific Instruction-Set Processor »

7 Conception partielle Extension de jeu dinstructions Antoine FLOCH - CAIRN - INRIA Rennes 6 Performances Consommation Complique la compilation Exemple du NIOS II pour FPGA Altera Algorithmes coûteux… … acceptable dans le contexte dapplications embarquées

8 Conception partielle Flot simplifié: U n processeur généraliste Un compilateur adapté Seule lextension reste à définir Instructions spécialisées Comment les identifier ? Lesquelles sélectionner pour un programme donné ? La majorité des méthodes utilisent des graphes Regroupement de nœud => Instruction spécialisée Antoine FLOCH - CAIRN - INRIA Rennes 7

9 Exemple (DAG : chiffrement GOST) Antoine FLOCH - CAIRN - INRIA Rennes 8

10 Exemple (DAG : chiffrement GOST) Antoine FLOCH - CAIRN - INRIA Rennes 9

11 Plan Contexte et problématique Techniques de sélection dinstructions spécialisées Sélection et ordonnancement simultané Conclusion et perspectives Antoine FLOCH - CAIRN - INRIA Rennes 10

12 Sélection dinstructions spécialisées (État de lart) Deux approches possibles Partitionnement HW/SW Sélection doccurrences issus dune bibliothèque de motifs Pour plus dinformations : C. Galuzzi and K. Bertels, The Instruction-Set Extension Problem: A Survey, ACM Transactions on Reconfigurable Technology and Systems (TRETS), Vol. 4, Issue 2, June Antoine FLOCH - CAIRN - INRIA Rennes 11

13 Partitionnement Identifier les nœuds: Exécutés sur le cœur Exécutés sur lextension Heuristique itérative [Atasu05] A chaque itération: trouver le motif qui minimise le chemin critique du graphe MaxMISO [Galuzi06] Trouver les motifs MISO de tailles maximales Nombre dentrées limité Résolution ILP Antoine FLOCH - CAIRN - INRIA Rennes 12 MaxMISO 1 (4 in) MaxMISO 2 (3 in)

14 Sélection à partir dune bibliothèque Problème de couverture de graphe Bibliothèque de motifs Graphe à couvrir par ces motifs Problème doptimisation NP min (motifs sélectionnés) [Guo03] max (nœuds couverts) [Liao98] min (instances de motifs) ) [Scharw07] min (durée exécution)[Martin09,Floch10] min (dissipation énergie) min (consommation) min (taille de code)... Antoine FLOCH - CAIRN - INRIA Rennes 13

15 Plan Contexte et problématique Techniques de sélection dinstructions spécialisées Sélection et ordonnancement simultané Conclusion et perspectives Antoine FLOCH - CAIRN - INRIA Rennes 14

16 Lien entre la sélection et lordonnancement Antoine FLOCH - CAIRN - INRIA Rennes 15 Motif 1 Motif 2 2 Entrées / 1 Sortie Registres dans lextension

17 Lien entre la sélection et lordonnancement Antoine FLOCH - CAIRN - INRIA Rennes 16 Motif 1 Motif 2 3 Cycles 2 Entrées / 1 Sortie Registres dans lextension 3 Cycles Total = cycles

18 Lien entre la sélection et lordonnancement Antoine FLOCH - CAIRN - INRIA Rennes 17 Motif 1 Motif 2 1 Cycle 2 Entrées / 1 Sortie Registres dans lextension Total = 4 cycles 1 Cycle

19 Sélection dinstruction et ordonnancement simultané La sélection et lordonnancement Interdépendants Contraints par le partage des ressources Approche proposée Modéliser la sélection et lordonnancement dans un unique problème doptimisation Programmation par contraintes Utilisation dun solveur générique Contraintes globales particulièrement adaptées au partage de ressources Antoine FLOCH - CAIRN - INRIA Rennes 18

20 Programmation par contraintes Ensemble de variables à domaines finis Ensemble de contraintes Contrainte = relation entre variables unaire, binaire, ternaire n-aire (contrainte globale) Techniques de consistances: réduction des domaines des variables Antoine FLOCH - CAIRN - INRIA Rennes 19

21 Programmation par contraintes: exemple du sudoku Antoine FLOCH - CAIRN - INRIA Rennes 20 Pour chaque case Pour chaque ligne Pour chaque colonne Pour chaque sous-grille j i

22 Programmation par contraintes: exemple du sudoku Antoine FLOCH - CAIRN - INRIA Rennes 21 j i Consistance AllDiff de la colonne 1

23 Programmation par contraintes: exemple du sudoku Antoine FLOCH - CAIRN - INRIA Rennes 22 j i Consistance AllDiff de la ligne 2

24 Programmation par contraintes: exemple du sudoku Antoine FLOCH - CAIRN - INRIA Rennes 23 j i Consistance AllDiff de la première sous-grille

25 Programmation par contraintes Techniques de consistances : réduisent les domaines des variables Recherche dune solution Évaluation des variables non fixées Algorithme classique de séparation et évaluation Modification dune variable => appliquer les consistances des contraintes associées à cette variable Personnalisation/optimisation de la recherche Ordre de sélection des variables évaluées Parcours des domaines des variables évaluées Antoine FLOCH - CAIRN - INRIA Rennes 24

26 Problème de sélection et dordonnancement simultané Sélection Ordonnancement Architecture Antoine FLOCH - CAIRN - INRIA Rennes 25

27 Problème de sélection et dordonnancement simultané Recherche de toutes les occurrences de motifs dans le graphe Enoncer les contraintes (sélection, ordonnancement, architecture) Solveur: minimisation de la durée dexécution Bibliothèque de motifs Architecture cible Graphe à couvrir Graphe couvert et ordonnancé Antoine FLOCH - CAIRN - INRIA Rennes 26 M: ensemble des occurrences Problème CSP

28 Variables de sélection Un nœud est couvert par une seule occurrence de motif : identifiant de loccurrence sélectionnée pour le nœud n i Antoine FLOCH - CAIRN - INRIA Rennes 27

29 Contraintes de sélection Une occurrence sélectionnée couvre tous ses nœuds. Pour chaque occurrence : : indique si loccurrence est sélectionnée : nombre de nœuds couverts par loccurrence Antoine FLOCH - CAIRN - INRIA Rennes 28

30 Variables dordonnancement Pour chaque nœud : début de lexécution dun nœud : durée dun nœud Pour chaque occurrence : début de lexécution dune occurrence : durée dune occurrence n Antoine FLOCH - CAIRN - INRIA Rennes 29

31 Contraintes dordonnancement Les nœuds dune même occurrence sont ordonnancés simultanément Respect des dépendances de données If () then Antoine FLOCH - CAIRN - INRIA Rennes 30

32 Architecture cible Partage du cœur Envoi/récupération des données vers lextension Lancement de lexécution de motifs sur lextension Exécution dinstructions standard Partage de lextension Un seul motif à la fois Antoine FLOCH - CAIRN - INRIA Rennes 31 NIOS2 dAltera

33 Scénario dordonnancement Antoine FLOCH - CAIRN - INRIA Rennes 32 m1 m2 m3 Cycle 1

34 Antoine FLOCH - CAIRN - INRIA Rennes 33 m1 m2 m3 m1 Cycle 2 Scénario dordonnancement

35 Antoine FLOCH - CAIRN - INRIA Rennes 34 m1 m2 m3 Cycle 3 Scénario dordonnancement

36 Antoine FLOCH - CAIRN - INRIA Rennes 35 m1 m2 m3 Cycle 4 Scénario dordonnancement

37 Antoine FLOCH - CAIRN - INRIA Rennes 36 m1 m2 m3 m2 Cycle 5 Scénario dordonnancement

38 Antoine FLOCH - CAIRN - INRIA Rennes 37 m1 m2 m3 Cycle 6 Scénario dordonnancement

39 Antoine FLOCH - CAIRN - INRIA Rennes 38 m1 m2 m3 Cycle 7 m3 Scénario dordonnancement

40 Partage de lextension Antoine FLOCH - CAIRN - INRIA Rennes 39 mkmk din et dout varient en fonction des sources/destinations de loccurrence (extension ou cœur) m1m1 m2m2 Contrainte globale de partage Traitement dune occurrence

41 Partage du cœur Antoine FLOCH - CAIRN - INRIA Rennes 40 m in m XmXm out m + Extension Cœur cycles dexec m

42 Résultats Antoine FLOCH - CAIRN - INRIA Rennes 41

43 Plan Contexte et problématique Techniques de sélection dinstructions spécialisées Sélection et ordonnancement simultané Conclusion et perspectives Antoine FLOCH - CAIRN - INRIA Rennes 42

44 Flot de conception ASIP ASIP : utiliser une extension matérielle pour accélérer une famille dapplications Gain en performances => complexité du couple compilateur/concepteur Dans le cas de systèmes embarqués, le temps de compilation dapplications critiques nest pas un problème Antoine FLOCH - CAIRN - INRIA Rennes 43

45 Sélection des instruction spécialisées La sélection et lordonnancement sous contraintes de ressources : interdépendants La programmation par contraintes Formalisme permettant de modéliser lensemble des contraintes dans un unique problème doptimisation Laspect modulaire facilite lexploration du triangle dadéquation (algorithme/outil/architecture) Heuristiques: résoudre des problèmes de taille importante sans changer le modèle de contraintes Antoine FLOCH - CAIRN - INRIA Rennes 44

46 Travaux en cours Collaboration avec Steven Derrien (CAIRN) et Sanjay Rajopadhye (Mélange-CSU) dans le cadre de léquipe associée LRS Il existe des interactions fortes entre les transformations de nids de boucles et la sélection dinstructions Exploration des ordonnancements polyédriques légaux dans le contexte ASIP embarqué Connaissance fine du couple architecture/compilateur Contraintes non linéaires pour réduire lespace de recherche ? Exploration coûteuse moins problématique Fusion/distribution + ordo de « statements » (style Pluto/POCC) à une granularité plus fine Faire apparaître des motifs pertinents Déporter des données sur lextension Antoine FLOCH - CAIRN - INRIA Rennes 45

47 Références [Atasu05] K. Atasu, G. Dundar, and C. O ̈ zturan. An integer linear programming approach for identifying instruction-set extensions. In CODES+ISSS 05: Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pages 172–177, New York, NY, USA, ACM. [Galuzzi11] C. Galuzzi and K. Bertels, The Instruction-Set Extension Problem: A Survey, ACM Transactions on Reconfigurable Technology and Systems (TRETS), Vol. 4, Issue 2, June 2011 [Galuzi06] C. Galuzzi, E. M. Panainte, Y. Yankova, K. Bertels, and S. Vassiliadis. Automatic selection of application- specific instruction-set extensions. In CODES+ISSS 06: Proceedings of the 4th international conference on Hardware/software codesign and system synthesis, pages 160–165, New York, NY, USA, ACM. [Guo03] Y. Guo, G. J. Smit, H. Broersma, and P. M. Heysters. A graph covering algorithm for a coarse grain reconfigurable system. In LCTES 03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems, pages 199–208, New York, NY, USA, ACM. Antoine FLOCH - CAIRN - INRIA Rennes 46

48 [Liao98] [Scharw07] [Martin09] K. Martin, C. Wolinski, K. Kuchcinski, A. Floch, and F. Charot. Constraint-driven instructions selection and application scheduling in the durase system. In ASAP th IEEE International Conference on Application-specific Systems, Architectures and Processors, [Floch10] A. Floch, C. Wolinski, and K. Kuchcinski. Combined scheduling and instruction selection for processors with reconfigurable cell fabric. In Application- specific Systems Architectures and Processors (ASAP), st IEEE International Conference on, pages 167 –174, Antoine FLOCH - CAIRN - INRIA Rennes 47

49 Antoine FLOCH - CAIRN - INRIA Rennes 48

50 Initial problem state Element constraint Relationship between a variable and an array of variables X[]: variables array I : index variable Y: another variable I = 2 V1 V2 V3 V4 V5 X[] I Y= V2 = {0..2} Y=X[I] A solving state

51 DIFF2 DIFF2(R1,R2,R3) No overlapping


Télécharger ppt "Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés Journées compilation – Dinard, 28 Avril 2011 Antoine FLOCH."

Présentations similaires


Annonces Google