Combining active object and BSP programs - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2020

Combining active object and BSP programs

Combinaison de programmes à objets actifs et BSP

Résumé

This thesis presents a hybrid programming model between two parallel programming models: active objects and BSP (Bulk Synchronous Parallel). Active objects are specialized in task parallelism; they enable the execution of functionally different codes in parallel and the exchange of their results thanks to futures, which represent these results before they are available. The BSP model enables a quite different parallelism from the one provided by active objects: data-parallelism. This form of parallelism consists of cutting a task into several pieces in order to process them faster in parallel. These two specialized models enable high-level programming and provide interesting properties such as ease of programming and determinism under certain conditions. The point of combining these two models is therefore to allow the writing of programs combining task-parallelism and data-parallelism, while benefiting from the properties of the two models. This thesis studies this new BSP active object model under a theoretical aspect (with operational semantics) and a practical aspect (with a C++/MPI implementation). We also introduce a new concept of distributed future. Our distributed futures consist in unifying the concepts of futures and distributed vectors in order to represent distributed data. This allows a better integration between active objects and BSP. With our distributed futures, our BSP active objects can communicate efficiently with each other in parallel. The efficiency of these distributed futures is shown through benchmark scenarios executed on our implementation. They allow us to confirm a performance improvement of our distributed futures against classical futures.
Cette thèse présente un modèle de programmation hybride entre deux modèles de programmation parallèle : objets actifs et BSP (Bulk Synchronous Parallel). Les objets actifs sont spécialisés dans le parallélisme de tâche ; ils permettent d'exécuter du code fonctionnellement différent en parallèle, et d'échanger leurs résultats grâce à des futurs qui représentent ces résultats avant-même qu'ils soient disponibles. Le modèle BSP permet, quant à lui, un parallélisme assez différent de celui des objets actifs : un parallélisme de donnée. Ce parallélisme consiste à découper une tâche en plusieurs morceaux et de les traiter en parallèle pour aller plus vite. Ces deux modèles spécialisés, permettent une programmation haut niveau et ont des propriétés intéressantes telle que la facilité de programmation et le déterminisme sous certaines conditions. L'intérêt d'allier ces deux modèles est donc de permettre l'écriture de programmes combinant parallélisme de tâche et parallélisme de donnée, tout en bénéficiant des caractéristiques des deux modèles. Cette thèse étudie ce nouveau modèle d'objets actifs BSP sous un aspect théorique (grâce à une sémantique opérationnelle) et pratique (grâce à une implémentation en C++ avec MPI). Un nouveau concept de futurs distribués est également défini ; ils consistent à unifier les concepts de futurs et de vecteurs distribués. Cela permet une meilleure intégration entre objets actifs et BSP : grâce à eux, nos objets actifs BSP peuvent échanger entre eux efficacement en parallèle. L'efficacité de ces futurs distribués est montrée grâce à des benchmarks sur notre implémentation qui comparent les performances des futurs classiques et des futurs distribués.
Fichier principal
Vignette du fichier
2020COAZ4055.pdf (4.23 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-03177856 , version 1 (23-03-2021)

Identifiants

  • HAL Id : tel-03177856 , version 1

Citer

Pierre Leca. Combining active object and BSP programs. Programming Languages [cs.PL]. Université Côte d'Azur, 2020. English. ⟨NNT : 2020COAZ4055⟩. ⟨tel-03177856⟩
123 Consultations
93 Téléchargements

Partager

Gmail Facebook X LinkedIn More