370 likes | 562 Views
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 Julien.denoulet@upmc.fr.
E N D
Workshop AMINA 2008 – Monastir – 13-15/11/08 La Maille AssociativeUne architecture reconfigurable et asynchrone pour le traitement d’images temps réel Julien Denoulet – Université Pierre et Marie Curie – Paris Julien.denoulet@upmc.fr UPMC-SYEL IEF – AXIS ESIEE-A2SI
Plan de l’exposé • Introduction • Modèle de calcul: Réseaux Associatifs • Architecture: Maille Associative • Evaluation algorithmique • Conclusion Workshop AMINA 2008 – Monastir – 13-15/11/08
Introduction Workshop AMINA 2008 – Monastir – 13-15/11/08
Chaînes de Traitement d’Image • 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 INTRO Workshop AMINA 2008 – Monastir – 13-15/11/08
Implémentation Matérielle • 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 INTRO Workshop AMINA 2008 – Monastir – 13-15/11/08
Maille Associative • 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 INTRO Workshop AMINA 2008 – Monastir – 13-15/11/08
Modèle de Calcul Parallèle Les Réseaux Associatifs [Mérigot,1992-97] Workshop AMINA 2008 – Monastir – 13-15/11/08
Réseaux Associatifs • 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 MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Graphe et Reconfigurabilité • 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 MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Graphe et Reconfigurabilité • 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 MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Graphe et Reconfigurabilité • 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 MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Graphe et Reconfigurabilité • 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 MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Graphe et Reconfigurabilité • 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’une variable parallèle MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Calcul - Associations • 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-grapheG donné • Par un opérateur associatif et commutatif (OR, ET, PLUS, MIN, MAX…) • Jusqu’à convergence des résultats locaux MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
4 3 6 8 0 1 0 1 4 4 5 4 1 4 3 2 Exemple: MAX-Association • But: Calcul de la valeur maximale de chaque région MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
4 3 6 8 0 1 0 1 4 4 5 4 8 6 6 8 1 4 3 2 8 6 6 8 8 6 6 6 6 6 6 6 Exemple: MAX-Association • But: Calcul de la valeur maximale de chaque région MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Transposition Matérielle • Points clés du modèle • Reconfigurabilité • Associations • Une architecture basée sur les Réseaux Associatifs devra implémenter efficacement ces deux points MODÈLE Workshop AMINA 2008 – Monastir – 13-15/11/08
Architecture La Maille Associative
Reconfigurabilité: Implémentation • 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 Registre Mgraphe 0 1 0 1 0 0 1 0 Vo i s i n s Nord-Ouest OPÉRATEURS ASSOCIATIFS Ouest Sud-Ouest Sud Sud-Est Est Nord-Est Nord ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Registre Mgraphe 0 1 0 1 0 0 1 0 Vo i s i n s Nord-Ouest OPÉRATEURS ASSOCIATIFS Ouest Sud-Ouest Sud Sud-Est Est Nord-Est Nord Reconfigurabilité: Implémentation • 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 avec un bit graphe=‘1’ sont transmises et contribuent au calcul ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Associations: Implémentation • 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 ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Maille Associative • 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 ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Circuit Prototype • [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 ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Limitations de l’architecture • 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 ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Processeur Physique 1 Processeur Physique 2 VPe1 VPe1 VPe2 VPe2 VPe3 VPe3 VPe4 VPe4 Virtualisation des Processeurs • 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 ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
Application à la Maille Associative • 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 ARCHI Workshop AMINA 2008 – Monastir – 13-15/11/08
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 ALGO Workshop AMINA 2008 – Monastir – 13-15/11/08
Outil de simulation • 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 ALGO Workshop AMINA 2008 – Monastir – 13-15/11/08
Détection de mouvements • 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] • IteratedConditional Modes (ICM) • Minimisation d’une fonction d’énergie • Energie de modèle • Energie d’adéquation ALGO Workshop AMINA 2008 – Monastir – 13-15/11/08
Résultats • 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] ALGO Workshop AMINA 2008 – Monastir – 13-15/11/08
Conclusion • 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/08
Perspectives • 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 CONCLUSION Workshop AMINA 2008 – Monastir – 13-15/11/08
Evaluation Algorithmique • 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 [Denoulet, 2004-08] ALGO Workshop AMINA 2008 – Monastir – 13-15/11/08