Simple, Safe and Efficient Abstractions for Communication and Streaming in Parallel Computing - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2023

Simple, Safe and Efficient Abstractions for Communication and Streaming in Parallel Computing

Des abstractions simples, sûres et efficaces pour la communication et le streaming dans le calcul parallèle

Résumé

Since the end of Dennard scaling, it has become evident that performance gain will come from parallel computing and more particularly, multicore architectures. Programming and drawing maximum efficiency on such architectures has historically proven to be notoriously difficult.Countless tools have been provided to help programmers achieve both program correctness and performance. Futures are such a tool, an abstraction that allows a task to synchronize with the completion of another and retrieve its computed value. Another tool is FIFO channels that allow tasks, known as producers, to store values in a shared buffer from which other tasks, known as consumers, can retrieve and use them, in a safe way.In this thesis, we study and improve on both futures and FIFOs under three different aspects: safety, efficiency, and simplicity. We provide an implementation of dataflow explicit futures, an evolution of futures that grants programmers more expressivity and allows them to write simpler programs that use futures. We also show that dataflow explicit futures make it possible to optimize their transmission, which improves performance. A second contribution is an improvement on FIFOs, called FIFOPlus. It is a FIFO that integrates an analytical model that allows dynamic reconfiguration of the granularity of synchronization of the FIFO. This reconfiguration is based on the computation of an approximation of the time it would take to run the entire program based on a given granularity. Contrarily to many existing related approaches, FIFOPlus only requires an online simple analysis which makes it easy to use.
Depuis la fin du scaling de Dennard, il s’est avéré que de futurs gains de performance viendront du calcul parallèle, et plus particulièrement de l’utilisation d’architectures multicœur. Aussi bien programmer qu’obtenir les performances optimales sur de telles architectures s’est historiquement révélé difficile.De nombreux outils ont été créés afin d’aider les programmeurs à écrire des programmes corrects et performants. Les futurs en sont un exemple : une abstraction qui permet à une tâche de se synchroniser avec la fin d’une autre tâche et de récupérer sa valeur calculée. Les files sont un autre de ces outils : des canaux de communication qui permettent à des tâches, appelées producteurs, de stocker des valeurs dans un espace mémoire partagé, dans lequel d’autres tâches, appelées consommateurs, pourront récupérer ces valeurs, le tout de façon sûre.Dans ce manuscrit nous étudions et améliorons aussi bien les futurs que les files sous trois aspects : sûreté, efficacité et simplicité. Nous fournissons les dataflow explicit futures en tant que bibliothèque. Il s’agit d’une évolution des futurs qui offre aux programmeurs une plus grande expressivité et leur permet d’écrire plus facilement des programmes qui manipulent les futurs. Une seconde contribution, FIFOPlus, améliore les files. FIFOPlus est une file qui embarque un modèle analytique afin de reconfigurer dynamiquement sa granularité de synchronisation. Cette reconfiguration se base sur le calcul d’une approximation du temps nécessaire pour effectuer un transfert de données selon une granularité de synchronisation. Contrairement à plusieurs outils pré-existants, l’analyse est simple et effectuée à l’exécution, ce qui rend l’outil simple d’utilisation.
Fichier principal
Vignette du fichier
MAILLE_Amaury_2023ENSL0041_These.pdf (3.98 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04238803 , version 1 (12-10-2023)

Identifiants

  • HAL Id : tel-04238803 , version 1

Citer

Amaury Maillé. Simple, Safe and Efficient Abstractions for Communication and Streaming in Parallel Computing. Distributed, Parallel, and Cluster Computing [cs.DC]. Ecole normale supérieure de lyon - ENS LYON, 2023. English. ⟨NNT : 2023ENSL0041⟩. ⟨tel-04238803⟩
50 Consultations
26 Téléchargements

Partager

Gmail Facebook X LinkedIn More