Fondements algébriques pour l'optimisation de la programmation itérative avec des collections de données distribuées
Auteur / Autrice : | Sarah Chlyah |
Direction : | Pierre Genevès, Nabil Layaida |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 23/05/2022 |
Etablissement(s) : | Université Grenoble Alpes |
Ecole(s) doctorale(s) : | École doctorale Mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 1995-....) |
Partenaire(s) de recherche : | Laboratoire : Institut national de recherche en informatique et en automatique (France ; 1979-....) |
Jury : | Président / Présidente : Noël de Palma |
Examinateurs / Examinatrices : Sara Bouchenak | |
Rapporteur / Rapporteuse : Dario Colazzo, Angela Bonifati |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Le but de ma thèse est d’étudier l’optimisation et la distribution de requêtes, principalement de requêtes récursives, qui manipulent de larges volumes dedonnées. Premièrement, je passe en revue différents langages de requêtes ainsi que différentes approches formelles liées aux représentations intermédiaires de ces langages. Les langages et les approches formelles sont examinés à la lumière d’un nombre d’aspects tels que l’expressivité, la distribution, les optimisations automatiques, la manipulation des données complexes, le requêtage de graphes, l’incompatibilité d’impédence, avec une attention particulière portée à la capacité à exprimer des requêtes récursives. Dans un second temps, je propose des extensions d’approches formelles suivant deux axes de travaux de recherche: (1) les algèbres basées sur le modèle de données relationnel et pour lesquels je propose Dist-μ-RA, ainsi que (2) les algèbres basées sur les collections de types arbitraires, et pour lesquels je propose μ-monoids.Dist-μ-RA est un système qui étend l’algèbreμ-RA au contexte distribué.Concernant l’aspect algébrique, il s’intègre bien avec l’algèbre relationnelle et hérite de ses avantages tels que sa capacité à optimiser les requêtes quelles que soient leur forme initiale et leur traduction vers l’algèbre. Concernant l’aspect de distribution, différentes stratégies d’évaluation de termes algébriques récursifs dans un contexte distribué ont été étudiées. Ces stratégies sont implémentées sous forme de plans physiques avec des techniques qui automatisent la distribution des données afin de réduire les coûts de communication. Les résultats expérimentaux sur des graphes réels et synthétiques montrent l’efficacité de l’approche proposée par rapport aux systèmes existants.μ-monoids est une extension de l’algèbre de monoides avec un opérateur de point fixe qui modélise la récursion. L’algèbre μ-monoids est capable de modéliser des calculs récursifs sur des collections distribuées similaires à ceux effectués sur les plateformes Big Data. L’intérêt principal de l’opérateur de point fixe “μ” est que, sous réserve de conditions souvent remplies en pratique, il peut-être considéré comme un homomorphisme de monoides et peut donc être évalué avec des boucles parallèles avec une fusion finale plutôt qu’avec une boucle globale nécessitant des transferts réseau supplémentaires à chaque itération. Des règles de réécritures pour optimiser les termes récursifs, telles que le poussage de filtres, ont été proposées.Je propose en particulier une condition suffisante sur le terme évalué en boucle(φ) quelque soit sa forme, ainsi qu’une méthode qui utilise les types polymorphes et un système de types comme celui de Scala pour vérifier si cette condition est remplie. Je propose également une règle qui préfiltre les points fixes avant les jointures. La troisième règle permet de pousser des fonctions d’agrégation dans les points fixes. Les expériences menées sur la plateforme Spark montre les gains en performances apportés par ces optimisations systématiques.