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
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
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
Introduction
Workshop AMINA 2008 – Monastir – 13-15/11/08
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
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
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
Modèle de Calcul Parallèle
Les Réseaux Associatifs [Mérigot,1992-97]
Workshop AMINA 2008 – Monastir – 13-15/11/08
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
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
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
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
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
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
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
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
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
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
ArchitectureLa Maille Associative
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
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
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
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
[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
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
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
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
Evaluation Algorithmique
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
►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
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
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
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
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
Merci de votre attention
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]