Etude de méthodes et mécanismes pour un accès transparent et efficace aux données dans un système multiprocesseur sur puce P. Guironnet de Massas To cite this version: P. Guironnet de Massas. Etude de méthodes et mécanismes pour un accès transparent et efficace aux données dans un système multiprocesseur sur puce. Micro et nanotechnologies/Microélectronique. Institut National Polytechnique de Grenoble - INPG, 2009. Français. NNT: . tel-00434379 HAL Id: tel-00434379 https://theses.hal.science/tel-00434379 Submitted on 23 Nov 2009 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. INSTITUT POLYTECHNIQUE DE GRENOBLE N° attribué par la bibliothèque ISBN 978-2-84813-145-0 THESE pour obtenir le grade de DOCTEUR DE L’Institut polytechnique de Grenoble Spécialité : Informatique préparée au laboratoire TIMA dans le cadre de l’Ecole Doctorale Mathématiques, Sciences et Technologies de l'Information, Informatique présentée et soutenue publiquement par Pierre Guironnet de Massas le 12 novembre 2009 Étude de méthodes et mécanismes pour un accès transparent et efficace aux données dans un système multiprocesseur sur puce DIRECTEUR DE THESE Frédéric Pétrot JURY M. Jean-François Méhaut, Président M. Alain Greiner, Rapporteur M. Olivier Temam, Rapporteur M. Frédéric Pétrot, Directeur de thèse M. Olivier Franza, Examinateur M. Thierry Collette, Examinateur Étude de méthodes et mécanismes pour un accès transparent et efficace aux données dans un système multiprocesseur sur puce PierreGuironnetdeMassas 20novembre2009 Remerciements JeremercieenpremierlieumondirecteurdethèseFrédéricPétrot,chefdel’équipeSlSdu laboratoireTIMA,pourletempsqu’ilaconsacréausuividemestravauxetàsonexpertise quim’asouventaidéeàrésoudrelesproblèmesrencontrés. Je remercie également les membres du jury. Messieurs Olivier Temam, directeur de re- cherche à l’INRIA et Alain Greiner, directeur du département SoC au LIP6 d’avoir accepté d’être rapporteurs de ces travaux. Messieurs Thierry Collette, chef de service au CEA LIST etOlivierFranza,ingénieurchezInteld’avoirétéexaminateursdemasoutenancedethèse. Enfin je remercie monsieur Jean-François Méhaut d’avoir présidé le jury lors de ma soute- nancedethèse. Jetiensàremerciertouslescollèguesetamisquim’ontsoutenus,aidésdurantcestrois années passées au laboratoire. Tout particulièrement Xavier Guérin et Patrice Gerin pour leurexpertisetechniquesurlessystèmesd’exploitation,langagesdeprogrammationetou- tilsd’édition.QuentinMeunierpoursonaideprécieuseàlare-lectured’articles,documents etmanuscritdethèse,ainsiquepoursonaidesurlesproblèmesalgorithmiques. Je remercie également tous ceux qui m’ont consacré du temps pour les lectures et re- lectures du manuscrit de thèse, tout particulièrement ma compagne Amandine Brugière et monpèreEricdeMassas,ainsiqueFrédéricRousseau,PaulAmblardetOlivierMullerqui m’ontpermisdemeneràbienmasoutenancedethèse. Enfin,jeremercietouslesmembresdulaboratoireTIMAquim’ontaccordédeleurtemps pourpartageravecmoileurexpertisetechnique,scientifiqueouadministrative. PierredeMassas i ii PierredeMassas Table des matières 1 Introduction 1 2 Problématique 5 2.1 L’accèsàlamémoire,unpointclé . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Unaccèsefficaceàlamémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1 Lalatenced’accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 Labandepassante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.3 Consommation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3 Unaccèstransparentàlamémoire . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.1 Complexitédessystèmesmultiprocesseurs . . . . . . . . . . . . . . . . 8 2.3.2 Abstractiondesdétailsdel’architecture . . . . . . . . . . . . . . . . . . 8 2.3.3 Accèstransparent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.4 Lecontexted’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.5 Cachesetcohérence:denouvellescontraintes . . . . . . . . . . . . . . . . . . 10 2.5.1 Caches:simplicitéetefficacité . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.2 Cohérencedesdonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5.3 Systèmesembarquésetnouvellescontraintes . . . . . . . . . . . . . . . 10 2.6 Évaluationetcomparaisondesprotocolesdecohérencemémoire . . . . . . . 11 2.6.1 Modèlesdesimulationetniveauxd’abstraction . . . . . . . . . . . . . 11 2.7 Migrationdesdonnéesdanslapuce . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7.1 Lapénalitéd’échec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7.2 Lacongestionsurunbancmémoire . . . . . . . . . . . . . . . . . . . . 12 2.7.3 Surfaceutile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.7.4 Lasolutionauxproblèmesoulesproblèmesdelasolution? . . . . . . 12 2.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 I 15 3 Cachesetcohérencedesdonnées 17 3.1 Cache:minimiserlalatenceetlabandepassante . . . . . . . . . . . . . . . . . 17 3.1.1 Accèsaucache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.2 Choixdesdonnées,associativitéetordred’évincement . . . . . . . . . 18 3.1.3 Lecachedesinstructions . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.2 Politiquesdemiseàjourmémoire . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3 Cohérencedesdonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.3.1 Bus:espionnage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3.2 NoC:répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3.3 Protocolewrite-through,positionnement . . . . . . . . . . . . . . . . . 22 PierredeMassas iii TABLEDESMATIÈRES 4 Protocolesdecohérence,miseàjourmémoire 23 4.1 Protocoles,caractéristiquesetmotivations . . . . . . . . . . . . . . . . . . . . . 23 4.1.1 Leprotocolewrite-thoughinvalidateetsesavantages . . . . . . . . . . . 23 4.1.2 Protocolescomparésdanscetteétude . . . . . . . . . . . . . . . . . . . 24 4.2 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.1 Environnementdesimulationetarchitecturematérielle . . . . . . . . . 27 4.2.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.2.3 Systèmed’exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3 Résultatsetcommentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.1 simple_test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.3.2 ApplicationsSPLASH-2etMJPEG . . . . . . . . . . . . . . . . . . . . . 35 4.4 Conclusiondel’étude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.5 Limitationsdel’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5 Méthodesd’évaluationetdecomparaisondesprotocolesdecohérence 39 5.1 Modèlesthéoriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5.2 Simulationsdirigéesparlestraces(tracedriven) . . . . . . . . . . . . . . . . . . 39 5.2.1 Architecturesmonoprocesseurs . . . . . . . . . . . . . . . . . . . . . . . 39 5.2.2 Architecturesmultiprocesseurset«effetpapillon» . . . . . . . . . . . 40 5.3 Simulationsdirigéesparlesévènements(eventdriven) . . . . . . . . . . . . . . 40 5.3.1 Précisionetniveaud’abstraction . . . . . . . . . . . . . . . . . . . . . . 41 5.4 Conceptiondessystèmesetmodélisation . . . . . . . . . . . . . . . . . . . . . 41 6 Méthoded’évaluationdesprotocolesmémoire:uncacheomniscient 43 6.1 Protocoleomniscient:obtenirunmeilleurcasd’évaluation . . . . . . . . . . . 43 6.2 Protocoleomniscient,détailsdelasolution . . . . . . . . . . . . . . . . . . . . 45 6.2.1 Actionsélémentairesd’unprotocole . . . . . . . . . . . . . . . . . . . . 45 6.2.2 Transactionomnisciented’unprotocole . . . . . . . . . . . . . . . . . . 47 6.2.3 Implémentationetsituationsdecompétition . . . . . . . . . . . . . . . 48 6.3 Concernantlaconsistancemémoire . . . . . . . . . . . . . . . . . . . . . . . . . 50 6.4 Détailsdel’implantationdesactionsomniscientespourdesprotocoleswrite- throughetwrite-backinvalidate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 6.4.1 Implémentationdesactionsomniscientes . . . . . . . . . . . . . . . . . 53 6.4.2 Coûtd’implantationdelaméthode . . . . . . . . . . . . . . . . . . . . 55 6.5 Expérimentations,résultatsetcommentaires . . . . . . . . . . . . . . . . . . . 55 6.5.1 simple_test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 6.5.2 ApplicationsSPLASH-2etMJPEG . . . . . . . . . . . . . . . . . . . . . 58 6.6 Limitations:uneborneinférieure«approchée» . . . . . . . . . . . . . . . . . 61 6.6.1 Lechemind’exécutionpeutêtremodifié . . . . . . . . . . . . . . . . . 61 6.7 Conclusiondel’étude. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 II 63 7 Mémoire,placementetgestiondesdonnées 65 7.1 Architecturesdistribuées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 7.1.1 Placementetdéplacementdesdonnées . . . . . . . . . . . . . . . . . . 66 7.1.2 Gestiondel’énergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2 Architecturesintégrées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.1 placementetdéplacementdesdonnées . . . . . . . . . . . . . . . . . . 69 iv PierredeMassas TABLEDESMATIÈRES 7.3 Positionnementdenostravaux . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 8 Migrationdesdonnéesetchoixduplacementidéal 71 8.1 Lepartagedesdonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.1.1 Lepartagedesinstructions . . . . . . . . . . . . . . . . . . . . . . . . . 71 8.1.2 Persistancedesdonnéesencache . . . . . . . . . . . . . . . . . . . . . . 72 8.1.3 Lefauxpartagedesdonnées . . . . . . . . . . . . . . . . . . . . . . . . 72 8.1.4 Lesdonnées:un«tout» . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.2 CPIetplacementdesdonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 8.2.1 Coûtd’accèsàunedonnée . . . . . . . . . . . . . . . . . . . . . . . . . 74 8.2.2 MinimisationduCgPI àl’aided’unplacementoptimaldesdonnées . 74 8.3 Congestiond’accès:heuristique . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.3.1 Causesdelapathologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.3.2 Solutionmiseenplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 8.3.3 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 9 Solutionetimplantationproposéepourlamigrationdynamiquedesdonnées 79 9.1 Déplacerlesdonnéesdanslesystème:choixréalisés . . . . . . . . . . . . . . 79 9.1.1 Granularitédesdéplacements. . . . . . . . . . . . . . . . . . . . . . . . 80 9.1.2 Choixd’unesolutionpourletransfertdesdonnées . . . . . . . . . . . 80 9.2 Implantationdelasolutionproposée . . . . . . . . . . . . . . . . . . . . . . . . 80 9.2.1 Architectureglobale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 9.2.2 Adressagedesdonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 9.2.3 Déclenchementdelamigration . . . . . . . . . . . . . . . . . . . . . . . 83 9.2.4 Placementdesdonnéesetstabilitédusystème . . . . . . . . . . . . . . 84 9.2.5 Transfertdesdonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 9.2.6 Réactivitédusystèmeetsurcoûtliéàlamigration . . . . . . . . . . . . 86 9.2.7 Évaluationapproximativedusurcoûtensurfacedel’implantation . . 86 9.2.8 Cohérencedestraductions. . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.3 Expérimentations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 9.3.1 Environnementdesimulationetarchitecturesmodélisées . . . . . . . 90 9.3.2 Validationdelasolution . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 9.3.3 Évaluationdelasolution . . . . . . . . . . . . . . . . . . . . . . . . . . 91 9.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 10 Limitationsetpistesderecherchedel’étudedemigrationdesdonnées 95 10.1 Limitationsdel’étudeetproblèmespotentiels . . . . . . . . . . . . . . . . . . 95 10.1.1 Plusd’applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 10.1.2 Passageàl’échelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 10.1.3 Variationdesparamètres . . . . . . . . . . . . . . . . . . . . . . . . . . 96 10.2 Améliorationsetvariantesdelasolutionactuelle . . . . . . . . . . . . . . . . . 96 10.2.1 Techniquededéclenchement . . . . . . . . . . . . . . . . . . . . . . . . 96 10.2.2 Compteursd’accèsàbasedefiltresdeBloom . . . . . . . . . . . . . . . 96 10.2.3 Priseencompteducoûtenlatence . . . . . . . . . . . . . . . . . . . . . 97 10.3 Pistesderecherchesettravauxfuturs. . . . . . . . . . . . . . . . . . . . . . . . 98 10.3.1 Supportparlesystèmed’exploitation . . . . . . . . . . . . . . . . . . . 98 10.3.2 Passageàl’échelleetmigrationsenparallèle . . . . . . . . . . . . . . . 99 11 Conclusion 101 PierredeMassas v TABLEDESMATIÈRES 12 Publications 105 vi PierredeMassas
Description: