High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

Documents pareils
T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

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

Limitations of the Playstation 3 for High Performance Cluster Computing

Principe de symétrisation pour la construction d un test adaptatif

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Métriques de performance pour les algorithmes et programmes parallèles

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Rapport d activité. Mathieu Souchaud Juin 2007

Servir ses utilisateurs sans bureau d accueil physique

La recherche d informations sur le Web par les lycéens : Pourquoi et comment faciliter le travail collaboratif?

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Microsoft Excel : tables de données

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

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

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

Introduction aux systèmes temps réel. Iulian Ober IRIT

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Intérêt du découpage en sous-bandes pour l analyse spectrale

L INRIA, institut français des STIC. (en Île-de-France) 24 septembre 2009

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

L ordinateur quantique (suite)

parée e avec C. Germain, B. Kegl et M. Jouvin CS de l Université Paris Sud

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

MABioVis. Bio-informatique et la

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Tout savoir sur le matériel informatique

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

Sauvegarde collaborative en pair-à-pair

Initiation au HPC - Généralités

Doctorate of Business Administration Programme francophone

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Machines virtuelles Cours 1 : Introduction

UNE MEILLEURE CROISSANCE, UN MEILLEUR CLIMAT

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Compte rendu. Réunion du CREA du mercredi 6 juin Salle : V210

MODELE DE CONVENTION ERDF / <Fournisseur> relative à la dématérialisation fiscale des factures d acheminement

Le Futur de la Visualisation d Information. Jean-Daniel Fekete Projet in situ INRIA Futurs

Évaluation d une architecture de stockage RDF distribuée

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

Architecture distribuée

FORUM NTIC BIG DATA, OPEN DATA Big Data: les challenges, les défis

Thématique : Insertion Professionnelle LES DIFFERENTS PARCOURS OFFERTS PAR L EDUCATION NATIONALE PROCURENT-ILS LES MEMES CHANCES D ACCEDER A L EMPLOI?

Les enjeux et clés de succès des entreprises familiales. kpmg.fr

Perspectives pour l entreprise. Desktop Cloud. JC Devos IBM IT Architect jdevos@fr.ibm.com IBM Corporation

Programmation C. Apprendre à développer des programmes simples dans le langage C

f o r m a t i o n m o d u l a i r e e n c o u r s d e m p l o i

Annexe 6. Notions d ordonnancement.

Quels outils pour prévoir?

Système d administration autonome adaptable: application au Cloud

POURQUOI LES ETATS ET LES ENTREPRISES ONT NORMALEMENT UNE TRESORERIE NETTE NEGATIVE OU POURQUOI LES ETATS SONT NORMALEMENT EN «DEFICIT»

Sécurisation du stockage de données sur le Cloud Michel Kheirallah

Laboratoire de Haute Sécurité. Télescope réseau et sécurité des réseaux

Pair-à-Pair: Architectures et Services

Nom de l application

Photoactivatable Probes for Protein Labeling

Des réels aux flottants : préservation automatique de preuves de stabilité de Lyapunov

Best Styles ou comment capturer au mieux les primes de risque sur les marchés d actions

E-Biothon : Une plate-forme pour accélérer les recherches en biologie, santé et environnement.

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Virtualisation, licences, multicoeurs,...

Université Libre de Tunis

Cours IV Mise en orbite

Outil d autoévaluation LPRPDE. Loi sur la protection des renseignements personnels et les documents électroniques

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Retour d expérience, portage de code Promes dans le cadre de l appel à projets CAPS-GENCI

Défi Cloud Computing

Une bibliothèque de templates pour CUDA

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Architecture des ordinateurs

Maîtrise énergétique des centres de données

sont appliquées à des fonds documentaires, sont destinées à fournir des informations pertinentes sur la structure globale plutôt que sur le contenu.

Le GRAND CONSEIL de la République et canton de Genève décrète ce qui suit :

L apport des logiciels d optimisation des stocks multi-échelons

L équipe doit être constituée d'au moins 3 membres dont le chef de projet. Informations sur le Projet. Scientifiques. Secteurs développement

Techniques d interaction dans la visualisation de l information Séminaire DIVA

A vaya Global Services

Plan de cours ADM 992C Page 1. École des sciences de la gestion Département de management et technologie Université du Québec à Montréal

Un environnement de déploiement automatique pour les applications à base de composants

VOS INFORMATIONS ONT UNE VIE. Nous sommes là pour vous accompagner à chaque étape

INITIATIVE HPC-PME Calcul haute performance pour les PME

Curriculum Vitae (version étendue)

Évaluation des logiciels et autres réalisations

Bienvenue à l UCL, dans une

Cours de Master Recherche

Curriculum Vitae 1 er février 2008

Solutions de gestion de la sécurité Livre blanc

Représentation des Nombres

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

Projet de Portail des thèses. SYNTHESE DE L ENQUETE DESTINEE AUX DOCTORANTS août 2010

Valeur métier. Réduction des coûts opérationnels : Les coûts opérationnels ont été réduits de 37 %. Les systèmes intégrés comme IBM

VOYAGE DANS LE NON COMMUTATIF THIERRY PAUL

Le règlement REACH. Transparence des entreprises au sujet de leur mise en conformité

LA SEGMENTATION DANS LES WEB ANALYTICS

La formation p. 2. Les doctorants témoignent p. 3. Le programme 2010 p. 5. Comment candidater? p. 6. Le label Docteur pour l entreprise p.

UE Programmation Impérative Licence 2ème Année

CREODEV technical auditors of international projects training session 2013

Transcription:

Thèse High Performance by Exploiting Information Locality through Reverse Computing Présentée et soutenue publiquement le 21 décembre 2011 par Mouad Bahi pour l obtention du Doctorat de l université Paris-Sud Jury Dr. Christine Eisenbeis INRIA Saclay - Île-de-France Directrice de thèse Prof. Claire Hanen Université Paris-Ouest Nanterre La Défense Rapporteur Dr. Erven Rohou INRIA Rennes - Bretagne Atlantique Rapporteur Prof. Jean-Luc Gaudiot University of California - Irvine Examinateur Prof. Yannis Manoussakis Université Paris-Sud Examinateur Dr. Claude Tadonki Mines ParisTech Examinateur INRIA Saclay - Île-de-France Université Paris-Sud Alchemy project Ecole doctorale LRI

3 Contents 1 Abstract...................................... 4 2 Contribution................................... 5 3 Organisation du manuscrit de thèse....................... 6

4 CONTENTS Ce rapport est une introduction au manuscrit de thèse intitulé High Performance by Exploiting Information Locality through Reverse Computing. Il aborde le contexte et les principales problématiques de recherche auxquelles nous nous sommes intéressées. Il donne un aperçu des solutions proposées, puis présente l organisation du manuscrit de thèse. Le manuscrit a eté rédigé en anglais et peut être consulté à la bibliothèque de l université Paris-Sud XI. 1 Abstract Les trois principales ressources du calcul sont le temps, l espace et l énergie, les minimiser constitue un des défis les plus importants de la recherche de la performance des processeurs. Cependant, la minimisation de l une de ces ressources à tout prix nécessite une quantité disproportionnée des autres ressources. L usage de la mémoire peut être réduit au prix d une exécution plus lente du programme, et le temps de calcul peut être réduit au prix d une augmentation de la consommation d énergie. C est pourquoi trouver un compromis entre ces trois facteurs est devenu le défi de la théorie de calcul. Dans cette thèse, nous nous intéressons à un quatrième facteur qui est l information. L information a un impact direct sur ces trois facteurs, et nous montrons comment elle contribue ainsi à l optimisation des performances. Landauer [5] a montré que c est la destruction - logique - d information qui coûte de l énergie, ceci est un résultat fondamental de la thermodynamique en physique. Sous cette hypothése, un calcul ne consommant pas d énergie est donc un calcul qui ne détruit pas d information. On peut toujours retrouver les valeurs d origine et intermédiaires à tout moment du calcul, le calcul est réversible. L information peut être portée non seulement par une donnée mais aussi par le processus et les données d entrée qui la génèrent. Quand un calcul est réversible, on peut aussi retrouver une information au moyen de données déjà calculées et du calcul inverse. Donc, le calcul réversible améliore la localité de l information. Par exemple, pour l instruction c: = a + b, l informations dans (a, b, c), (a, b), (a, c) ou (b, c) est la même, donc pas besoin de garder les trois valeurs en vie en même temps car nous pouvons toujours recalculer la troixième valeur à partir des deux autres. a peut être calculé à partir de (b, c) et b à partir de (a, c) par une simple soustraction. Donc les valeurs qui portent la même information peuvent partager le même registre. Par conséquent on dit que la localité de l information peut optimiser l espace de stockage. Pour tirer profit de la localité de l information, nous étudions la conservation de l information au cours d un processus irrversible. Un calcul conventionnel est à priori un calcul irréversible et ne conserve pas l information. L addition de deux nombres, par exemple, détruit l information, sauf si nous conservons l un de ces nombres. Cela nous a conduit à la question quelle est la taille minimal de l information, que nous devons garder afin de générer toutes les valeurs d entrée, d intermédiaire et de sortie, sans avoir besoin d un espace mémoire supplémentaire?. Comme l avantage du calcul réversible est sa capacité à conserver l information, nous abordons la question de rendre un programme réversible en terme d espace mémoire. La réversibilité des programmes a été étudié par Bennett [4]. Une première manière facile pour rendre un programme réversible est de sauvergarder l historique de calcul - variables intermédiaires - au long de l exécution. Cependant le problème d effacer - oublier - cette information, appelé déchet, demeure. Ce déchet peut être utilisé comme une estimation de la consommation d énergie intrinsques des programmes et le minimiser est

5 notre objectif. Bennett [4] a prouvé que si la sortie peut être calculé à partir de l entrée, alors il existe un moyen réversible pour calculer l entrée à partir de la sortie tout en éliminant le déchets de calcul. Cela peut-être au prix d un espace de stockage additionel pour stocker toutes les états intermédiaires au cours du calcul. C est pourquoi nous nous intréssons à étudier la complexité spatiale des programmes réversibles. L optimisation des performances en exploitant la localité de l information peuvent provenir en diminuant la pression en registre et par conséquent en réduisant le spill code. Dans ce travail, nous revisitons le problème d allocation de registres sous l angle de calcul réversible. Tout en étant un très vieux problème en informatique, l allocation de registres est toujours un problème préoccupant en architecture où le fossé entre la vitesse des processeurs et celle de la mémoire continue de se creuser. Dans l allocation de registres, on peut utiliser la rematérialisation au lieu de spilling, autrement dit, on recalcule une valeur v localement à partir des valeurs encore stockées dans les registres au lieu de la garder en vie en mémoire. Par conséquent, l hiérarchie mémoire est peu solicitée. Le recalcul est effectué de la même manière comme il est spécifié dans le programme, mais il y a une partie de l information sur v portée par d autres valeurs w qui ont été calculées directement ou indirectement de v, ce qui donne de nouvelles opportunités pour régénerer la valeur v: en recalculant v à l envers de w. Par conséquent, l une des questions que nous abordons dans cette thèse est de savoir si la rematérialisation via le calcul inverse - rematérialisation inverse - peut aider à l amélioration de l allocation de registres. Cette approche, recalcul versus stockage, conduit également à augmenter significativement le parallélisme d instructions (Cell BE), et le parallélisme de threads sur un multicore avec mémoire et/ou banc de registres partagés (GPU), dans lequel le nombre de threads dépend de manière importante du nombre de registres utilisés par un thread. Ainsi, l ajout d instructions du fait du calcul inverse pour la rematrialisation de certaines variables est largement compensé par le gain en paralllisme. Nos exprimentations sur le code de Lattice QCD porté sur un GPU Nvidia montrent un gain de performances atteignant 11%. nous montrons que la rematérialisation via le calcul inverse est moins couteuse en terme d opérations ajoutées que la rematérialisation classique (recalcul directe). 2 Contribution Le but de cette thèse est double: 1. Tout d abord, nous abordons la question de rendre un programme réversibles en termes de compléxité spatiale. La complexité spatiale est la taille mémoire / nombre de registres nécéssaire pour effectuer un calcul dans les deux sens direct et inverse. Nous donnons une borne infèrieure de la complexité spatiale d un DAG de calcul (graphe dirigé acyclique ) avec oprations réversibles, ainsi qu une heuristique visant à trouver le nombre minimum de registres requis pour une exécution directe et inverse d un DAG. Nous définissons le déchet énergétique comme étant le nombre de regitres supplémentaires nécessaires ce calcul réversible. Nous avons effectué des expérimentations qui suggèrent que la taille du déchet n est jamais plus de 50% de la taille du DAG pour un DAG avec des oprations unaires/binaires. Ce travail a été publié dans la conférence CASES 2009, International Conference on Compilers, Architecture, and Synthesis for Embedded Systems [1]. 2. Deuxièmement, nous revisitons les problèmes d allocation de registre de point de vue du calcul reversible et nous présentons une nouvelle technique de rematérialisation basée sur le recalcul inverse. Nous détaillons un algorithme heuristique pour effectuer la rematérialisation inverse et nous utilisons l application LQCD (Lattice chromodynamique

6 CONTENTS quantique) pour démontrer qu un gain important pouvant aller jusqu 33% sur la pression en registre peut être obtenu. Nous montrons aussi comment le parallélisme d instructions et le paralllisme de threads peuvent être améliorés en effectuant une allocation de registres avec du recalcul inverse. L application de ces optimisations sur les processeurs graphiques GPU permet d augmenter le nombre de threads par Streaming Multiprocesor (SM). Cela s est fait sur le kernel du programme de simulation de la Lattice chromodynamique quantique (LQCD) où nous avons gagné 11% de performance. Ces résultats ont été publiés dans deux conférences internationales: ACM International Conference on Computing Frontiers- CF 2011 [3] et l International Symposium on Computer Architecture and High Performance Computing - SBAC- PAD 2011 [2]. Ce travail a été choisi comme le Best Paper de la session Architecture, et a remporté le prix de Jùlio Salec Aude de la conference SBAC-PAD 2011. 3 Organisation du manuscrit de thèse Après avoir présenté dans la section 1 le contexte, les problèmes de recherche auxquels nous nous sommes intéressés, et avoir présenté dans la section 2 nos contributions, nous présentons ici le plan de la thèse. La partie 1 est consacré à expliquer en détail les concepts du calcul réversible et de la conservation de l informations. Cette partie est composée des chapitres suivants: Chapitre 1 récapitule les travaux antrieurs relatifs à ces concepts et discute des différentes applications et approches du calcul réversible. Dans le chapitre 2, nous nous attaquons au problème d inversement d un programme et nous examinons le coût mémoire de la réversibilité. La partie 2 de cette thèse décrit les diffrentes approches pour améliorer les performances des programmes en exploitant la localité de l informations via le calcul inverse. Cette partie est organisée comme suit: Dans le chapitre 3, nous discutons les travaux antérieurs sur les techniques de l allocation de registres liés à notre travail, dans l objectif de réduire la pression en registre,. Dans le chapitre 4, nous présentons une nouvelle technique de rematérialisation basée basée sur le calcul inverse pour résoudre le problème d accès à la mémoire. Les chapitres 5 et 6 adressent les problématiques du parallélisme d instructions et de threads sur processeurs multi-coeur et montrent comment la rematerialisation inverse peut les améliorer en augmentant la disponibilité des ressources, typiquement les registres. Nous présentons ensuite les résultats de nos expérimentations sur Cell BE et NVIDIA GPU. Enfin, le chapitre 7 contient la conclusion de ce travail et propose des orientations possibles pour des recherches futures.

7 Bibliography [1] Mouad Bahi and Christine Eisenbeis. Spatial complexity of reversibly computable dag. In International Conference on Compilers, Architecture, and Synthesis for Embedded Systems - CASES. ACM, 2009. [2] Mouad Bahi and Christine Eisenbeis. High performance by exploiting information locality through reverse computing. In International Symposium on Computer Architecture and High Performance Computing - SBAC-PAD. IEEE Computer Society, 2011. [3] Mouad Bahi and Christine Eisenbeis. Rematerialization-based register allocation through reverse computing. In International Conference on Computing Frontiers - CF. ACM, 2011. [4] D. H. Bennett. Logical reversibility of a computation. IBM J. Res. Dev., 1973. [5] R. Landauer. Irreversibility and heat generation in the computing process. IBM Journal of Research and Development, 1961.