Titre original :

Paradigmes de programmation répartie et parallèle utilisant des graphes de tâches pour supercalculateurs post-pétascale

Titre traduit :

Distributed and parallel programming paradigms using graphs of tasks for post-petascale supercomputers

Mots-clés en français :
  • Graphe de tâches
  • Programmation multi-niveau

  • Ordonnancement (informatique)
  • Programmation parallèle (informatique)
  • Traitement réparti
  • Calcul intensif (informatique)
  • Parallélisme (informatique)
  • Langages de programmation
Mots-clés en anglais :
  • Graphs of tasks
  • Task programming
  • Programming paradigmes
  • Parallel and distributed programming applications
  • Multi-level programming

  • Langue : Anglais
  • Discipline : Informatique et applications
  • Identifiant : 2021LILUI005
  • Type de thèse : Doctorat
  • Date de soutenance : 16/03/2021

Résumé en langue originale

Depuis le milieu des années 1990, les bibliothèques de transmission de messages sont les technologies les plus utilisées pour développer des applications parallèles et distribuées. Des modèles de programmation basés sur des tâches peuvent être utilisés, par exemple, pour éviter les communications collectives sur toutes les ressources comme les réductions, les diffusions ou les rassemblements en les transformant en multiples opérations avec des tâches. Ensuite, ces opérations peuvent être planifiées par l'ordonnanceur pour placer les données et les calculs de manière à optimiser et réduire les communications de données.L'objectif principal de cette thèse est d'étudier ce que doit être la programmation basée sur des tâches pour des applications scientifiques et de proposer une spécification de cette programmation distribuée et parallèle, en expérimentant avec plusieurs représentations simplifiées d'applications scientifiques importantes pour TOTAL, et de méthodes linéaire classique dense et creuses. Au cours de la thèse, plusieurs langages de programmation et paradigmes sont étudiés. Des méthodes linéaires denses pour résoudre des systèmes linéaires, des séquences de produit matrice vecteur creux et la migration sismique en profondeur pré-empilement de Kirchhoff sont étudiées et implémentées en tant qu'applications basées sur des tâches.Une taxonomie, basée sur plusieurs de ces langages et paradigmes est proposée. Des logiciels ont été développés en utilisant ces modèles de programmation pour chaque application simplifiée. À la suite de ces recherches, une méthodologie pour la programmation de tâches parallèles est proposée, optimisant les mouvements de données en général et, en particulier, pour des applications scientifiques ciblées.

Résumé traduit

Since the middle of the 1990s, message passing libraries are the most used technology to implement parallel and distributed applications. However, they may not be a solution efficient enough on exascale machines since scalability issues will appear due to the increase in computing resources. Task-based programming models can be used, for example, to avoid collective communications along all the resources like reductions, broadcast or gather by transforming them into multiple operations on tasks. Then, these operations can be scheduled by the scheduler to place the data and computations in a way that optimize and reduce the data communications. The main objective of this thesis is to study what must be task-based programming for scientific applications and to propose a specification of such distributed and parallel programming, by experimenting for several simplified representations of important scientific applications for TOTAL, and classical dense and sparse linear methods.During the dissertation, several programming languages and paradigms are studied. Dense linear methods to solve linear systems, sequences of sparse matrix vector product and the Kirchhoff seismic pre-stack depth migration are studied and implemented as task-based applications. A taxonomy, based on several of these languages and paradigms is proposed.Software were developed using these programming models for each simplified application. As a result of these researches, a methodology for parallel task programming is proposed, optimizing data movements, in general, and for targeted scientific applications, in particular.

  • Directeur(s) de thèse : Petiton, Serge
  • Président de jury : Jalby, William
  • Membre(s) de jury : Calandra, Henri - Chapman, Barbara - Dhaenens, Clarisse - Tsuji, Miwako
  • Rapporteur(s) : Daydé, Michel - Deelman, Ewa
  • Laboratoire : Centre de Recherche en Informatique, Signal et Automatique de Lille - Centre de Recherche en Informatique- Signal et Automatique de Lille - UMR 9189 / CRIStAL
  • École doctorale : École doctorale Sciences pour l'ingénieur (Lille)

AUTEUR

  • Gurhem, Jérôme
Droits d'auteur : Ce document est protégé en vertu du Code de la Propriété Intellectuelle.
Accès libre