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

51
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.fl[email protected]

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

Page 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.

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’HCAIRN

INRIA Rennes

[email protected]

Page 2: 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.

2

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)

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 3: 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.

3

Plan

① Contexte et problématique

② Techniques de sélection d’instructions spécialisées

③ Sélection et ordonnancement simultané

④ Conclusion et perspectives

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 4: 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.

4

Audio

Systèmes multimédias embarqués

Video

Traitement de signal …

… Contraintes fortes– Performances– Énergie– Surface– Temps de mise

sur le marché

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 5: 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.

5

Du processeur au circuit dédié

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 6: 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.

6

Conception d’ASIP

Adéquation

Architecture Outils

Algorithmes

Antoine FLOC’H - CAIRN - INRIA Rennes

« Application Specific Instruction-Set Processor »

Page 7: 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.

7

Conception partielle• Extension de jeu d’instructions

Antoine FLOC’H - CAIRN - INRIA Rennes

Performances

Consommation

Complique la compilation

Exemple du NIOS II pour FPGA Altera

Algorithmes coûteux…

… acceptable dans le contexte d’applications embarquées

Page 8: 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.

8

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 9: 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.

9

Exemple (DAG : chiffrement GOST)

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 10: 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.

10

Exemple (DAG : chiffrement GOST)

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 11: 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.

11

Plan

① Contexte et problématique

② Techniques de sélection d’instructions spécialisées

③ Sélection et ordonnancement simultané

④ Conclusion et perspectives

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 12: 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.

12

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, June 2011

http://ce.et.tudelft.nl/~carlo/

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 13: 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.

13

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

Antoine FLOC’H - CAIRN - INRIA Rennes

MaxMISO 1 (4 in)

MaxMISO 2 (3 in)

Page 14: 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.

14

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)• ...

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 15: 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.

15

Plan

① Contexte et problématique

② Techniques de sélection d’instructions spécialisées

③ Sélection et ordonnancement simultané

④ Conclusion et perspectives

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 16: 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.

16

Lien entre la sélection et l’ordonnancement

Antoine FLOC’H - CAIRN - INRIA Rennes

Motif 1 Motif 2

2 Entrées / 1 SortieRegistres dans l’extension

Page 17: 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.

17

Lien entre la sélection et l’ordonnancement

Antoine FLOC’H - CAIRN - INRIA Rennes

Motif 1 Motif 2

3 Cycles

2 Entrées / 1 SortieRegistres dans l’extension

3 Cycles

Total = 3 + 3 + 1 cycles

Page 18: 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.

18

Lien entre la sélection et l’ordonnancement

Antoine FLOC’H - CAIRN - INRIA Rennes

Motif 1 Motif 2

1 Cycle

2 Entrées / 1 SortieRegistres dans l’extension

Total = 4 cycles

1 Cycle 1 Cycle 1 Cycle

Page 19: 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.

19

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 20: 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.

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

Page 21: 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.

21

Programmation par contraintes: exemple du sudoku

Antoine FLOC’H - CAIRN - INRIA Rennes

• Pour chaque case

• Pour chaque ligne

• Pour chaque colonne

• Pour chaque sous-grille

j

i

Page 22: 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.

22

Programmation par contraintes: exemple du sudoku

Antoine FLOC’H - CAIRN - INRIA Rennes

j

i

Consistance AllDiffde la colonne 1

Page 23: 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.

23

Programmation par contraintes: exemple du sudoku

Antoine FLOC’H - CAIRN - INRIA Rennes

j

i

Consistance AllDiffde la ligne 2

Page 24: 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.

24

Programmation par contraintes: exemple du sudoku

Antoine FLOC’H - CAIRN - INRIA Rennes

j

i

Consistance AllDiffde la première sous-grille

Page 25: 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.

25

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 26: 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.

26

Problème de sélection et d’ordonnancement simultané

Sélection

Ordonnancement

Architecture

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 27: 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.

27

Problème de sélection et d’ordonnancement simultané

Recherche de toutes les occurrences de motifs dans le

graphe

Enoncer les contraintes (sélection, ordonnancement, architecture)

Solveur: minimisation de la durée d’exécution

Bibliothèque de motifs

Architecture cible

Graphe à couvrir

Graphe couvert et ordonnancé

Antoine FLOC’H - CAIRN - INRIA Rennes

M: ensemble des occurrences

Problème CSP

Page 28: 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.

28

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 29: 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.

29

Contraintes de sélectionUne 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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 30: 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.

30

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 31: 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.

31

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 32: 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.

32

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

Antoine FLOC’H - CAIRN - INRIA Rennes

NIOS2 d’Altera

Page 33: 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.

33

Scénario d’ordonnancement

Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

Cycle 1

Page 34: 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.

34Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

m1

Cycle 2

Scénario d’ordonnancement

Page 35: 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.

35Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

Cycle 3

Scénario d’ordonnancement

Page 36: 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.

36Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

Cycle 4

Scénario d’ordonnancement

Page 37: 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.

37Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

m2

Cycle 5

Scénario d’ordonnancement

Page 38: 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.

38Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

Cycle 6

Scénario d’ordonnancement

Page 39: 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.

39Antoine FLOC’H - CAIRN - INRIA Rennes

m1 m2

m3

Cycle 7

m3

Scénario d’ordonnancement

Page 40: 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.

40

Partage de l’extension

Antoine FLOC’H - CAIRN - INRIA Rennes

mk

din et dout varient en fonction des sources/destinations de

l’occurrence (extension ou cœur)

m1 m2

Contrainte globale de partageTraitement d’une occurrence

Page 41: 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.

41

Partage du cœur

Antoine FLOC’H - CAIRN - INRIA Rennes

m

inm Xm outm+

Extension

Cœur

cycles

cycles

dexecm

Page 42: 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.

42

Résultats

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 43: 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.

43

Plan

① Contexte et problématique

② Techniques de sélection d’instructions spécialisées

③ Sélection et ordonnancement simultané

④ Conclusion et perspectives

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 44: 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.

44

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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 45: 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.

45

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 changer le modèle de contraintes

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 46: 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.

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 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

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 47: 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.

47

Références• [Atasu05] K. Atasu, G. Dundar, and C. Ozturan. 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, 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. 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, 2006. 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, 2003. ACM.

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 48: 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.

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 2009- 20th IEEE International Conference on Application-specific Systems, Architectures and Processors, 2009.

• [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), 2010 21st IEEE International Conference on, pages 167 –174, 2010.

Antoine FLOC’H - CAIRN - INRIA Rennes

Page 49: 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.

49Antoine FLOC’H - CAIRN - INRIA Rennes

Page 50: 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.

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

Page 51: 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.

DIFF2

DIFF2(R1,R2,R3)

No overlapping