A Decentralized Management Approach for Data-intensive Scientific Workflows

Directeur : Patrick Valduriez, DR

Encadrante : Hinde Bouziane, MCF

Dans ZENITH, nous nous intéressons à la gestion des applications scientifiques qui se caractérisent par des traitements complexes sur de grandes masses de données. Ces applications sont souvent représentées par des workflows qui décrivent un séquencement de tâches (traitements) et les dépendances de données entre ces tâches. Plusieurs environnements de workflows scientifiques existent [3]. Toutefois, ils n’ont pas de support efficace pour la gestion de grandes quantités de données. Notre équipe souhaite élaborer une approche originale de gestion qui prend mieux en compte les masses de données et qui permet un placement des tâches et des données sur une infrastructure matérielle à grande échelle, avec l’objectif de rendre plus efficace l’exécution globale des applications. Pour ce faire, nous proposons une approche originale qui combine les avantages du cloud computing et du pair-à-pair (P2P). Ce travail s’incrira aussi dans le cadre du projet IBC (Institut de Biologie Computationnelle) et se fera en collaboration avec des utilisateurs biologistes, en particulier du CIRAD.

Le concept récent du Cloud Computing s’appuie essentiellement sur des avancées technologiques qui sont les architectures orientées services, la virtualisation des ressources (de calcul et de stockage), et des systèmes de gestion de bases de données non-relationnelles, dits NoSQL. Ces technologies permettent la souplesse d’utilisation et d’extension (élasticité) attendue par le Cloud. Il permet aux utilisateurs d’externaliser simplement le stockage de données et l’exécution d’applications à grande échelle. Pour la manipulation de grandes masses de données, des systèmes de bases de données NoSQL, ont vu le jours, comme HDFS (Hadoop Distributed File System) ou BigTable-GFS (Google File System), proposés par les grands industriels du domaine (Big Data).

Les environnements de workflows scientifiques existants [3] ont été développés principalement pour concevoir facilement et exécuter un ensemble de tâches. Par exemple, dans le domaine de la biologie, l’environnement Galaxy permet aux utilisateurs d’introduire des catalogues de fonctions/tâches et de composer ces fonctions avec d’autres existantes pour construire un workflow. Ces environnements proposent donc une conception de workflow très orientée processus et où les informations sur les dépendances de données (flot de données) sont purement syntaxiques. De plus, les infrastructures d’exécution ciblées sont très orientées calcul, de type (cluster ou grille (grid). Enfin les jeux de données analysées et produites sont souvent sous-forme de fichiers, peu structurés. Des mécanismes simples et classiques pour leur gestion sont utilisés: ils sont soit stockés sur un disque centralisé, soit transférés directement entre les tâches. Cette approche n’est pas adaptée pour les applications centrées données (goulet d’étranglement, transfert très couteux, etc.).

L’objectif de cette thèse est de proposer une approche originale pour le partitionnement et le placement distribué des données et des tâches qui s’appuierait à la fois sur une description déclarative (orientée flots de données) des workflows, sur les nouvelles approches NoSQL pour la distribution et la gestion des données et enfin, sur la souplesse d’une architecture orientée services. De plus, une approche dynamique est nécessaire pour tenir compte de l’élasticité du cloud. Elle s’appuiera sur une architecture P2P, en particulier SON [4] qui est en cours de développement dans ZENITH.

Une représentation déclarative a pour avantage d’être capable d’exprimer une composition d’opérateurs algébriques (Map, Reduce, Split, Filter, etc) sur les données manipulées à partir de laquelle il est possible de paralléliser automatiquement les traitements et d’optimiser le placement des tâches et des données. Un travail dans ZENITH a conduit à une première représentation algébrique pour les workflows scientifique [1], proche de celle utilisée dans les systèmes de gestion parallèle et distribuée des bases de données [2] qui ont été largement étudiés. Nous souhaitons nous en inspirer pour influencer le placement des tâches en fonction du placement des données gérées par des systèmes NoSQL.

Quant aux architectures P2P, elles ont l’avantage d’être dynamiques, autonomes et permettent le passage à l’échelle. Il est donc question de proposer des algorithmes de placement décentralisés et capables de prendre des décisions à partir des observations du changement de l’environnement d’exécution, de placements des données et de contraintes de performances (exemple, délais d’exécution maximum). Dans ce cadre nous pouvons aussi nous inspirer des travaux existants autour de l’adaptation (exemple [7]).

Pour valider ces travaux, un prototype sera implémenté en utilisant le middleware SON [4], un système de fichier distribué comme HDFS (Hadoop Distributed File System) et sera introduit dans un environnement de workflow existant comme Galaxy (utilisé par le CIRAD avec qui nous avons des collaborations). Un déploiement et des expérimentations seront réalisée sur la plateforme Grid5000.

Les références suivantes donnent un aperçu sur des travaux récents et des défis actuels autour de la programmation et de la gestion de l’exécution des applications scientifiques :

[1] E. Ogasawara, J. F. Dias, D. de Oliveira, F. Porto, P. Valduriez, M. Mattoso: “An Algebraic Approach for Data-centric Scientific Workflows”. In Proceedings of the VLDB Endowment (PVLDB), 4(12): 1328-1339, 2011.

[2] M. T. Özsu, P. Valduriez: “Principles of Distributed Database Systems”. Third Edition, Springer ISBN 978-1-4419-8833-1, 2011.

[3] I. J. Taylor, E. Deelman, D. B. Gannon, M. Shields: “Workflows for e-Science: Scientific Workflows for Grids”. First Edition, Springer ISBN 978-1-84628-757-2, 2007.

[4] A. Ait-Lahcen, D. Parigot: “A Lightweight Middleware for developing P2P Applications with Component and Service-Based Principles”. In 15th IEEE International Conference on Computational Science and Engineering. Paphos, Cyprus, 2012.

[5] E. Pacitti, P. Valduriez, M. Mattoso: “Grid Data Management: open problems and new issues”. Journal of Grid Computing, 5(3): 273-281, 2007.

[6] E. Pacitti, R. Akbarinia, M. El Dick: “P2P Techniques for Decentralized Applications”. Synthesis Lectures on Data Management, Morgan & Claypool Publishers, 2012.

[7] M. El Dick, E. Pacitti, R. Akbarinia, B. Kemme: “Building a Peer-to-Peer Content Distribution Network with High Performance, Scalability and Robustness”. Information Systems, (2): 222-247, 2011.

[8] M. Aldinucci, H. Lilia Bouziane, M. Danelutto, C Pérez: “STKM on SCA: a Unified Framework with Components, Workflows and Algorthmic Skeletons”. In 15th International European Conference on Parallel and Distributed Computing (Euro-Par 2009), Netherlands, 2009.

[9] A. Benoit, H. L. Bouziane, Y. Robert: “Optimizing the Reliability of Pipelined Applications under Throughput Constraints”. In 9th International Symposium on Parallel and Distributed Computing (ISPDC), pages 1-8, 2010. (Best paper award)

[10] R. Ranjan, M. Rahman and R. Buyya: “A Decentralized and Cooperative Workflow Scheduling Algorithm”. In Cluster Computing and the Grid, 2008.

[11] O. Sonmez, N. Yigitbasi, S. Abrishami, A. Iosup and D. Epema: “Performance analysis of dynamic workflow scheduling in multicluster grids”. In Proceedings of the 19th ACM International Symposium on High Performance Distributed Computing, 2010.

Permanent link to this article: https://team.inria.fr/zenith/une-approche-decentralisee-elastique-pour-des-workflows-scientifiques-orientes-donnees/