Mémoires notifiantes pour applications flux-de-données sur machines parallèles à mémoire partagée
Auteur / Autrice : | Alemeh Ghasemi |
Direction : | Jean-Philippe Diguet, Kévin Martin |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 18/05/2022 |
Etablissement(s) : | Lorient |
Ecole(s) doctorale(s) : | École doctorale Mathématiques et sciences et technologies de l'information et de la communication (Rennes) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire en sciences et techniques de l'information, de la communication et de la connaissance - Laboratoire des sciences et techniques de l'information- de la communication et de la connaissance / Lab-STICC |
Jury : | Président / Présidente : Jean-François Nezan |
Examinateurs / Examinatrices : Midia Reshadi, Alix Munier-Kordon | |
Rapporteurs / Rapporteuses : Frédéric Rousseau, Jocelyn Sérot |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Les machines parallèles à mémoire partagée (SMP) constituent une solution pratique pour mettre en œuvre des architectures multiprocesseurs puisqu'elles proposent une vue unifiée de la mémoire aux programmeurs ce qui facilite le développement des applications, au prix d'un mécanisme coû- teux de cohérence de cache. Par ailleurs, les modèles de calcul flux-de-données offrent aux développeurs l'expressivité pour spécifier des applications complexes, en explicitant le parallélisme, permettant ainsi d'exploiter les ressources disponibles. Cependant, une implémentation d'une application flux-de-données sur SMP nécessite de nombreuses synchronisations qui impliquent la cohérence de cache et pénalisent les performances. Cette thèse s'intéresse à la compréhension des sources d’inefficacité dans l'exécution de ces applications et propose des techniques qui s'appuient sur la synchronisation exprimée dans le modèle pour en améliorer les performances. Tout d'abord, nous avons extrait les caractéristiques des applications selon plusieurs métriques, puis nous avons évalué deux techniques de gestion mémoire, Copy-on-Write et Non-Temporal Memory, pour soulager la pression sur la mémoire. Enfin, en contribution principale, nous proposons une unité matérielle spécialisée, proche de la mémoire, appelée NM4SMP (Notifying Memory for SMP) permettant d'accélérer les applications flux-de-données en y intégrant les règles de déclenchement des calculs. L'approche est validée sur des applications dites statiques et reconfigurables. Les résultats montrent une accélération de 1,23 et une économie d'énergie de 15% pour une plateforme basée sur des processeurs Intel et plusieurs applications réelles.