1 / 51

Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés

Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés. Journées compilation – Dinard, 28 Avril 2011. Antoine FLOC’H CAIRN INRIA Rennes. a ntoine.floch@irisa.fr. Informations personnelles. Doctorant (3 e année) : U niversité de Rennes 1

wilda
Download Presentation

Sélection et ordonnancement parallèle simultanés pour la conception de processeurs spécialisés

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 FLOC’H CAIRN INRIA Rennes antoine.floch@irisa.fr

  2. Antoine FLOC’H - CAIRN - INRIA Rennes Informations personnelles • Doctorant (3e 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)

  3. Antoine FLOC’H - CAIRN - INRIA Rennes Plan • Contexte et problématique • Techniques de sélection d’instructions spécialisées • Sélection et ordonnancement simultané • Conclusion et perspectives

  4. Antoine FLOC’H - CAIRN - INRIA Rennes Systèmes multimédias embarqués … Traitement de signal Contraintes fortes • Performances • Énergie • Surface • Temps de mise sur le marché … Audio Video

  5. Antoine FLOC’H - CAIRN - INRIA Rennes Du processeur au circuit dédié

  6. Antoine FLOC’H - CAIRN - INRIA Rennes Conception d’ASIP « Application Specific Instruction-Set Processor » Algorithmes Adéquation Architecture Outils

  7. Antoine FLOC’H - CAIRN - INRIA Rennes Conception partielle Performances Consommation • Extension de jeu d’instructions Complique la compilation Algorithmes coûteux… … acceptable dans le contexte d’applications embarquées Exemple du NIOS II pour FPGA Altera

  8. Antoine FLOC’H - CAIRN - INRIA Rennes Conception partielle • Flot simplifié: • Un processeur généraliste • Un compilateur adapté • Seule l’extension 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

  9. Antoine FLOC’H - CAIRN - INRIA Rennes Exemple (DAG : chiffrement GOST)

  10. Antoine FLOC’H - CAIRN - INRIA Rennes Exemple (DAG : chiffrement GOST)

  11. Antoine FLOC’H - CAIRN - INRIA Rennes Plan • Contexte et problématique • Techniques de sélection d’instructions spécialisées • Sélection et ordonnancement simultané • Conclusion et perspectives

  12. Antoine FLOC’H - CAIRN - INRIA Rennes Sélection d’instructions spécialisées(État de l’art) • Deux approches possibles • Partitionnement HW/SW • Sélection d’occurrences issus d’une bibliothèque de motifs • Pour plus d’informations : C. Galuzzi and K. Bertels, The Instruction-Set Extension Problem: A Survey, ACM Transactions on Reconfigurable Technology and Systems (TRETS), Vol. 4, Issue 2, June2011 http://ce.et.tudelft.nl/~carlo/

  13. Antoine FLOC’H - CAIRN - INRIA Rennes Partitionnement • Identifier les nœuds: • Exécutés sur le cœur • Exécutés sur l’extension • 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 d’entrées limité • Résolution ILP MaxMISO 2 (3 in) MaxMISO 1 (4 in)

  14. Antoine FLOC’H - CAIRN - INRIA Rennes Sélection à partir d’une bibliothèque • Problème de couverture de graphe • Bibliothèque de motifs • Graphe à couvrir par ces motifs • Problème d’optimisation 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) • ...

  15. Antoine FLOC’H - CAIRN - INRIA Rennes Plan • Contexte et problématique • Techniques de sélection d’instructions spécialisées • Sélection et ordonnancement simultané • Conclusion et perspectives

  16. Antoine FLOC’H - CAIRN - INRIA Rennes Lien entre la sélection et l’ordonnancement 2 Entrées / 1 Sortie Registres dans l’extension Motif 2 Motif 1

  17. Antoine FLOC’H - CAIRN - INRIA Rennes Lien entre la sélection et l’ordonnancement 3 Cycles 3 Cycles Total = 3 + 3 + 1 cycles 2 Entrées / 1 Sortie Registres dans l’extension Motif 2 Motif 1

  18. Antoine FLOC’H - CAIRN - INRIA Rennes Lien entre la sélection et l’ordonnancement 1 Cycle 1 Cycle 1 Cycle 1 Cycle Total = 4 cycles 2 Entrées / 1 Sortie Registres dans l’extension Motif 2 Motif 1

  19. Antoine FLOC’H - CAIRN - INRIA Rennes Sélection d’instruction et ordonnancement simultané • La sélection et l’ordonnancement • Interdépendants • Contraints par le partage des ressources • Approche proposée • Modéliser la sélection et l’ordonnancement dans un unique problème d’optimisation • Programmation par contraintes • Utilisation d’un solveur générique • Contraintes globales particulièrement adaptées au partage de ressources

  20. Antoine FLOC’H - CAIRN - INRIA Rennes 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

  21. Antoine FLOC’H - CAIRN - INRIA Rennes Programmation par contraintes: exemple du sudoku • Pour chaque case • Pour chaque ligne • Pour chaque colonne • Pour chaque sous-grille j i

  22. Antoine FLOC’H - CAIRN - INRIA Rennes Programmation par contraintes: exemple du sudoku j Consistance AllDiff de la colonne 1 i

  23. Antoine FLOC’H - CAIRN - INRIA Rennes Programmation par contraintes: exemple du sudoku j Consistance AllDiff de la ligne 2 i

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

  25. Antoine FLOC’H - CAIRN - INRIA Rennes Programmation par contraintes • Techniques de consistances : réduisent les domaines des variables • Recherche d’une solution • Évaluation des variables non fixées • Algorithme classique de séparation et évaluation • Modification d’une 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

  26. Antoine FLOC’H - CAIRN - INRIA Rennes Problème de sélection et d’ordonnancement simultané Sélection Architecture Ordonnancement

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

  28. Antoine FLOC’H - CAIRN - INRIA Rennes Variables de sélection Un nœud est couvert par une seule occurrence de motif • : identifiant de l’occurrence sélectionnée pour le nœud ni

  29. Antoine FLOC’H - CAIRN - INRIA Rennes Contraintes de sélection Une occurrence sélectionnée couvre tous ses nœuds. Pour chaque occurrence : • : indique si l’occurrence est sélectionnée • : nombre de nœuds couverts par l’occurrence

  30. Antoine FLOC’H - CAIRN - INRIA Rennes Variables d’ordonnancement • Pour chaque nœud • : début de l’exécution d’un nœud • : durée d’un nœud • Pour chaque occurrence • : début de l’exécution d’une occurrence • : durée d’une occurrence n

  31. Antoine FLOC’H - CAIRN - INRIA Rennes Contraintes d’ordonnancement • Les nœuds d’une même occurrence sont ordonnancés simultanément • Respect des dépendances de données If ( ) then

  32. Antoine FLOC’H - CAIRN - INRIA Rennes Architecture cible • Partage du cœur • Envoi/récupération des données vers l’extension • Lancement de l’exécution de motifs sur l’extension • Exécution d’instructions standard • Partage de l’extension • Un seul motif à la fois NIOS2 d’Altera

  33. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m3 Cycle 1

  34. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m1 m3 Cycle 2

  35. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m3 Cycle 3

  36. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m3 Cycle 4

  37. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m2 m3 Cycle 5

  38. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m3 Cycle 6

  39. Antoine FLOC’H - CAIRN - INRIA Rennes Scénario d’ordonnancement m2 m1 m3 m3 Cycle 7

  40. Antoine FLOC’H - CAIRN - INRIA Rennes Partage de l’extension Contrainte globale de partage Traitement d’une occurrence mk m1 m2 din et doutvarient en fonction des sources/destinations de l’occurrence (extension ou cœur)

  41. Antoine FLOC’H - CAIRN - INRIA Rennes Partage du cœur dexecm Extension m cycles Cœur inm Xm + outm cycles

  42. Antoine FLOC’H - CAIRN - INRIA Rennes Résultats

  43. Antoine FLOC’H - CAIRN - INRIA Rennes Plan • Contexte et problématique • Techniques de sélection d’instructions spécialisées • Sélection et ordonnancement simultané • Conclusion et perspectives

  44. Antoine FLOC’H - CAIRN - INRIA Rennes Flot de conception ASIP • ASIP : utiliser une extension matérielle pour accélérer une famille d’applications • Gain en performances => complexité du couple compilateur/concepteur • Dans le cas de systèmes embarqués, le temps de compilation d’applications critiques n’est pas un problème

  45. Antoine FLOC’H - CAIRN - INRIA Rennes Sélection des instruction spécialisées • La sélection et l’ordonnancement sous contraintes de ressources : interdépendants • La programmation par contraintes • Formalisme permettant de modéliser l’ensemble des contraintes dans un unique problème d’optimisation • L’aspect modulaire facilite l’exploration du triangle d’adéquation (algorithme/outil/architecture) • Heuristiques: résoudre des problèmes de taille importante sans changerle modèle de contraintes

  46. Antoine FLOC’H - CAIRN - INRIA Rennes 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 d’instructions • 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 l’espace 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 l’extension

  47. Antoine FLOC’H - CAIRN - INRIA Rennes Références • [Atasu05] K. Atasu, G. Dundar, and C. Özturan. An integerlinearprogrammingapproach 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, 2005. 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. Automaticselection 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, 2006. ACM. • [Guo03] Y. Guo, G. J. Smit, H. Broersma, and P. M. Heysters. A graph coveringalgorithm for a coarse grain reconfigurable system. In LCTES ’03: Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embeddedsystems, pages 199–208, New York, NY, USA, 2003. ACM.

  48. Antoine FLOC’H - CAIRN - INRIA Rennes • [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 2009- 20th IEEE International Conference on Application-specificSystems, Architectures and Processors, 2009. • [Floch10] A. Floch, C. Wolinski, and K. Kuchcinski. Combinedscheduling and instruction selection for processors with reconfigurable cellfabric. In Application-specificSystems Architectures and Processors (ASAP), 2010 21st IEEE International Conference on, pages 167 –174, 2010.

  49. Antoine FLOC’H - CAIRN - INRIA Rennes

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

More Related