35
La Maille Associative Une architecture reconfigurable et asynchrone pour le traitement d’images temps réel Julien Denoulet – Université Pierre et Marie Curie – Paris [email protected] UPMC-SYEL IEF – AXIS ESIEE-A2SI Workshop AMINA 2008 – Monastir – 13-15/11/08

Julien Denoulet – Université Pierre et Marie Curie – Paris [email protected]

  • Upload
    marina

  • View
    32

  • Download
    3

Embed Size (px)

DESCRIPTION

Workshop AMINA 2008 – Monastir – 13-15/11/08. La Maille Associative Une architecture reconfigurable et asynchrone pour le traitement d’images temps réel. Julien Denoulet – Université Pierre et Marie Curie – Paris [email protected]. - PowerPoint PPT Presentation

Citation preview

Page 1: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

La Maille AssociativeUne architecture reconfigurable et asynchrone

pour le traitement d’images temps réel

Julien Denoulet – Université Pierre et Marie Curie – [email protected]

UPMC-SYEL IEF – AXIS ESIEE-A2SI

Workshop AMINA 2008 – Monastir – 13-15/11/08

Page 2: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Introduction

Modèle de calcul: Réseaux Associatifs

Architecture: Maille Associative

Evaluation algorithmique

Conclusion

Plan de l’exposé

Workshop AMINA 2008 – Monastir – 13-15/11/08

Page 3: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Introduction

Workshop AMINA 2008 – Monastir – 13-15/11/08

Page 4: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Grande diversité des algorithmes et de leurs modes opératoires

• Traitements de bas niveau◦ Implique souvent un point et son voisinage proche◦ Mouvements de données réguliers et systématiques

• Traitements de plus haut niveau◦ Implique des zones de forme et taille non-connues a

priori◦ Mouvements de données irréguliers et non-prédictibles

L’optimisation d’une chaîne de traitements sur une même plate-forme matérielle est un problème complexe

Chaînes de Traitement d’Image

Workshop AMINA 2008 – Monastir – 13-15/11/08INTRO

Page 5: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Le parallélisme constitue une solution appropriée◦ Multiplication des ressources de calcul

Parallélisme Massif de Données (SIMD)◦ On attribue une unité de calcul à un petit nombre de pixels◦ Permet de s’approcher de la géométrie des Images

Implémentation Matérielle

Workshop AMINA 2008 – Monastir – 13-15/11/08INTRO

Page 6: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Architecture dédiée au traitement d’images◦ Massivement parallèle◦ Reconfigurable◦ Asynchrone (partiellement)

◦ Idée force: Adapter les structures de calcul et de communication

aux mouvements de données rencontrés en analyse d’image

Maille Associative

Workshop AMINA 2008 – Monastir – 13-15/11/08INTRO

Page 7: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Modèle de Calcul Parallèle

Les Réseaux Associatifs [Mérigot,1992-97]

Workshop AMINA 2008 – Monastir – 13-15/11/08

Page 8: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Réseau de processeurs élémentaires (Pe)◦ 1 Pe représente 1 pixel de l’image

Reliés par un graphe d’interconnexion GB◦ GB = Graphe de base◦ Orienté, symétrique◦ Topologie quelconque

Réseaux Associatifs

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 9: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Les traitements se font sur un sous-graphe G de GB◦ G est dynamiquement reconfigurable◦ Il est possible d’activer/désactiver le lien entre 2 Pe

voisins

Graphe et Reconfigurabilité

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 10: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Les traitements se font sur un sous-graphe G de GB◦ G est dynamiquement reconfigurable◦ Il est possible d’activer/désactiver le lien entre 2 Pe

voisins

Représentation de:◦ Régions connexes

Graphe et Reconfigurabilité

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 11: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Les traitements se font sur un sous-graphe G de GB◦ G est dynamiquement reconfigurable◦ Il est possible d’activer/désactiver le lien entre 2 Pe

voisins

Représentation de:◦ Régions connexes◦ Contours

Graphe et Reconfigurabilité

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 12: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Les traitements se font sur un sous-graphe G de GB◦ G est dynamiquement reconfigurable◦ Il est possible d’activer/désactiver le lien entre 2 Pe voisins

Représentation de:◦ Régions connexes◦ Contours◦ Graphes/Arbres orientés

Graphe et Reconfigurabilité

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 13: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Les traitements se font sur un sous-graphe G de GB◦ G est dynamiquement reconfigurable◦ Il est possible d’activer/désactiver le lien entre 2 Pe

voisins

Représentation de:◦ Régions connexes◦ Contours◦ Graphes/Arbres orientés

Codage local à l’aide d’unevariable parallèle

Graphe et Reconfigurabilité

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 14: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Primitives locales: Opérations élémentaires◦ Calcul local effectué simultanément dans chaque Pe

◦ Opérateurs logiques et arithmétiques standards

Primitives de calcul global: ASSOCIATION◦ Primitive conjuguant ressources de calcul et de communication

◦ Combinaison de la valeur locale d’une variable parallèle avec celles des

voisins

Dans un sous-graphe G donné

Par un opérateur associatif et commutatif (OR, ET, PLUS, MIN, MAX…)

Jusqu’à convergence des résultats locaux

Calcul - Associations

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 15: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

But: Calcul de la valeur maximale de chaque région

Exemple: MAX-Association

8 4 3 6

0 1 0 1

4 4 5 4

1 4 3 2

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 16: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

But: Calcul de la valeur maximale de chaque région

Exemple: MAX-Association

8 4 3 6

0 1 0 1

4 4 5 4

1 4 3 2

8 8 6 6

8 8 6 6

8 6 6 6

6 6 6 6

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 17: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Points clés du modèle◦ Reconfigurabilité◦ Associations

Une architecture basée sur les Réseaux Associatifs devra implémenter efficacement ces deux points

Transposition Matérielle

Workshop AMINA 2008 – Monastir – 13-15/11/08MODÈLE

Page 18: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

ArchitectureLa Maille Associative

Page 19: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Codage local des sous-graphes: Registre 8 bits◦ 1 = Présence d’un arc incident venant du voisin◦ 0 = Pas d’arc incident

Utilisation de portes ET pour masquer les voisins

Reconfigurabilité: Implémentation

Nord-Ouest

Ouest

Sud-Ouest

Sud

Sud-Est

Est

Nord-Est

Nord

0 1 0 1 0 0 1 0

OPÉRATEURS

ASSOCIATIFS

Registre Mgraphe

Voisins

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 20: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Codage local des sous-graphes: Registre 8 bits◦ 1 = Présence d’un arc incident venant du voisin◦ 0 = Pas d’arc incident

Utilisation de portes ET pour masquer les voisins

Seules les données avecun bit graphe=‘1’sont transmises et contribuent au calcul

Reconfigurabilité: Implémentation

Nord-Ouest

Ouest

Sud-Ouest

Sud

Sud-Est

Est

Nord-Est

Nord

0 1 0 1 0 0 1 0

OPÉRATEURS

ASSOCIATIFS

Registre Mgraphe

Voisins

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 21: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Implémentation ASYNCHRONE des associations

Le réseau de communication est asynchrone◦ Libre circulation des données◦ Convergence du calcul assurée par les propriétés des

opérateurs

Taille du réseau: 1 bit◦ Opérations série◦ Coût matériel minimal

Associations: Implémentation

DÉTECTEURDE STABILITÉ Vers Contrôle

MASQUE

Valeur Locale

VOISINS

Registre Mgraphe

+OR

OPÉRATEURS ASSOCIATIFS

Résultat Local

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 22: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Architecture SIMD massivement parallèle Topologie: Grille 2D, 8-Connexité

Processeur Élémentaire◦ Couche Synchrone

ALU pour calculs locaux Mémorisation

◦ Couche Asynchrone Gestion des associations Reconfigurabilité du réseau

Maille Associative

Entrées

Sorties

ValeursVoisins

Résultat Association

Vers Voisins

COUCHEASYNCHRONE

- Calcul associatif- Reconfigurabilité du réseau

COUCHESYNCHRONE

- Calcul local- Stockage des données

+ valeur locale du mgraphe

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 23: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

[Dulac - 1996]

Maille de 4×4 Pe Technologie: CMOS 1µm – Horloge: 50 MHz

Surface d’un Pe:◦ 1500 transistors◦ Couche asynchrone: 10%◦ Banc mémoire (128 bits): 60%

Temps de calcul des associations (images 512×512 – données 8 bits) ◦ OR = 800 ns◦ MAX = 1,6 µs◦ PLUS = 21,3 µs

Circuit Prototype

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 24: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Ressources mémoire:◦ La taille du banc devrait être doublée [Guezguez-99]

◦ Augmentation significative du coût matériel

L’implémentation se fait au dépend de la puissance de calcul des Pe◦ Taille du chemin de données réduite◦ Nombre et complexité limitée des opérateurs

Limitations de l’architecture

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 25: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Principe:◦ 1 Pe a la charge de N pixels (Pe physique)◦ N est appelé degré de virtualisation 1 Pe physique contient N Pe virtuels

Conséquences immédiates:◦ Partage des ressources de calcul◦ Sérialisation des opérations◦ Activation successive des N Pe virtuels

Virtualisation des Processeurs

ProcesseurPhysique 1

VPe1

Processeur Physique 2

VPe2

VPe3 VPe4

VPe1 VPe2

VPe3 VPe4

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 26: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Virtualisation des Pe [Denoulet, 2002]◦ Uniquement dans la couche synchrone

Regroupement des ressources mémoires et des ressources de calcul ALU remplacé par un ALU vectoriel SIMD

◦ Gain en surface de 25% si N=1024◦ 140 millions de transistors pour une Maille 256x256

Application à la Maille Associative

1 128 256 10245120

200000

400000

600000

800000

1000000

1200000

1400000

1600000

N: (Nb de Pe Non Virtualisés / Degré de Virtualisation)

Su

rface (

Nb

de T

ran

sis

tors

)

Maille de N P e Non-Virtualisés 1 P e Virtualisé (Degré N)

DVN Gain en Surface

2 9,7%

4 12,5%

16 19,6%

64 20,5%

128 22,1%

256 23,2%

512 23,7%

1024 24,1%

Workshop AMINA 2008 – Monastir – 13-15/11/08ARCHI

Page 27: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Evaluation Algorithmique

Page 28: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Quel est l’impact de la virtualisation sur les performances du circuit?

Architecture adéquate pour du traitement d’images temps réel?

Besoin d’un simulateur haut niveau de la Maille Associative prenant en compte les caractéristiques de son architecture

Evaluation Algorithmique

Workshop AMINA 2008 – Monastir – 13-15/11/08ALGO

Page 29: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

►ANET [Sicard, 2000-04] – Environnement de programmation des Réseaux Associatifs – Développement algorithmique C++ à haut niveau

►Couche Matérielle[Denoulet, 2004]– Inclut une configuration

d’architecture de la Maille– Fournit un temps de calcul au

cycle près de chaque instruction

Calcul online du temps d’exécution d’un algorithme sur une architecture donnée

Outil de simulation

ImageSource

ImageRésultat

ANET(C/C++)

Programmation des Réseaux Associatifs

Développement Algorithmique

Temps de Calcul

Algorithme

ParamètresMatériels

Informations

Primitive, Données...

Temps de Calcul

Primitive

ImageSource

ImageRésultat

ANET(C/C++)

Programmation des Réseaux Associatifs

Développement Algorithmique

Temps de Calcul

Algorithme

ParamètresMatériels

COUCHE MATÉRIELLE

(SystemC)

Modélisation Maille Associative

Architecture Paramétrable

Évaluation Temporelle

COUCHE MATÉRIELLE

(SystemC)

Modélisation Maille Associative

Architecture Paramétrable

Évaluation Temporelle

Workshop AMINA 2008 – Monastir – 13-15/11/08ALGO

Page 30: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Estimation initiale du mouvement ◦ Par rapport à une image de référence◦ Algorithme Σ-Δ [Manzanera,Richefeu-2004]

Relaxation markovienne de l’estimation initiale [Lalande 1990, Caplier 2001]◦ Iterated Conditional Modes (ICM)◦ Minimisation d’une fonction d’énergie

Energie de modèle Energie d’adéquation

Détection de mouvements

Workshop AMINA 2008 – Monastir – 13-15/11/08ALGO

Page 31: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Traitement implémenté sur:◦ Maille Associative (Techno 90 nm, F=500 MHz, Virtu

N=1024)

◦ PowerPC G4 (F = 1 GHz)◦ [Lacassagne,Denoulet,Manzanera,Mérigot - 2008]

Résultats

Workshop AMINA 2008 – Monastir – 13-15/11/08ALGO

G4 Maille

Cadences (images/s)

~1200 ~25000

Page 32: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Maille Associative◦ Parallélisme massif◦ Reconfigurabilité◦ Asynchronisme

Virtualisation des processeurs◦ Réduction significative de la taille du circuit◦ Performances compatibles avec traitements temps

réel

Conclusion

Workshop AMINA 2008 – Monastir – 13-15/11/08CONCLUSION

Page 33: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Aspects matériels - Virtualisation◦ Augmentation de la puissance de calcul des Pe◦ Bancs mémoire dynamique◦ Remplacement des Pe synchrones par des cœurs de µP

standards

Aspects algorithmiques◦ Traitement d’image 3D◦ Réseaux Associatifs Virtuels

Perspectives

Workshop AMINA 2008 – Monastir – 13-15/11/08CONCLUSION

Page 34: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Merci de votre attention

Page 35: Julien  Denoulet  – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr

Images 256x256 Maille 256x256, techno 90 nm, fréquence = 500 MHz

◦ Archi 1: Non virtualisée◦ Archi 2: Virtualisation (N=1024) + ALU SIMD 128 bits

Evaluation Algorithmique

Workshop AMINA 2008 – Monastir – 13-15/11/08ALGO

Algorithme Archi 1 Archi 2

Filtre Sobel 0,5 µs 14,6 µs

Egalisation Histogramme 22 µs 780 µs

Split & Merge Segmentation 0,25 – 0,56 ms 5,97 – 14,82 ms

Watershed Segmentation 9,05 µs 421 µs

[Denoulet, 2004-08]