Multisite Management of Scientific Workflows in the Cloud
Gestion multisite de workflows scientifiques dans le cloud
Résumé
Scientific Workflows (SWfs) allow scientists to easily express multi-step computational activities, such as load input data files, process the data, run analyses, and aggregate the results. A SWf describes the dependencies between activities, typically as a graph where the nodes are activities and the edges express the activity dependencies.
SWfs are often data-intensive, i.e. process, manage or produce huge amounts of data. In order to execute data-intensive SWfs within a reasonable time, Scientific Workflow Management Systems (SWfMSs) can be used and deployed in High Performance Computing (HPC) environments (cluster, grid or cloud). By offering stable services and virtually infinite computing, and storage resources at a reasonable cost, the cloud becomes appealing for SWf execution. SWfMSs can be easily deployed in the cloud using Virtual Machines (VMs). A cloud is typically made of several sites (or data centers), each with its own resources and data. Since a SWf may process data located at different sites, SWf execution should be adapted to a multisite cloud while exploiting distributed computing or storage resources.
In this thesis, we study the problem of efficiently executing data-intensive SWfs in a multisite cloud, where each site has its own cluster, data and programs. Most SWfMSs have been designed for computer clusters or grids, and some have been extended to operate in the cloud, but only for single site. To address the problem in the multisite case, we propose a distributed and parallel approach that leverages the resources available at different cloud sites. To exploit parallelism, we use an algebraic approach, which allows expressing SWf activities using operators and automatically transforming them into
multiple tasks.
The main contribution is a multisite architecture for SWfMSs and distributed techniques to execute SWfs. The main techniques consist of SWf partitioning algorithms, a dynamic VM provisioning algorithm, an activity scheduling algorithm and a task scheduling algorithm. SWf partitioning algorithms partition a SWf to several fragments, each to be executed at a different cloud site. The VM provisioning algorithm is used to dynamically create an optimal combination of VMs for executing workflow fragments at each cloud site. The activity scheduling algorithm distributes the SWf fragments to the cloud sites based on a multi-objective cost model, which combines both execution time and monetary cost. The task scheduling algorithm directly distributes tasks among different cloud sites while achieving load balancing at each site. Our experiments show that our approach can reduce considerably the overall cost of SWf execution in a multisite cloud.
Les workflows scientifiques (SWfs) permettent d’exprimer facilement des activités de calcul sur des données, comme charger des fichiers d’entrée, exécuter des analyses, et agréger les résultats. Un SWf décrit les dépendances entre les activités, généralement comme un graphe où les noeuds sont des activités et les arêtes représentent les dépendances entre
les activités. Les SWfs sont souvent orientés-données, manipulant de grandes quantités de données. Afin d’éxecuter des SWfs orientés-données dans un temps raisonnable, les systèmes de gestion de workflows scientifiques (SWfMSs) peuvent être utilisés et déployésdans un environnement de calcul à haute performance (HPC).
Parce qu’il offre des services stables et des ressources de calcul et de stockage quasiment infinies à un coût raisonnable, le cloud devient attractif pour l’exécution de SWfs. Un cloud est généralement constitué de plusieurs sites (ou data centers), chacun avec ses propres ressources et données. L’exécution de SWf doit alors être adaptée à un cloud multisite tout en exploitant les ressources de calcul ou de stockage distribuées.
Dans cette thèse, nous étudions le problème d’exécution efficace des SWfs orientésdonnées dans un cloud multisite. La plupart des SWfMSs ont été conçus pour des clusters ou grilles, et quelques uns ont été étendus pour le cloud, en les déployant simplement dans des machines virtuelles (VMs), mais seulement pour un seul site. Pour résoudre le problème dans le cas multisite, nous proposons une approche distribuée et parallèle qui exploite les ressources disponibles de chaque site. Pour exploiter le parallélisme, nous utilisons une approche algébrique, qui permet d’exprimer les activités en utilisant des
opérateurs et les transformer automatiquement en de multiples tâches.
La principale contribution de la thèse est une architecture multisite et des techniques distribuées pour exécuter les SWfs. Les principales techniques utilisent des algorithmes de partitionnement de SWf, un algorithme dynamique pour le provisionnement de VMs, un algorithme d’ordonnancement des activités et un algorithme d’ordonnancement de tâches. Les algorithmes de partitionnement de SWfs décomposent un SWf en plusieurs fragments, chacun pour un site différent. L’algorithme dynamique pour le provisionnement de VMs est utilisé pour créer une combinaison optimale de VMs pour exécuter des fragments à chaque site. L’algorithme d’ordonnancement des activités distribue les fragments vers les sites, selon un modèle de coût multi-objectif, qui combine à la fois temps d’exécution et coût monétaire. L’algorithme d’ordonnancement de tâches distribue directement des tâches sur les différents sites en réalisant l’équilibrage de charge au niveau de chaque site. Nos expérimentations montrent que notre approche peut réduire considérablement le coût global de l’exécution de SWfs dans un cloud multisite.