1 / 35

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

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.

marina
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Introduction Workshop AMINA 2008 – Monastir – 13-15/11/08

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

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

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

  7. Modèle de Calcul Parallèle Les Réseaux Associatifs [Mérigot,1992-97] Workshop AMINA 2008 – Monastir – 13-15/11/08

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

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

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

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

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

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

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

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

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

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

  18. Architecture La Maille Associative

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

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

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

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

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

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

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

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

  27. Evaluation Algorithmique

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

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

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

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

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

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

  34. Merci de votre attention

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

More Related