Distributed Management of Scientific Workflows for High-Throughput Plant Phenotyping
Gestion distribuée de workflows scientifiques pour le phénotypage des plantes à haut débit
Résumé
In many scientific domains, such as bio-science, complex numerical experiments typically require many processing or analysis steps over huge datasets. They can be represented as scientific workflows. These workflows ease the modeling, management, and execution of computational activities linked by data dependencies. As the size of the data processed and the complexity of the computation keep increasing, these workflows become data-intensive. In order to execute such workflows within a reasonable timeframe, they need to be deployed in a high-performance distributed computing environment, such as the cloud.
Plant phenotyping aims at capturing plant characteristics, such as morphological, topological, phenological features. High-throughput phenotyping (HTP) platforms have emerged to speed up the phenotyping data acquisition in controlled conditions (\textit{e.g.} greenhouse) or in the field. Such platforms generate terabytes of data used in plant breeding and plant biology to test novel mechanisms. These datasets are stored in different geodistributed sites (data centers). Scientists can use a Scientific Workflow Management System (SWMS) to manage the workflow execution over a multisite cloud.
In bio-science, it is common for workflow users to reuse other workflows or data generated by other users. Reusing and re-purposing workflows allow the user to develop new analyses faster. Furthermore, a user may need to execute a workflow many times with different sets of parameters and input data to analyze the impact of some experimental step, represented as a workflow fragment, \textit{i.e.}, a subset of the workflow activities and dependencies. In both cases, some fragments of the workflow may be executed many times, which can be highly resource-consuming and unnecessary long. Workflow re-execution can be avoided by storing the intermediate results of these workflow fragments and reusing them in later executions.
In this thesis, we propose an adaptive caching solution for efficient execution of data-intensive workflows in monosite and multisite clouds. By adapting to the variations in tasks’ execution times, our solution can maximize the reuse of intermediate data produced by workflows from multiple users. Our solution is based on a new SWMS architecture that automatically manages the storage and reuse of intermediate data. Cache management is involved during two main steps: workflows preprocessing, to remove all fragments of the workflow that do not need to be executed; and cache provisioning, to decide at runtime which intermediate data should be cached. We propose an adaptive cache provisioning algorithm that deals with the variations in task execution times and the size of data. We evaluated our solution by implementing it in OpenAlea and performing extensive experiments on real data with a complex data-intensive application in plant phenotyping.
Our main contributions are i) a SWMS architecture to handle caching and cache-aware scheduling algorithms when executing workflows in both monosite and multisite clouds, ii) a cost model that includes both financial and time costs for both the workflow execution, and the cache management, iii) two cache-aware scheduling algorithms one adapted for monosite and one for multisite cloud, and iv) and an experimental validation on a data-intensive plant phenotyping application.
Dans de nombreux domaines scientifiques, les expériences numériques nécessitent généralement de nombreuses étapes de traitement ou d'analyse sur d'énormes ensembles de données. Elles peuvent être représentées comme des workflows scientifiques. Ces workflows facilitent la modélisation, la gestion et l'exécution d'activités de calcul liées par des dépendances de données. Comme la taille des données traitées et la complexité des calculs ne cessent d'augmenter, ces workflows deviennent orientés-données. Afin d'exécuter ces workflows dans un délai raisonnable, ils doivent être déployés dans un environnement informatique distribué à haute performance, tel que le cloud.
Le phénotypage des plantes vise à capturer les caractéristiques des plantes, telles que les caractéristiques morphologiques, topologiques et phénologiques. Des plateformes de phénotypage à haut débit ont vu le jour pour accélérer l'acquisition de données de phénotypage dans des conditions contrôlées (par exemple en serre) ou en plein champ. Ces plates-formes génèrent des téraoctets de données utilisées en sélection et en biologie végétale. Ces ensembles de données sont stockés dans différents sites géo-distribués. Les scientifiques peuvent utiliser un système de gestion de workflow scientifique (SWMS) pour gérer l'exécution du workflow sur un cloud multisite.
Dans le domaine des sciences biologiques, il est courant que les utilisateurs des workflows réutilisent d'autres analyses ou des données générées par d'autres utilisateurs. L’adaptation et la réutilisation des workflows permet à l'utilisateur de développer de nouvelles analyses plus rapidement. En outre, un utilisateur peut avoir besoin d'exécuter un workflow plusieurs fois avec différents ensembles de paramètres et de données d'entrée pour analyser l'impact d'une étape expérimentale quelconque, représentée comme un fragment du workflow. Dans les deux cas, certains fragments du workflow peuvent être exécutés plusieurs fois, ce qui peut être très consommateur de ressources et inutilement long. La ré-exécution du workflow peut être évitée en stockant les résultats intermédiaires de ces fragments et en les réutilisant dans des exécutions ultérieures.
Dans cette thèse, nous proposons une solution de mise en cache adaptative pour l'exécution efficace de workflows orientés-données dans des clouds monosites et multisites. En s'adaptant aux variations des temps d'exécution des tâches, notre solution peut maximiser la réutilisation des données intermédiaires produites par les workflows de plusieurs utilisateurs. Notre solution est basée sur une nouvelle architecture de SWMS qui gère automatiquement le stockage et la réutilisation des données intermédiaires. La gestion du cache intervient au cours de deux étapes principales : le prétraitement des workflows, pour supprimer tous les fragments du workflow qui n'ont pas besoin d'être exécutés ; et le provisionnement du cache, pour décider au moment de l'exécution quelles données intermédiaires doivent être mises en cache. Nous proposons un algorithme adaptatif de mise en cache qui tient compte des variations des temps d'exécution des tâches et de la taille des données. Nous avons évalué notre solution en l'implémentant dans OpenAlea et en réalisant des expériences approfondies sur des données réelles avec une application complexe orientés-données de phénotypage de plantes.
Nos principales contributions sont i) une architecture SWMS pour gérer les algorithmes d’ordonnancement utilisant le cache lors de l'exécution de workflows dans des clouds monosites et multisites, ii) un modèle de coût qui inclut les coûts financiers et temporels, iii) deux algorithmes d’ordonnancement adapté au cache, en monosite et multisite clouds, et iv) une validation expérimentale sur une application de phénotypage de plantes orienté-données.
Origine | Fichiers produits par l'(les) auteur(s) |
---|