1 méthodologie de conception d’architectures parallèles dédiées mohamed akil, thierry...

47
1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est, Laboratoire d'informatique Gaspard- Monge, équipe A3SI ESIEE Paris, 2 Bld Blaise Pascal, BP 99, Noisy-Le-Grand, 93162, France AMINA 2008

Upload: batilde-dupin

Post on 04-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

1

Méthodologie de conception d’architectures parallèles dédiées

Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton

Université Paris-Est, Laboratoire d'informatique Gaspard-Monge, équipe A3SI

ESIEE Paris, 2 Bld Blaise Pascal, BP 99, Noisy-Le-Grand, 93162, France

AMINA 2008

Page 2: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

2

Architecture, parallélisme pour l’Image et la Réalité Virtuelle

Architectures dédiées pour l’Image et la RV

M. Akil

Architectures dédiées pour l’Image et la RV

M. Akil

Parallélisme : l’Image et la RVL. Perroton

Parallélisme : l’Image et la RVL. Perroton

Architectures reconfigurables et adaptatives pour la vision temps

réel et la RVE. Dokladalova

Architectures reconfigurables et adaptatives pour la vision temps

réel et la RVE. Dokladalova

Méthodologie de conceptiond’applications temps-réel

pour l’Image et la RVT. Grandpierre

Méthodologie de conceptiond’applications temps-réel

pour l’Image et la RVT. Grandpierre

APPLICATIONS

• Imagerie médicale• Imagerie temps réel embarquée• RV/RA• Multimédia et compression

APPLICATIONS

• Imagerie médicale• Imagerie temps réel embarquée• RV/RA• Multimédia et compression

Architectures matériellesexistantes

Conception de nouvelles

architectures

Conception et Extensionde nouveaux Logiciels

5 thèses en cours

Page 3: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

3

• Introduction : architecture parallèle dédiée (multi-composants)

• Optimisation, génération automatique de code : – pour architecture programmable– pour architecture reconfigurable– pour architecture mixte : programmables et

reconfigurables

• Conclusion et perspectives

Plan

Page 4: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

4

Processeur DSP - VLIW Processeur RISC

Reduce Instruction Set ComputerDigital Signal Processor Digital Signal Processor

T

Traitement des défauts pour l’Imagerie

numérique : Étude Algorithmique

et Implémentation sur Architecture Mobile

Page 5: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

5

OMAP5910

ARM Shared

Traffic Ctrl

75 MHz

ARM Private32 32

IMIF32

32

32

32

32

16

DSP Shared

DSP Private

System Shared

EMIFF

EMIFS SystemDMA

LCDCtrl

SRAM1.5 Mb

TMS320C55xTM

Core150 MHz

DSP

ARMTI-Enhanced ARM925 Core

150 MHz

OMAP5910

Processeur DSP

Détection de visage sur système

Sur Puce (SoC)

Processeur RISC - ARM

Page 6: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

6

• Applications : traitement d’images, visions, multimédia et réalité virtuelle

• applications temps réel forte puissance de calcul

• Architectures parallèles dédiées :

Multi-composants

– processeurs (CISC, RISC, DSP, SIMD, GPU)– circuits reconfigurables (FPGA)

Contexte et objectifs

Page 7: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

7

Contexte : méthodologie• Implantation optimisée d’applications temps réels :

Algorithme : parallélisme potentiel : parallélisme de tâches (intrinsèque) parallélisme de données, ..Architecture : parallélisme disponible

Implantation = distribution + ordonnancement + optimisation/estimation de performances + génération (code/configuration/communications)

• Contraintes : temps réel, prototypage rapide, hétérogénéité, différents domaines d’expertise

Méthodologie et outil associé : Exploration de ces parallélismes à l'aide

d'un outil (nombre de tâches, granularité,…)

Adéquation

Page 8: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

8

Mise en œuvre de la Méthodologie • Architecture programmable (à base de processeurs) :

– AAA/SynDEx

• Architecture à base de circuits dédiés (circuit reconfigurable – FPGA :– AAA/SynDEx-IC (Integrated Circuit)

• Architecture parallèle dédiée : – Objectif : explorer l'espace de conception :

• Définir une architecture de Processeurs Elémentaires (PE)– Topologie?– Types d'interconnexions?

• Définir la fonctionnalité de chaque PE– Quels calculs peuvent ils effectuer?– Quels tailles de données traitent-ils?

• Etre capable de prédire les performances des architectures avant implantation– Moyens utilisés

• Modélisations de l'algorithme et de l'architecture• Outil logiciel SynDEx/SynDEx-IC éventuellement associé à d’autres outils

(TRIMARAN : exploration de processeur RISC VLIW,…)• Méthodologie itérative

Page 9: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

9

méthodologie AAA et architectures multiprocesseurs (programmables)

Opr1

Com1b

Com1a

Com2b

Com2a Com3a

Opr2 Opr3processeur1 processeur2 processeur3

RAMD/P

SAM

SAMRAMD/P

RAMD

RAMD

RAMD/P

Opr4

RAMD/P

processeur4

in

calc

out

send receiveall.Din/calc

all.Pin

all.Dlin

all.Din/calc

all.Pcalc

all.Dlcalc

all.Poutall.Dlout

all.Dcalc/out

all.Din/calc

loop loop loop loop

endloop endloop endloop endloop

in_ini

in_end

out_ini

out_end

gensig

filtre adap

filtre sub

adap

visu

retard

coeff

processor_( opr1, .) semaphores_(s_empty…)semaphores_(s_empty…) alloc_(type_in/calc...) thread_(comr1a)thread_(comr1a) pre0 (s_empty)pre0 (s_empty) loop_ sucF(s_full)sucF(s_full) send(in/calc)send(in/calc) preE(s_empty)preE(s_empty) endloop_ endthread_endthread_ main_main_ in_ini( )in_ini( ) spawn_thread(com1ra)spawn_thread(com1ra) loop_ sucE(s_empty)sucE(s_empty) in(in/calc)in(in/calc) preF(s_full)preF(s_full) endloop_ in_end ( )in_end ( ) endmain_endmain_endprocessor_

MACROPROCESSEUR

BIBLIOTHEQUEGENERIQUED’EXECUTIF

BIBLIOTHEQUEde macros

COMPILATEUR

Executable1

Executable2

src

BIBLIO. DeFonctions

BIBLIOTHEQUEGENERIQUED’EXECUTIF

1

2

3

4

Architectures multiprocesseurs(Graphe d’architecture)

Adéquation(heuristiques distribution

ordonnancement)

Génération automatique d’exécutifs distribués

Algorithmes(Graphe flot de données)

Estimationperformances

1 2

3

4

all.P

o1

all.P

o2

all.P

o4all.D

_o1o

2

all.D

_o2o

3

all.D

_o3o

4 all.P

o3

all.D

lo1

all.D

l2al

l.Dlo

4all.D

lo3

alia

s.D

_o3o

4

ESPACE MEMOIRE RAM

Page 10: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

10

méthodologie AAA et architectures multiprocesseurs (programmables)

Spécificationde l’algorithme Génération

de codeCompilation

& tests

Spécificationde l’architecture

Distributionordonnancement

automatique

Prédiction deperformances

Distribution (opérations sur opérateurs + comm. + mém.) Ordonnancement (ordre des opérations sur opérateurs)Génération de code : inclus les communications

caractérisation

Page 11: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

11

Méthodologie AAA et architectures multiprocesseurs (programmables)

Page 12: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

12

Méthodologie AAA et architectures multiprocesseurs (programmables)

o1o2

o3o4

o2o3

opr1 c1 C2 Opr2R S R

o1

opr1 c1 C2 Opr2R S R

o1

o2

s ro3

s r

2) o1 sur opr1, candidats = o2 et o3

o2/opr1 ou opr2 : o3/opr1 ou opr2 :

o3

o3s r

o2

opr1 c1 C2 Opr2R S R

o1

3) o2/opr1, cand:o3/opr1 ou opr2

o2

opr1 c1 C2 Opr2R S R

o1

o3s r

r so4

4) o3/opr2, cand: o4/opr1 ou opr2

o2o3

L’optimisation

Page 13: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

13

Méthodologie AAA et architectures multiprocesseurs (programmables)

processor_( opr1, .) semaphores_(s_empty…)semaphores_(s_empty…) alloc_(type_in/calc...) thread_(comr1a)thread_(comr1a) pre0 (s_empty)pre0 (s_empty) loop_ sucF(s_full)sucF(s_full) send(in/calc)send(in/calc) preE(s_empty)preE(s_empty) endloop_ endthread_endthread_ main_main_ in_ini( )in_ini( ) spawn_thread(com1ra)spawn_thread(com1ra) loop_ sucE(s_empty)sucE(s_empty) in(in/calc)in(in/calc) preF(s_full)preF(s_full) endloop_ in_end ( )in_end ( ) endmain_endmain_endprocessor_

MACROPROCESSEUR

BIBLIOTHEQUEGENERIQUED’EXECUTIF

indépendante del’architecture(syndex.m4x)

BIBLIOTHEQUEde macros

spécifiques àl’application

(nomAppli.m4x)

COMPILATEUR

Executable1

Executable2

src

BIBLIO. DeFonctions

spécifiques àl’application

(fonctions.c ou .o)

BIBLIOTHEQUEGENERIQUED’EXECUTIF

spécifique àl’architecture

(Unix.m4x,Tcp.m4xCan.m4x, 555.m4x)

Générationautomatique du code

Page 14: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

14

Architecture reconfigurable ( Cible FPGA) :Modèle algorithme (1/2)

gensig

filtre adap

filtre sub

adap

visucoeff

Hierarchie + Conditionnement

Hierarchie

retard

Graphe Factorisé Conditionné de Dépendance de

Données (GFCDD)

capture écrand’un GFCDDdans SynDEx

Page 15: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

15

Vect diff.

fork

P

[3][3]

[3]join

Mat

visu[3][3]

[1] [3]

visu

P

P

P[3]

[3][3]

[3]

[3]

[3]

[3]

[3]

[3]

[3]

[1]

[1]

[1]

Vect

Mat

[3]

[3]

x

x

x

+

+X +

fork

fork

iter.init

[3]

[3]

[1]

[1]

[1]

[1]

X +fork

fork

iter.init

[3]

[3]

[1]

[1]

[1]

fork

fork

join

[1]

[1]

[1]

[1]

[1]

[1]

[1]

[1][1]

[1]

[3]

[3][3]

Vect

Matvisu

[3]

FF1

FF1

FF2

FF2

Architecture reconfigurable ( Cible FPGA) :Modèle algorithme (2/2)

Page 16: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

16

Optimisation du circuit (1/5)

×3P

F

DR

A

BJ

• Recherche d’une défactorisation partielle de la spécification algorithmique respectant les contraintes surface/latence

Réduit SurfaceAugmente Latence

AB P P R

t

1) 3 fois P (temporellement)×3

PXs

DR

A

BMs

AB P

P

PR

Augmente SurfaceRéduit Latence

×3P

Xp

DR

A

BMp

P

t2 t1

X m

2) 3 fois P (spatialement)

graphe d’algorithme :

2 types d’implantations :

Page 17: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

17

Optimisation du circuit (2/4)

FF1FF2

FF4 FF5FF3

•Quelle frontière défactoriser ?

×10C1FA J

×20C2F J

R×5

C5F J×4

C6F J

×2C7F J

C3 C4

F

C4

Page 18: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

18

Optimisation du circuit (3/5)

•De combien la défactoriser ?

FF1FF2

FF4 FF5FF3

FF2’

FF1FF4 FF5

FF3FF2’’

Défactorisé par 2 :

Défactorisé par 3 :FF2’

FF4 FF5

FF2’’’

FF2’’FF1

FF3

•Quelle frontière défactoriser ?

Pb. NP difficilerecherche parheuristiques

(gloutonnes et derecuit simulé)

flexibilité

Page 19: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

19

Heuristique (4/5)

Entrée : graph GFCDD, contrainte temporelle latence Ct

Sortie : graph optimisé FF optimiséesG’FCDD := GFCDD

Tant que Latence(G’FCDD)>C: Pour chaque f Є chemin critique CC de GFCDD: Calculer défactorisation optimisée de f : dff(f,CC) Calculer pression de défactorisation : (f,dff(f)) G’FCDD := graphe où f qui à le max. est défactorisé de dff(f,CC)

Défactorisation optimisée dff(f,CC) :dff := 1 ;G’FCDD:=GFCDD

Tant que (L(CC) Ct et dff dMAX(f) ): dff := dff+1 G’FCDD := G’FCDD défactorisé de dffRetourne dff

Δsurface(f, dff ,dMAX(f))

L(f, dMAX(f)) - max(L(f, dff ) ,Ct)

Pression de défactorisation

(f,dff)=

Page 20: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

20

Optimisation du circuit (5/5)

X +fork

fork

iter.

[3]

[3]

[1]

[1]

[1]

fork

fork

join

[3]

[3][3]

Vect

Matvisu

[3]

FF2

FF1

SPFC

FPSC

SPFC

FPSC

SPFC

FPSCFF2FF1FF interface

Consommateur côté lent (S)

Consommateur côté rapide (F)

ProducteurCôté lent (S)

Producteur côté rapide (F)

SP FC

FPSC

Utilisé aussi pour :

• Synthèse chemin contrôle• Interfaçage des opérations de types IP (opérations non combinatoires)

Heuristiques basées sur graphe de voisinage :

init

Algorithme :

Déduction dugraphe voisinage :

Page 21: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

21

Génération VHDL

chemin données

chemin contrôle

outils deSynthèse

Adéquation

heuristique

graphevoisinage

Estimation performances

config.FPGA

VHDL

Génération de VHDL

Architecture caracteristiques FPGA

AlgorithmesGFCDD

Règles de transformations

Page 22: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

22

Génération VHDL

chemin données

chemin contrôle

outils deSynthèse

Adéquation

heuristique

graphevoisinage

Estimation performances

config.FPGA

VHDL

Circuit reconfigurable (Cible FPGA) : Bilan

Architecture caracteristiques FPGA

AlgorithmesGFCDD

•Optimisation compromis surface/latence des boucles

•Synthèse du chemin de contrôle et chemin de données

•Génération de code VHDL

•Développement du logiciel SynDEx-IC (ESIEE)

CATURE SYNDEXIC

Page 23: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

23

Contexte : nouvelles architectures hétérogènes (SoC/SoPC)

• Multiprocesseurs on a Chip : OMAP, DaVinci, CELL

1x PowerPC (64bits), 8 x Synergistic Processor Element (128bits SIMD)

Page 24: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

24

I. Cible CIRCUITS FPGAII. Cible ARCHITECTURES MIXTES

Objectifs

Architectures multiprocesseurs(Graphe d’architecture)

Adéquation(heuristiques

Génération automatique d’exécutifs distribués

Algorithmes(Graphe flot de données)

Estimationperformances

Architectures parallèles

Dédiés (dites mixtes)

(reconfigurable

+ programmable)

Il faut étendre :• modèle algorithmes • modèle architecture• modèle implantation

Développer de nouvelles :• heuristiques d’optimisation• techniques d’estimation perf.• techniques de génération VHDL• communications mixtes

Implémentation logiciel :• SynDEx-IC

Génération automatique circuit (VHDL)

Estimationperformances

Adéquation(heuristiques pour

circuits)

Page 25: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

25

Contexte : nouvelles architectures hétérogènes (SoC/SoPC)

• Multiprocesseurs on a Chip : OMAP, DaVinci, CELL

• {FPGA + Cœur(s) Processeur(s)} on a Chip

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

Page 26: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

26

Contexte : nouvelles architectures hétérogènes (SoC/SoPC)

• Multiprocesseurs on a Chip : OMAP, DaVinci, CELL

• {FPGA + Cœur(s) Processeur(s)} on a Chip

Calc1bloc

« calcul »élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaire

bloc« calcul »

élémentaireCalc2

bloc« calcul »

élémentaire

Page 27: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

27

Contexte : nouvelles architectures hétérogènes (SoC/SoPC)

• Multiprocesseurs on a Chip : OMAP, DaVinci, CELL

• {FPGA + Cœur(s) Processeur(s)} on a Chip

Calc1

Calc2

Page 28: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

28

Contexte : nouvelles architectures hétérogènes (SoC/SoPC)

• Multiprocesseurs on a Chip : OMAP, DaVinci, CELL

• {FPGA + Cœur(s) Processeur(s)} on a ChipExemples :– Cœurs en « dur »

• Xilinx Virtex II Pro (2 PowerPC_405 300Mhz + FPGA)• Excalibur (1xARM922 200MHz + FPGA 1Mportes)

– Cœurs « logiciel »• NIOS (Altera)• Microblaze, PicoBlaze (Xilinx)• IP libres (opencore) ou commerciales

Page 29: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

29

Circuit reconfigurable (FPGA) : Modèle d’architecture

Modéliser FPGA pour :• exploiter parallélisme intra-composant du FPGA, définir l’allocation• modéliser les communications en mixte, prédire les performances

définir nouvelles heuristiques d’optimisation

FPGA : • Ensemble de blocs élémentaires configurables, de registres

(mémoires), réseaux d’interconnexions configurables• Sous-ensemble configuré forme un opérateur dégénéré

(opérateur exécute séquentiellement des opérations de calculs)

• dans AAA, FPGA = un seul opérateur dégénéré (opr capable d’exécuter un seul type d’opération du graphe d’algorithme)

pb . : trop restrictif car FPGA = plusieurs opérateurs dégénérés

Page 30: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

30

Nouveaux sommets (modèle architecture) :• 1 bloc non configuré = 1 opérateur élémentaire configurable

(Opreconf) capable d’exécuter une seule opération élémentaire (AND, OR, LUT…)

FPGA initialement décrit par le graphe : GFPGA=(SOPReSreg,R)

Opre Opre’ (idem registres Sreg)

• Ensemble de blocs configurés + registres + réseaux = 1 opérateur dégénéré (Oprd : capable d’exécuter un seul type d’opn de Gal)

configuration

Circuit reconfigurable (FPGA) : Modèle d’architecture

Page 31: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

31

Circuit reconfigurable(FPGA) : Architecture formalisation

Graphe algorithme Gal=(O,D)

Graphe architecture Gar = (S,A) avec S=SoprScom Smem Sbus Soprd

Implantions de Gal sur Gar :

(Gal, Gar) (Gal’,Gar’)

GFPGA=(SOPReSreg,R) GFPGA’=(S’OPReS’reg,R’) (configuration)

avec R’ R et S’OPReS’reg SOPReSreg (sous-graphe)

FPGAconfiguré = (SOprD ,R’) et Oprd (GFPGA) )

Nouvelles / modifs applications :Configuration FPGA : SOprD SOPRe

Contrainte placement : O (Scal) (avec Scal = SoprScom Soprd )

Distribution :O Scal ,

Rroutage Rdistribution Rcommunication Rordonnancement Rconf

Page 32: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

32

Circuit reconfigurable (FPGA) : Modèle d’architecture

OPRe

RModélisation d’un « bloc logique » :opérateur élémentaire OPRe :

bloc« calcul »

élémentaire

bloclogique

élémentaire

bloclogique

élémentaire

bloc« calcul »

élémentaire

bloclogique

élémentaire

bloclogique

élémentaire

bloc« calcul »

élémentaire

bloclogique

élémentaire

bloclogique

élémentaire

Page 33: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

33

Circuit reconfigurable (FPGA) :

Modèle d’architecture

OPRe

R

OPRe

R

OPRe

R

OPRe

R

R

R

OPRe

R

OPRe

R

OPRe

R

OPRe

R

R

OPRd_AR

OPRe

R

OPRe

R

OPRe

R

OPRe

R

R

OPRd_CR

OPRe

R

OPRe

R

OPRe

R

OPRe

R

R

OPRd_BR

OPRe

R

OPRe

R

OPRe

R

OPRe

R

R

OPRd_DR

OPRd_A

Exemple graphe d’implantation combinatoire (sans boucle et répétition) :

Page 34: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

34

Circuit reconfigurable FPGA : Modèle d’architecture

OPRd1

OPRd2

ROPRe

ROPRe

ROPRe

ROPRe

R

ROPRe

ROPRe

ROPRe

ROPRe

R

ROPRe

ROPRe

ROPRe

ROPRe

R

Caractérisation :•Nombre d’opérateurs élémentaires configurables disponibles dans un FPGA

card (Sopre)•Nombre d’opérateurs élémentaire pour réaliser un opérateur dégénéré

card ( (Ooprd))•Latence d’un opérateur dégénéré (Oi,Ooprd)

Page 35: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

35

Génération VHDL

chemin données

chemin contrôle

outils deSynthèse

Adéquation

heuristique

graphevoisinage

Estimation performances

config.FPGA

VHDL

Circuit reconfigurable (FPGA) : Bilan

Architectures multiprocesseurs(Graphe d’architecture)

Adéquation(heuristiques distribution &

ordonnancement)

Génération automatique d’exécutifs distribués

Estimationperformances

Architecture caracteristiques FPGA

AlgorithmesGFCDD

SynDExINRIA

SynDEx-ICESIEE

Page 36: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

36

Génération d’exécutifsdistribués

Génération VHDL

synthétisablesynthèse

communications

Cible architectures parallèles dédiées (mixtes)

Heuristiques pourprogrammable

Heuristiques pourcircuits

Adéquation mixte

AlgorithmesGFCDD

Composantsreconfigurables

Composants programmables

ArchitecturesParallèles dédiées

(modèle unique)

Page 37: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

37

Architectures parallèles dédiées : Modèle d’implantation

• Un FPGA renferme plusieurs opérateurs dégénérés = parallélisme disponible « intra »

• Objectif : distribuer les opérations sur les opérateurs (inclus chaque opérateur dégénéré)Ajout de communications

• entre opérateurs et opérateurs dégénérés…• entre opérateurs dégénérés = arcs (pas de SAM)

Page 38: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

38

Architectures parallèles dédiés : Modèle d’implantation

• Communicateur : exécute séquentiellement les opérations de communication

• Implantation FPGA des communicateursnouveau type de sommets (décrire l’allocation)

• Induit un ordre partiel d’exécution entre opérations distribuées sur le FPGA (mais pas forcément ordonnancées !)

Extension modèle d’implantation (prédiction de performances)

Page 39: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

39

Architectures parallèles dédiées : Communications SAM

o4

opr1 c1 C Oprd1R S

o1

o2

s r

o3

s rs r

sr

sr

sr

o5

o1

o2

o3

o4

o5

FPGA

Processeur

Algorithme :

Graphe d’implantation :

(sans extension des modèles, O2,O3, O4 de même type)

opr1 c1 C Oprd1R S

Architecture :

Page 40: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

40

Architectures parallèles dédiées : Communications SAM

o1

o2

o3

o4

o5

Algorithme :

Graphe d’implantation :

(O2O3O4 devient possible)

opr1 c1 C FR S

Architecture :

o4

opr1 c1 C Oprd1R S

o1

o2

s r

o3

Oprd3Oprd2

s rs r

srsrsr

o5

FPGAProcesseur

Page 41: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

41

Architectures parallèles dédiées : Communications RAM

signalvidéo

RS232

JTAG

DC

R D

evice Con

trol Register B

us

OPB On-chip Peripheral Bus (100 MHz)

SOBEL_IPIF

DRAM(512 M)

VGA Interface

Interruptcontroller

I2C

UART

PLB2OPBBridge

PLB2DCRBridge

PowerPC 405 RISC

CPU CORE

VDEC

JTAG_PPC

PLB Processor Local Bus (100 MHz)

PPC405COprd1 RSOprd3 Oprd2

CS

Acqui. Sobel

Affichage

haut niveaucpy

cpy

Application TR de TI surXilinx Virtex II Pro

Page 42: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

42

Architectures parallèles dédiées : Conclusion

Bilan :Modélisation architecture, implantation, caractérisation

Définition d’IP génériques de communication

Validation « manuelle » en cours

Perspectives :Implantation dans outils SynDEx-IC

Étude d’heuristiques pour automatiser le partitionnement logiciel (programmable) / matériel (reconfigurable)

Page 43: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

43

Annexes

Page 44: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

44

I - Cible FPGA :Optimisation circuit (3/4)

Optimisation():Tant que T<C: (T calculée, C contrainte Pour chaque f Є chemin critique: Déterminer défactorisation optimale; Déterminer rentabilité; Défactoriser la frontière la plus rentable;Fin Tant que

Défactorisation optimale(f):défac(f):=1;Tant que f Є chemin critique & T>C: défac(f) := défac(f)+1;

T-max(T’,C)

ΔSurfaceRentabilité =

Page 45: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

45

Notion de vecteur d’état :X1

X2

X3

Xn

Valeurs des défacteursdes ‘n’ frontières du graphed’algorithme modélisé

….

• Trouver la solution initiale du système - S0

• Trouver la valeur initiale du paramètre de contrôle - t0

Tant que N 60 faire 60 faire

Tant que M iter faire iter faire

X(J)=V(X(I))X(J)=V(X(I)) - - X(J) est la solution voisine de X(J) est la solution voisine de X(I);X(I); F=F(X(J))-F(X(I)) ;F=F(X(J))-F(X(I)) ; Si Si F < 0 alorsF < 0 alors X(I) = X(J);X(I) = X(J); SinonSinon

SiSi ( -exp( ( -exp(F/tk)) > Random(0,1) F/tk)) > Random(0,1) thenthen

X(I) = X(J);X(I) = X(J); SinonSinon Revenir à X(I):Revenir à X(I):

iteriter(k+1)(k+1) =1.01*iter =1.01*iterkk ; ;

tt(k+1)(k+1) = 0.9*t = 0.9*tkk ; ;

CHOIX ALEATOIRE

F(X(I)): F(X(I)): coût de X(I)coût de X(I)

F(X(J)): F(X(J)): coût deX(J)coût deX(J)

S, si Tctr > t

F(X) =

S + k.(t - Tctr), si Tctr t

t – latence après défactorisation S – surface consommée après défactorisation

X1 = 1

X2 = 1

X3 = 2

X4 = 1

X1 = 1

X2 = 3

X3 = 2

X4 = 1

I - Cible FPGA :Optimisation circuit : recuit simulé

Page 46: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

46

o1o2

o3o4

o2o3

opr1 c1 C2 Opr2R S R

o1

opr1 c1 C2 Opr2R S R

o1

o2

s ro3

s r

2) o1 sur opr2, candidats = o2 et o3

o2/opr1 ou opr2 : o3/opr1 ou opr2 :

o3

o3s r

o2

opr1 c1 C2 Opr2R S R

o1

3) o2/opr1, cand:o3/opr1 ou opr2

o2

opr1 c1 C2 Opr2R S R

o1

o3s r

r so4

4) o3/opr2, cand: o4/opr1 ou opr2

o2o3

Page 47: 1 Méthodologie de conception d’architectures parallèles dédiées Mohamed Akil, Thierry Grandpierre, Eva Dokadalova, Laurent Perroton Université Paris-Est,

47