Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation



Documents pareils
Segmentation d'images à l'aide d'agents sociaux : applications GPU

Diagrammes de Package, de déploiement et de composants UML

Initiation au HPC - Généralités

Quoi de neuf en contrôle/commande et systèmes embarqués (RIO, WSN...)?

T E C S O F T 775,00 TTC 645,83 HT

ELP 304 : Électronique Numérique. Cours 1 Introduction

Séminaire RGE REIMS 17 février 2011

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Programmation parallèle et distribuée

Introduction au maillage pour le calcul scientifique

Parallélisme et Répartition

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable

Architecture des ordinateurs

Tests de performance du matériel

Communications performantes par passage de message entre machines virtuelles co-hébergées

Données Réparties. Thibault BERNARD.

Leçon 1 : Les principaux composants d un ordinateur

Eternelle question, mais attention aux arnaques Question qui est souvent mise en premier plan => ce n est pas une bonne idée

Contributions à l expérimentation sur les systèmes distribués de grande taille

Conception et Intégration de Systèmes Critiques

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Etude d Algorithmes Parallèles de Data Mining

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

ADÉQUATION ALGORITHME-ARCHITECTURE APPLIQUÉE AUX CIRCUITS RECONFIGURABLES

Quoi de neuf en LabVIEW FPGA 2010?

Structure de base d un ordinateur

Architecture des Ordinateurs. Partie II:

Rétablissement d un réseau cellulaire après un désastre

Les capitalistes sociaux sur Twitter : détection via des mesures de similarité

Big Graph Data Forum Teratec 2013

Choisir le bon ordinateur. et la bonne imprimante en avec. Les prix bas, la confiance en plus

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

Thème 3 Conception et vérification d architectures de systèmes sur puce

Options indispensables, fortement conseillées pour démarrer sans soucis

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

Architecture des calculateurs

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Algorithmes de recherche d itinéraires en transport multimodal

& collaborative workspace. the new multitouch CONNECT & SHARE COLLABORATE BETTER & DECIDE FASTER CREATE & INNOVATE SAVE & TAKE THE DATA WITH YOU

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Ordinateur portable GAMER - GE620DX

Découvrez les Nouveautés Février 2010 du Catalogue PC Pack PRO

L apport du HPC pour l optimisation. Eric Jacquet-Lagrèze. FORUM TERATEC 28 juin 2011

LYCEE : cycle de détermination (2nde) Technologie S INFORMER : Organiser l information Metttre en relation des informations de nature différente

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Algorithmique I. Algorithmique I p.1/??

Ordinateur Génération

Retours d expériences et perspectives sur les aspects énergétiques

Big Data et Graphes : Quelques pistes de recherche

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

LOT N 1 : ORDINATEURS BORDEREAU DE PRIX IDENTIFICATION DU FOURNISSEUR. Code DESIGNATION QTE PU HT EN EURO MONTANT TOTAL HT EN EURO MONTANT TTC EN EURO

COLLEGE ADRIEN CERNEAU

Conception de réseaux de télécommunications : optimisation et expérimentations

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Relever les défis des véhicules autonomes

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Portable Dell Alienware M18X

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

neotechpro catalogue neotechpro NeoTechPro International

Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU

LOT 1 - ACQUISITION DE SERVEURS INFORMATIQUES LOT 2 - ACQUISITION DE 5 POSTES INFORMATIQUES

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

réduisez la facture électrique

Programmation parallèle et distribuée

Eléments d architecture des machines parallèles et distribuées

Rapport de stage Master 2

Eric Bertrand 08/11/06 Maître de conférence 1

Rapport 2014 et demande pour Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

CAHIER DES CHARGES D IMPLANTATION

Sécuristation du Cloud

UNIVERSITÉ D ORLÉANS ÉCOLE DOCTORALE MIPTIS MATHÉMATIQUES, INFORMATIQUE, PHYSIQUE THÉORIQUE ET INGÉNIEURIE DES SYSTÈMES. THÈSE présentée par :

Architectures d implémentation de Click&DECiDE NSI

Guide de solution Pourquoi un poste de travail?

QUESTION 1 {2 points}

Modélisation de la demande de transport

Big Data et Graphes : Quelques pistes de recherche

Console de supervision en temps réel du réseau de capteurs sans fil Beanair

Cours 3 : L'ordinateur

TRANSPORT ET LOGISTIQUE :

Présentation d HyperV

PREREQUIS TECHNIQUES. Yourcegid Etafi Start

Comprenant Windows 7 Édition Professionel Authentique et/ou d'autres systèmes d'exploitation

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Limitations of the Playstation 3 for High Performance Cluster Computing

Les Bonnes Affaires de Juillet / Aout 2015

Chapitre 5 : Flot maximal dans un graphe

GPA770 Microélectronique appliquée Exercices série A

Initiation. àl algorithmique et à la programmation. en C

Exposé de Pérennisation Comission de la Recherche 26 juin 2014

Une bibliothèque de templates pour CUDA

Rapport d activité. Mathieu Souchaud Juin 2007

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

2015 // des formations. programme. Retrouvez toutes ces informations sur enseirb-matmeca.bordeaux-inp.fr

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Transcription:

Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation Université de Bretagne-Sud Lab-STICC, Lorient, France ROADeF Troyes, France 13-15 Février 2013 1/22

Objectifs Après 7 ans dans un labo d électronique, la RO a contribué à : optimiser la synthèse de haut niveau ordonnancement, affectation, allocation optimiser le placement des données en mémoire optimiser les chemins de données dans les NoC optimiser l utilisation des réseaux de capteurs Mais qu a fait l électronique pour la RO? 2/22

Objectifs Après 7 ans dans un labo d électronique, la RO a contribué à : optimiser la synthèse de haut niveau ordonnancement, affectation, allocation optimiser le placement des données en mémoire optimiser les chemins de données dans les NoC optimiser l utilisation des réseaux de capteurs Mais qu a fait l électronique pour la RO? L objectif de notre travail est de proposer une architecture matérielle dédiée à l optimisation afin d accélérer la résolution de ces problèmes 2/22

Motivations Jusqu où peut-on aller? les ordinateurs offrent de plus en plus de processeurs ils sont équipés de cartes GP-GPU puissantes les logiciels suivent le rythme en s adaptant 3/22

Motivations Jusqu où peut-on aller? les ordinateurs offrent de plus en plus de processeurs ils sont équipés de cartes GP-GPU puissantes les logiciels suivent le rythme en s adaptant Mais sait-on bien utiliser ces nouvelles puissances? sait-on bien programmer en parallèle? les cartes GP-GPU sont-elles faites pour ça? 3/22

Motivations Jusqu où peut-on aller? les ordinateurs offrent de plus en plus de processeurs ils sont équipés de cartes GP-GPU puissantes les logiciels suivent le rythme en s adaptant Mais sait-on bien utiliser ces nouvelles puissances? sait-on bien programmer en parallèle? les cartes GP-GPU sont-elles faites pour ça? Peut-on faire encore mieux avec une architecture dédiée? 3/22

de référence Le plus court chemin plus court chemin d un sommet vers tous les autres nombreux algorithmes disponibles bibliothèques gratuites facilement parallélisable applications en logistique noyau de plusieurs problèmes compliqués 4/22

Algorithme Algo retenu : Dijkstra version séquentielle BOOST avec liste d adjacence version séquentielle C++ avec représentation matricielle version parallèle C++ CUDA version parallèle VHDL 5/22

Instance from DIMACS challenge Description Rome99 Large portion of the directed road network of the city of Rome, Italy, from 1999. The graph contains 3,353 vertices and 8,870 arcs. Vertices correspond to intersections between roads and edges correspond to roads or road segments Source : University of Rome La Sapienza Auteurs : Gianni Storchi, Paolo Dell Olmo, Monica Gentili Date : March 2006 6/22

Rome99 7/22

de test Algo séquentiel Algo parallèle PC standard Carte GP-GPU Sea of Vertexes 8/22

de test Algo séquentiel Algo parallèle PC standard Carte GP-GPU Sea of Vertexes 8/22

PC et Carte GP-GPU PC Standard Processeur : Intel Core 2 RAM : 4 Go Fréquence : 2GHz (et 1.33GHz) 3353 nœuds par processeur Carte GP-GPU Fabriquant : NVIDIA Modèle : GeForce GTX 570 Fréquence : 1.4 GHz 7 nœuds par processeur (480 processeurs) 9/22

Sea of Vertexes Le calculateur est conçu à partir de NoC sur FPGA FPGA (Field Programmable Gate Array) L acronyme FPGA (Field Programmable Gate Arrays) désigne un circuit intégré composé d un réseau de cellules programmables. Chaque cellule est capable de réaliser une fonction, choisie parmi plusieurs possibles. Les interconnexions sont également programmables 10/22

Sea of Vertexes (suite) Sea of Vertexes est une architecture mesh-2d simplex (communications à un seul sens à chaque top horloge) chaque processeur peut effectuer le calcul pour 1 ou plusieurs nœuds du graphe. Les calculs restent très simples il faut éviter les deadlocks 11/22

Mesh 2D full-duplex Une variante de Sea of Vertexes, mais idéale (sans deadlock) En full-duplex les communications sont bi-directionnelles les processeurs sont organisés en grille 2D chacun peut traiter un ou plusieurs nœuds 12/22

Plans d exérience Les tests sont réalisés avec les caractéristiques suivantes : Id. Nom Implémentation # proc nœuds/proc. Fréq. 1 BOOST Séquentielle, LA, C++ 1 tous 2.0 GHz 2 DIJMAT Séquentielle, MAT, C++ 1 tous 1.3 GHz 3 GP-GPU Parallèle, C++/CUDA 480 7 1.4 GHz 4 SOV1 Parallèle, VHDL 3353 1 0.1 GHz 5 SOV840 Parallèle, VHDL 4 840 0.1 GHz 6 MESH5 Parallèle, VHDL 24 140 0.1 GHz 7 MESH21 Parallèle, VHDL 440 8 0.1 GHz LA : liste d adjacence; MAT : Matrice 13/22

Résultats Détails temps de chargement des données pas inclus CPU représente le temps d exécution normalisé à 1GHz ratio est le facteur d accélération par rapport à BOOST Id. Nom CPU (ms) CPU ratio 1 BOOST 28 56 1.00 2 DIJMAT 105 140 0.40 3 GP-GPU 92.5 130 0.43 4 SOV1 1.06 0.106 528 5 SOV840 0.27 0.027 2074 6 MESH5 0.26 0.026 2153 7 MESH21 0.067 0.0067 8358 14/22

Analyse des résultats Organisation SOV et MESH sont organisés en grille X Y (1 processeur sert à communiquer avec l environnement) X : # colonnes Y : # lignes P : # processeurs réellement exploités V : # nœuds par processeur X 2 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 26 Y 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 26 P 1 3 8 15 24 35 48 63 80 99 120 143 168 195 224 255 288 323 360 399 440 483 575 675 V 3353 1118 420 224 140 96 70 54 42 34 28 24 20 18 15 14 12 11 10 9 8 7 6 5 15/22

Evolution de la taille de la grille CPU (ms) 4 3.5 3 2.5 2 1.5 SOV MESH 1 0.5 0 0 5 10 15 20 25 Taille grille 16/22

Comparaison avec une liste triée 3.5 3 2.5 Natural Sorted CPU (ms) 2 1.5 1 0.5 0 0 5 10 15 20 25 30 Taille grille 17/22

Meilleure performance La meilleure performance est obtenue sur un Mesh 14 14 avec 195 processeurs, 18 nœuds par processeurs et une liste des nœuds candidats triée à chaque fois Id. Nom CPU (ms) CPU ratio 1 BOOST 28 56 1.00 2 DIJMAT 105 140 0.40 3 GP-GPU 92.5 130 0.43 4 SOV1 1.06 0.106 528 5 SOV840 0.27 0.027 2074 6 MESH5 0.26 0.026 2153 7 MESH21 0.067 0.0067 8358 8 MESH14* 0.062 0.0062 9032 Les gains peuvent atteindre un ratio de 10 4 par rapport à une version séquentielle 18/22

Extensibilité Les résultats sont-ils extensibles? On test notre matériel sur une instance beaucoup plus large New York City Description Original instance of the DIMACS Challenge,with roads from New York city. The graph contains 264,346 vertices and 733,846 arcs 19/22

Résultats partiels BOOST est bon!!! Sur un graphe 100 fois plus grand, BOOST est seulement 10 fois plus lent...les densités ne sont pas identiques! Id. Nom proc. # nœuds/proc. CPU (ms) CPU ratio 1 BOOST 1 264,346 300 600 1.00 2 MESH2* 3 88,116 189 18.9 31.7 3 MESH3* 8 33,044 78 7.8 76.9 4 MESH4* 15 17,624 61 6.1 98.4 5 MESH5* 24 11,015 46 4.6 130.4 6 MESH6* 35 7,535 36 3.6 166.7 7 MESH7* 48 5,508 26 2.6 230.8 8 MESH8* 63 4,196 19 1.9 315.8 9 MESH9* 80 3,305 14 1.4 426.6 10 MESH10* 99 2,671 13 1.3 461.5 11 MESH11* 120 2,203 10 1.0 600.0 20/22

s et perspectives s Une architecture dédiée est une solution envisageable + gains importants + extensibilité de la méthode difficultés d implémentation simulation nécessaire Perspectives il faut se comparer à une architecture multicœurs réaliser une implantation physique partitionner le graphe au mieux (k-partition) la RO au service de l électronique pour la RO 21/22

Visit our web site... OR-Group@Lab-STICC, Lorient http://www.univ-ubs.fr/or/ Contact : marc.sevaux@univ-ubs.fr 22/22