Introduction Moteur de workflows Conclusions. École normale supérieure de Lyon. 11 mai 2006. Ordonnancement de workflows dans DIET



Documents pareils
Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Chapitre 2. Cluster de calcul (Torque / Maui) Grid and Cloud Computing

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François

MEAD : temps réel et tolérance aux pannes pour CORBA

Grid Technology. ActiveMQ pour le grand collisionneur de hadrons (LHC) Lionel Cons Grid Technology Group Information Technology Department

Middleware et services de la grille

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

L art d ordonnancer. avec JobScheduler. François BAYART

Déploiement générique d applications sur plates-formes hétérogènes distribuées

Generic deployment of applications on heterogeneous distributed platforms

Le moteur de workflow JBPM

Introduction au Déploiement

Prise en compte des ressources dans les composants logiciels parallèles

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

SysFera-DS : vers une solution de portail scientifique collaboratif chez EDF. Benjamin Depardon

Architecture de la grille

NFP111 Systèmes et Applications Réparties

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Présentation d Epicard

GRIDKIT: Pluggable Overlay Networks for Grid Computing

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

3A-IIC - Parallélisme & Grid GRID : Middleware

Module BD et sites WEB

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Configuration Interface for MEssage ROuting

Simulation de graphes de tâches

Introduction aux «Services Web»

Ordonnancement temps réel

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Catalogue Formation «Vanilla»

Fusion : l interopérabilité chez Oracle

CORBA haute performance

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Vérifier la qualité de vos applications logicielle de manière continue

XtremWeb-CH : Une plateforme Global Computing pour les applications de haute performance

Parcours en deuxième année

Commerce Server 2009 R2

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Université Libre de Tunis

Architectures d'intégration de données

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

1. Introduction à la distribution des traitements et des données

La fédération des infrastructures cloud

Conception des systèmes répartis

DATASET / NETREPORT, propose une offre complète de solutions dans les domaines suivants:

UC4 effectue tout l ordonnancement batch pour Allianz en Allemagne

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Générer du code à partir d une description de haut niveau

Equilibrage de charge (Load

Les environnements de calcul distribué

PRODIGUER un noeud français de distribution de données GIEC/IPCC

Un ordonnanceur stupide

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

4.2 Unités d enseignement du M1

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

Exécution de processus

Composants Logiciels. Le modèle de composant de CORBA. Plan

Exécution de processus

W4 - Workflow La base des applications agiles

PostgreSQL, le cœur d un système critique

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Mise en place d'un cluster

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Moderniser. le système d information et le portefeuille applicatif.

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

SQL Parser XML Xquery : Approche de détection des injections SQL

Open Source Job Scheduler. Installation(s)

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Mineure Architectures Orientées Services SOA Exécution de processus. Mineure SOA. Exécution de processus

Open Source Job Scheduler

Evaluation des performances de programmes parallèles haut niveau à base de squelettes algorithmiques

JF SMA'14. A3 - Agent Anytime Anywhere. une plateforme à agents distribués Oct l'expertise middleware.

2011 Hakim Benameurlaine 1

Infrastructures Parallèles de Calcul

Cours de Génie Logiciel

Software Engineering and Middleware A Roadmap

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

Introduction aux systèmes temps réel. Iulian Ober IRIT

Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI SYNALTIC 24 RUE DE L EGLISE VINCENNES

Lʼavenir des grilles Des grilles aux Clouds avec quelques «petits problèmes» de recherche. F. Desprez INRIA

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Semarchy Convergence for MDM La Plate-Forme MDM Évolutionnaire

Bases Java - Eclipse / Netbeans

La solution de GTB complète avec BACnet. La compétence reconnue de SAUTER.

1 Description générale de VISFIELD

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Intergiciels pour la répartition CORBA : Common Object Request Broker. Patrice Torguet torguet@irit.fr Université Paul Sabatier

JavaServer Pages (JSP)

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Notre Catalogue des Formations IT / 2015

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Formations Qlikview et Infini Conseil. Business Intelligence

Transcription:

École normale supérieure de Lyon Groupe de travail GRAAL 11 mai 2006

Plan Introduction 1 Introduction Les Workflows Présentation de DIET Motivations et objectifs 2 3

Plan Introduction Les Workflows Présentation de DIET Motivations et objectifs 1 Introduction Les Workflows Présentation de DIET Motivations et objectifs 2 3

Les workflows Introduction Les Workflows Présentation de DIET Motivations et objectifs Ensemble de tâches connectées La structure du workflow représente la relation temporelle entre ses tâches Généralement représenté par un DAG (Direct Acyclic Graph) chaque nœud est une tâche chaque nœud peut avoir un certain nombre de fils ou de parents à condition qu il n y ait pas de boucle

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs

Exécution des workflows Les Workflows Présentation de DIET Motivations et objectifs Deux questions Quel ordre d exécution entre tâches prêtes? Mapping des tâches sur les ressources?

Les Workflows Présentation de DIET Motivations et objectifs de workflow : approche aléatoire Seules les dépendances de données permettent de définir l ordre d exécution, les tâches prêtes sont exécutées dans un ordre aléatoire Exemple : Condor DAGMan Inconvénient: aucune prise en compte de la structure du workflow ni des ressources disponibles Amélioration: prendre en compte à un instant donné les caractéristiques des tâches prêtes exemple: exécuter la tâche avec le temps de complétion (exécution+transfert de données) le plus petit (le plus grand)

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (1/3) Cas 1: ressources homogènes nombre de ressources > nombres de tâches prêtes l approche aléatoire est «optimale»

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (1/3) Cas 1: ressources homogènes nombre de ressources > nombres de tâches prêtes l approche aléatoire est «optimale» Cas 2: ressources hétérogènes s1 s1? s1? s1?

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (1/3) Cas 1: ressources homogènes nombre de ressources > nombres de tâches prêtes l approche aléatoire est «optimale» Cas 2: ressources hétérogènes nombre de ressources < nombres de tâches prêtes s1?? s1 s1

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (1/3) Cas 1: ressources homogènes nombre de ressources > nombres de tâches prêtes l approche aléatoire est «optimale» Cas 2: ressources hétérogènes nombre de ressources < nombres de tâches prêtes Affectation d une priorité à chaque tâche s1?? s1 s1

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (2/3) Plusieurs heuristiques existantes (HEFT, CPA, CPR, etc.). Prise en compte de la structure du workflow, des ressources disponibles et éventuellement des coûts de communication Obtient généralement de meilleurs résultats par rapport à l approche aléatoire

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (2/3) Plusieurs heuristiques existantes (HEFT, CPA, CPR, etc.). Prise en compte de la structure du workflow, des ressources disponibles et éventuellement des coûts de communication Obtient généralement de meilleurs résultats par rapport à l approche aléatoire Inconvénients: hypothèse 1 : le client est seul hypothèse 2 : les ressources de la plateforme et leurs caractéristiques sont statiques

Les Workflows Présentation de DIET Motivations et objectifs de workflow: approche statique (3/3) Algorithmes avec deux passes première passe: affectation d une priorité aux nœuds deuxième passe: mapping sur les ressources List Scheduling Généralement l objectif est de minimiser le «chemin critique» 10 10 10 150 100 10 10 400 10 10 200 10 10 10

des workflows Les Workflows Présentation de DIET Motivations et objectifs Pour ordonnancer un workflow, il faut disposer : d un algorithme/une heuristique des mesures/prédictions de performance Mapping + Scheduling un environnement de grid computing DIET + un moteur de workflow

Architecture de DIET Introduction Les Workflows Présentation de DIET Motivations et objectifs DIET en quelques points middleware + outils pour la grille

Architecture de DIET Introduction Les Workflows Présentation de DIET Motivations et objectifs DIET en quelques points middleware + outils pour la grille approche agent Client Grid Engine

Architecture de DIET Introduction Les Workflows Présentation de DIET Motivations et objectifs DIET en quelques points middleware + outils pour la grille approche agent broker = agents hiérarchiques Client Grid Engine Client MA

Architecture de DIET Introduction Les Workflows Présentation de DIET Motivations et objectifs DIET en quelques points middleware + outils pour la grille approche agent broker = agents hiérarchiques basé sur RPC Client Grid Engine Client MA

DIET: fonctionnement Introduction Les Workflows Présentation de DIET Motivations et objectifs Client MA

DIET: fonctionnement Introduction Les Workflows Présentation de DIET Motivations et objectifs Client MA 1 le client demande un service au Master Agent

DIET: fonctionnement Introduction Les Workflows Présentation de DIET Motivations et objectifs Client MA 1 le client demande un service au Master Agent 2 le Master Agent interroge sa hiérarchie

DIET: fonctionnement Introduction Les Workflows Présentation de DIET Motivations et objectifs Client MA 1 le client demande un service au Master Agent 2 le Master Agent interroge sa hiérarchie 3 le Master Agent renvoie une liste de au client

DIET: fonctionnement Introduction Les Workflows Présentation de DIET Motivations et objectifs Client MA 1 le client demande un service au Master Agent 2 le Master Agent interroge sa hiérarchie 3 le Master Agent renvoie une liste de au client 4 le client exécute le service en invoquant directement le

Objectifs Introduction Les Workflows Présentation de DIET Motivations et objectifs Avoir un environnement de gestion de workflows construction et exécution utilisation d algorithmes d ordonnancement avancé extensible pour la gestion de multi-workflows prise en charge des variations du système

Plan Introduction 1 Introduction Les Workflows Présentation de DIET Motivations et objectifs 2 3

Langages de workflows Pas de standard (XML, scripts) BPEL pas adapté Exemples: Condor DAGMan: script Pegasus: DAX (xml) Taverna: XScuffl (xml) La plupart des moteurs de workflows utilisent des DAG ou des réseaux de pétri. Le workflow est décrit à deux niveaux: abstrait: description uniquement de l application concret: description de l application et des informations nécessaires à l exécution

Description du workflow dans DIET Format XML Profile diet: problème (id), paramètres (in, out et inout) Description des nœuds et des dépendances de donnés <dag> <node id="node_id" path="path_name" [mul="value"]> <arg name = "arg_id" type="data_type" value="arg value" [base_type="base type"] [nb_rows="nb_rows"] [nb_cols="nb_cols"] [matrix_order="matrix_order"] /> <in name = "port_id" type="data_type" [sink="source id"] [base_type="base type"] [nb_rows="nb_rows"] [nb_cols="nb_cols"] [matrix_order="matrix_order"] [mul="value"] /> <out name = "port_id" type="data_type" [sink="sink id"] [base_type="base type"] [nb_rows="nb_rows"] [nb_cols="nb_cols"] [matrix_order="matrix_order"] [mul="value"] /> </node>... </dag>

Quelle architecture? Introduction

Quelle architecture? Introduction Généralement le méta-ordonnanceur de workflows se trouve côté client

Quelle architecture? Introduction Généralement le méta-ordonnanceur de workflows se trouve côté client Client MA Workflow Manager

Introduction Workflow manager dans le client Inconvénients: aucune coopération entre les différents workflow managers.

Introduction Workflow manager dans le client Inconvénients: aucune coopération entre les différents workflow managers. Avantages: plus de souplesse pour tester de nouveaux algorithmes d ordonnancement.

Architecture 1: fonctionnement Client MA

Architecture 1: fonctionnement 1 Le client traite la description du workflow Client MA Workflow Description

Architecture 1: fonctionnement 1 Le client traite la description du workflow Client Workflow Description {Problems} MA 2 Le client envoie la liste des problèmes composants le workflow au Master Agent pour vérifier que le workflow peut être exécuté.

Architecture 1: fonctionnement 1 Le client traite la description du workflow Client Workflow Description {Problems} MA 2 Le client envoie la liste des problèmes composants le workflow au Master Agent pour vérifier que le workflow peut être exécuté. 3 En cas de succès,le client reçoit la liste des serveurs nécessaires à l exécution du workflow.

Architecture 1: fonctionnement 1 Le client traite la description du workflow Scheduling Client Workflow Description {Problems} MA 2 Le client envoie la liste des problèmes composants le workflow au Master Agent pour vérifier que le workflow peut être exécuté. 3 En cas de succès,le client reçoit la liste des serveurs nécessaires à l exécution du workflow. 4 Construction de l ordonnancement puis exécution du workflow

Architecture 1: fonctionnement 1 Le client traite la description du workflow Scheduling Client Workflow Description {Problems} MA 2 Le client envoie la liste des problèmes composants le workflow au Master Agent pour vérifier que le workflow peut être exécuté. 3 En cas de succès,le client reçoit la liste des serveurs nécessaires à l exécution du workflow. 4 Construction de l ordonnancement puis exécution du workflow 5 Récupération des résultats.

Architecture 2 : Workflow manager externe centralisé : le MA DAG Motivation: gérer le multi-workflows/multi-clients Client MA DAG MA Client Client

Architecture 2 : Workflow manager externe centralisé : le MA DAG Motivation: gérer le multi-workflows/multi-clients problème : gestion des données! WF Client WF MA DAG Client WF Client

Architecture 2 : Workflow manager dans le client et le MA DAG Diviser le méta-ordonnanceur entre le client et le MA DAG

Architecture 2 : Workflow manager dans le client et le MA DAG Diviser le méta-ordonnanceur entre le client et le MA DAG La partie client du méta-ordonnanceur :

Architecture 2 : Workflow manager dans le client et le MA DAG Diviser le méta-ordonnanceur entre le client et le MA DAG La partie client du méta-ordonnanceur : gestion des données

Architecture 2 : Workflow manager dans le client et le MA DAG Diviser le méta-ordonnanceur entre le client et le MA DAG La partie client du méta-ordonnanceur : gestion des données La partie MA DAG du méta-ordonnanceur:

Architecture 2 : Workflow manager dans le client et le MA DAG Diviser le méta-ordonnanceur entre le client et le MA DAG La partie client du méta-ordonnanceur : gestion des données La partie MA DAG du méta-ordonnanceur: création d un ordonnancement initial des workflows soumis

Architecture 2 : Fonctionnement Mode 1: ordering et mapping le client envoie la description du workflow au MA DAG

Architecture 2 : Fonctionnement Mode 1: ordering et mapping le client envoie la description du workflow au MA DAG le MA DAG (vérifie auprès du MA) la disponibilité des services

Architecture 2 : Fonctionnement Mode 1: ordering et mapping le client envoie la description du workflow au MA DAG le MA DAG (vérifie auprès du MA) la disponibilité des services en cas de succès le MA DAG construit son ordonnancement (ordering et mapping) et renvoie la réponse au client.

Architecture 2 : Fonctionnement Mode 1: ordering et mapping le client envoie la description du workflow au MA DAG le MA DAG (vérifie auprès du MA) la disponibilité des services en cas de succès le MA DAG construit son ordonnancement (ordering et mapping) et renvoie la réponse au client. le client exécute le workflow

Architecture 2 : Fonctionnement Mode 1: ordering et mapping le client envoie la description du workflow au MA DAG le MA DAG (vérifie auprès du MA) la disponibilité des services en cas de succès le MA DAG construit son ordonnancement (ordering et mapping) et renvoie la réponse au client. le client exécute le workflow Mode 2: ordering

Architecture 2 : Fonctionnement Mode 1: ordering et mapping le client envoie la description du workflow au MA DAG le MA DAG (vérifie auprès du MA) la disponibilité des services en cas de succès le MA DAG construit son ordonnancement (ordering et mapping) et renvoie la réponse au client. le client exécute le workflow Mode 2: ordering la réponse du MA DAG comprend uniquement un ordering, le client repasse par le Master Agent pour trouver le bon.

Architecture 2 Introduction MA DAG Ordering Ordering + Mapping MA Client Workflow execution Client Workflow execution

Implémentation Introduction Au lieu d en choisir une, les architectures retenues peuvent être utilisées conjointement dans la même plateforme. Architecture 1: le workflow manager est dans le client Architecture 2: utilisation du MA DAG deux modes de fonctionnement: le MA DAG fournit le scheduling complet (ordering et mapping) ou seulement l ordering

Schedulers dans DIET Introduction Scheduler de base (par défaut): Scheduler aléatoire Flexibilité pour ajouter de nouveaux ordonnanceurs Architecture 1: le client peut fournir son propre scheduler ne nécessite pas la recompilation de DIET Architecture 2: choix du scheduler à la compilation ajouter un nouveau scheduler la recompilation de DIET Abstract Workflow Scheduler virtual void execute() = 0 virtual void reschedule() = 0 User defined Scheduler virtual void execute(); virtual void reschedule();

Implémentation dans DIET Schedulers avancés Problème de prédiction de performances/temps de communication Prédiction de performances FAST ou CORI (Plugin Scheduler)?

Implémentation dans DIET Schedulers avancés Problème de prédiction de performances/temps de communication Prédiction de performances FAST ou CORI (Plugin Scheduler)? Plugin Scheduler Temps de communication NWS? nécessité de mise en œuvre simple pour l utilisateur Implémentation actuelle: version réduite de HEFT : seule l estimation des temps d exécution est prise en compte.

Réordonnancement Introduction l ordonnanceur utilisé: prédiction risques d erreur grille de calcul variations dynamiques

Réordonnancement Introduction l ordonnanceur utilisé: prédiction risques d erreur grille de calcul variations dynamiques il y a un risque que l ordonnancement construit ne soit pas «optimal»

Réordonnancement Introduction l ordonnanceur utilisé: prédiction risques d erreur grille de calcul variations dynamiques il y a un risque que l ordonnancement construit ne soit pas «optimal» nécessité de réordonnancer le workflow en cas de problèmes

Quand réordonnancer? périodiquement par le MA DAG

Quand réordonnancer? périodiquement par le MA DAG lorsqu un nouveau client demande à exécuter un workflow

Quand réordonnancer? périodiquement par le MA DAG lorsqu un nouveau client demande à exécuter un workflow par le MA lorsque de nouveaux serveurs apparaissent/disparaissent de la plateforme

Quand réordonnancer? périodiquement par le MA DAG lorsqu un nouveau client demande à exécuter un workflow par le MA lorsque de nouveaux serveurs apparaissent/disparaissent de la plateforme quand l ordonnancement prévu par le client ne correspond pas aux temps réels

Quand réordonnancer? périodiquement par le MA DAG lorsqu un nouveau client demande à exécuter un workflow par le MA lorsque de nouveaux serveurs apparaissent/disparaissent de la plateforme quand l ordonnancement prévu par le client ne correspond pas aux temps réels

Quand réordonnancer? périodiquement par le MA DAG lorsqu un nouveau client demande à exécuter un workflow par le MA lorsque de nouveaux serveurs apparaissent/disparaissent de la plateforme quand l ordonnancement prévu par le client ne correspond pas aux temps réels delta et le nombre de nœuds

Implémentation Introduction Client MA Scheduler DIET_client client rescheduler

Implémentation Introduction Client MA Scheduler Scheduling problem DIET_client client rescheduler

Implémentation Introduction Client MA Scheduler DIET_client client rescheduler

Implémentation Introduction Client MA Scheduler DIET_client client rescheduler send remaining workflow

Implémentation Introduction Client MA Scheduler DIET_client client rescheduler

Implémentation Introduction Client MA Scheduler DIET_client client rescheduler

Plan Introduction 1 Introduction Les Workflows Présentation de DIET Motivations et objectifs 2 3

Design et implémentation d une architecture pour la gestion des workflows dans DIET Possibilité de la gestion multi-workflows Flexibilité dans la mise en place d algorithmes de gestion de workflow (niveau client et MA Dag) aléatoire et HEFT Mise en place de mécanismes de réordonnancement