Optimisation de requêtes dans un environnement de grille de données



Documents pareils
Lamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

AGROBASE : un système de gestion de données expérimentales

Langage SQL : créer et interroger une base

OpenPaaS Le réseau social d'entreprise

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Equilibrage de charge (Load

BIG Data et R: opportunités et perspectives

Architecture de la grille

Application de K-means à la définition du nombre de VM optimal dans un cloud

TP Bases de données réparties

Les bases de données

Principe de symétrisation pour la construction d un test adaptatif

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

Instructions Mozilla Thunderbird Page 1

Les simulations dans l enseignement des sondages Avec le logiciel GENESIS sous SAS et la bibliothèque Sondages sous R

Pascale Borla-Salamet Consultante Avant Vente Oracle France. Oracle Exadata Performance et Optimisation de votre Datawarehouse

Forthcoming Database

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

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

Face Recognition Performance: Man vs. Machine

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

Services à la recherche: Data Management et HPC *

REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sécurisation du stockage de données sur le Cloud Michel Kheirallah

Intelligence Economique - Business Intelligence

Présentation du module Base de données spatio-temporelles

SHAREPOINT PORTAL SERVER 2013

VMware : De la Virtualisation. au Cloud Computing

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

Introduction aux SGBDR

Big Data et Graphes : Quelques pistes de recherche

Qualité de la conception de tests logiciels : plate-forme de conception et processus de test

Modélisation d objets mobiles dans un entrepôt de données

Plan. Department of Informatics

Formation continue BNF // Programme des cours 2015

Modélisation multi-agent d allocation des ressources : application à la maintenance

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

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

Stage Ingénieur en développement logiciel/modélisation 3D

Introduction aux bases de données

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

Chapitre Introduction : Notion de Bases de données. 2. Définition : BD Répartie. 3. Architecture des SGBD. 4. Conception des bases réparties

APX et VCE, Modèle d industrialisation de l intégration et du déploiement. Olivier BERNARD, VCE

RÉSUMÉ DE THÈSE. L implantation des systèmes d'information (SI) organisationnels demeure une tâche difficile

Rountable conference on the revision of meat inspection Presentation of the outcome of the Lyon conference

Completed Projects / Projets terminés

Architecture distribuée

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Développements algorithmiques au LIAMA et àamap en vue de l'analyse d'une scène forestière

Differential Synchronization

Session S12 Les bases de l optimisation SQL avec DB2 for i

physicien diplômé EPFZ originaire de France présentée acceptée sur proposition Thèse no. 7178

Cours Bases de données

TP11 - Administration/Tuning

Comment Créer une Base de Données Ab Initio

Le Cloud Computing est-il l ennemi de la Sécurité?

Une architecture hybride Client/Serveur et Pair-à-Pair pour le streaming vidéo sur l Internet

Le Langage SQL version Oracle

Une méthode d apprentissage pour la composition de services web

Scénarios économiques en assurance

Exemple PLS avec SAS

Title Text. Gestion de données de mobilité Mobility data management

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Hervé Couturier EVP, SAP Technology Development

XtremWeb-HEP Interconnecting jobs over DG. Virtualization over DG. Oleg Lodygensky Laboratoire de l Accélérateur Linéaire

Change the game with smart innovation

Service de Détection de Pannes avec SNMP

Windows Server Chapitre 1: Découvrir Windows Server 2008

Techniques avancées de traitement numérique pour la réduction d interférences dans les réseaux de capteurs corporels

Structure fonctionnelle d un SGBD

Data issues in species monitoring: where are the traps?

VERSION 64 BITS DE SAS ET VOS FICHIERS MICROSOFT OFFICE 32-BITS

Hadoop, les clés du succès

Editing and managing Systems engineering processes at Snecma

LADIES IN MOBILITY. LIVE TWEET Innovative City

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

La rencontre du Big Data et du Cloud

Ingénierie et gestion des connaissances

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

1 Introduction et installation

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Projet ViSaGe : implémentation de l administration et du monitoring de ViSaGe (Virtualisation du Stockage appliquée aux Grilles informatiques)

RFID: Middleware et intégration avec le système d'information Olivier Liechti

FOURTH SESSION : "MRP & CRP"

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

Techniques d optimisation des requêtes dans les data warehouses

BNP Paribas Personal Finance

Once the installation is complete, you can delete the temporary Zip files..

Introduction à MapReduce/Hadoop et Spark

Stratégie DataCenters Société Générale Enjeux, objectifs et rôle d un partenaire comme Data4

Fiche produit ifinance v4

Transcription:

Optimisation de requêtes dans un environnement de grille de données Ayouni Houssam Eddine* - Belbachir Hafida* *Département d informatique Université des Sciences et de la Technologie Mohamed Boudiaf Oran Oran, Algérie ayouni.houssam@gmail.com, h_belbach@yahoo.fr RÉSUMÉ. Malgré l évolution rapide des systèmes réseaux à grande échelle, les grilles de données affrontent de nouveaux problèmes pendant la phase de traitement de requêtes distribuées. Nous proposons dans cet article, une nouvelle stratégie permettant d'optimiser l'exécution d'une requête en tenant compte les problèmes de découverte de nœuds, et l allocation efficace des répliques. Ainsi, nous proposons d'exécuter chaque opérateur relationnel d'un plan d'exécution par deux agents mobiles, en attachant chaque agent au nœud stockant la réplique intervenant dans l opérateur. Enfin, un modèle de coût est déterminé afin de calculer le coût d'exécution d une requête dans un environnement de grille. ABSTRACT. Despite the rapid evolution of large scale network systems, data grids are facing new problems during the distributed queries processing. We propose in this paper, a new strategy for optimizing the query execution, taking into account the problems of discovery of nodes, and the efficient allocation of replicas. Thus, we propose to execute each relational operator of an execution plan by two mobile agents, by attaching each agent to the node storing the replica involved in the operator. A mobile agent can migrate to another site to improve the query execution cost. This cost is calculated using a cost model that we have determined. MOTS-CLÉS : grille de données, optimisation de requête, base de données, model de cout, agents mobiles. KEYWORDS: data grid, query optimization, database, cost model, mobile agents. Volume 1 2002, pages 1 à 7

2 Volume 1 2002 1. Introduction Avec l'évolution rapide des systèmes réseaux à grande échelle tel que l internet, les utilisateurs peuvent interroger des sources de données autonomes, hétérogènes et distribuées sur un réseau à grande échelle. Les grilles de données sont l un des systèmes à grande échelle les plus utilisé pour exploiter ces sources de données. Les utilisateurs d une grille de données peuvent soumettre leurs requêtes d une façon autonome, hétérogènes et qui fait intervenir des sources de données distribuées provenant de plusieurs sites reliés par un réseau de faible débit, et de forte latence. Ces caractéristiques posent de nouveaux problèmes qui empêchent la bonne exécution de la requête. La réplication des données est l un des problèmes majeurs (la découverte, et l allocation des répliques). Notre contribution est composée de plusieurs solutions, afin d assurer la bonne exécution de la requête : définir une méthode de découverte de ressources (sites et répliques), en se basant su le service d'information grille (GIS), la description d un algorithme pour l allocation efficace de répliques intervenantes dans la requête, nous utilisons ensuite un modèle d exécution à base d agents mobiles pour l exécution efficace des opérateurs relationnels binaires (jointures) de la requête, et enfin, un modèle de cout est déterminé pour calculer le cout d exécution de requêtes. 2. Travaux lies Dans les derniers décennies, de nombreux chercheurs ont consacrés leurs recherches dans le cadre de traitement de requêtes dans les environnements de grille [1, 2, 3, 4, 5, 6]. Dans ce contexte, la conception et l implémentation d'une technique efficaces d'optimisation de requêtes pour l'environnement de grille a pris une très grande importance. Prenant en compte les contraintes de la grille, un modèle de coût pour le calcul du coût d exécution d une requête, a été introduit dans [1]. Dans [2], un autre modèle de coûts est définit pour les bases de données des environnements de grille dynamique, un algorithme d'optimisation de requête dynamique est aussi utilisé pour les plans de requête, qui sont adaptés aux fluctuations de l'environnement de grille. Les auteurs de [3,4] proposent un nouveau modèle d'optimisation des requêtes distribuées qui intègre trois phases d'optimisation de requêtes : la création du plan d exécution, la génération d un plan parallèle, et le choix optimal des sites pour l'exécution de ce plan. Dans [5], un optimiseur de requête sémantique pour un environnement de grille est proposé, ce dernier traite essentiellement la phase d optimisation de requête selon trois modules : l extension sémantique du requête de l utilisateur, la sélection de ressources, et le traitement parallèle. Dans [6], l équipe de Hameurlain a défini un modèle d exécution à base d agents mobiles pour l optimisation dynamique de requêtes

Modèle d'article et recommandations aux auteurs 3 réparties à grande échelle. Bien que ces techniques d optimisation des requêtes, soient puissantes, elles aussi souffrent d un certain nombre de limites. La première limite est dû au fait que ces approches ne prend pas en considération les paramètres de hétérogénéité des nœuds de la grille (la mémoire disponible, la vitesse de traitement etc.), alors que le deuxième problème est que ces approches ne traitent pas le problème de la réplication des données sur les différents nœuds de la grille. Ces limites influencent négativement sur les performances et le temps de réponse global de la requête. 3. La structure Traitement de requête dans un environnement de grille de données Dans cette section, nous présentons notre architecture d évaluateur de requêtes en environnement de grille de données, en expliquant les différentes phases. SQL Site émetteur Requête Décomposition Résultat Schéma de fragmentation Arbre syntactique Fragmentation de données Exécution Grille Agent Mobiles Sélections des répliques Requête répartie fragmentée Fragment La découverte de ressources Figure 1 : Architecture du system proposé. 1. La décomposition et la fragmentation de données : À ce niveau, la requête est réécrite sous forme normalisée, puis l arbre syntaxique (plan de la requête) est généré. 2. La découverte de ressources (sites stockant les répliques) : dans cette phase, il s agit de la découverte d un sous-ensemble de sites disponibles pour l exécution de la requête. Dans ce contexte, une stratégie simple consiste à découvrir les ressources de calcul. La stratégie de découverte se base sur le service d'information grille (GIS) [7], qui contient des métadonnées statiques décrivant les sites: Time_I/O (temps nécessaire pour lire et écrire une page), Time_CPU (temps pour effectuer une opération, ex : temps de comparaison de deux attributs), Size_MEMO (taille mémoire en octet i.e. la taille GIS Liste des répliques

4 Volume 1 2002 d une page p = 4 Ko), et Trans(S i, S j ) (temps moyen pour envoyer une page du site Si vers Sj, avec i j). Cette phase consiste à découvrir pour chaque réplique R référencée dans la requête, l ensemble des sites E={S i,,s m } stockant R. A chaque site S k, est associé un temps Time(S emet, S k ) représentant le temps de réponse du site S k au site émetteur S emet, avec : Time(S emet, S k ) = Time_I/O(S k ) +Time_CPU(S k ) + Trans(S k, S emet ) (1) 3. Sélection des répliques : Dans cette phase, on va sélectionner les sites qui vont minimiser le coût d exécution de la requête. L idée est de choisir si possible pour chaque opérateur les sites qui sont communs à ses opérandes (op i ). Dans ce contexte, on a proposé la stratégie suivante : (1) tout d abord, le plan de la requête est divisé en plusieurs niveaux (voir exemple Figure 2). La figure 2 donne un exemple d un plan d exécution de requête, ou les nœuds sont les opérateurs, et les feuilles (R1,R2,R3,R4,R5,R6) sont des fragments. A chaque fragment est associé à l ensemble de sites ou se trouve une copie du fragment. Level 2 op 5 Level 1 op 3 op 4 Level 0 op 1 op 2 R5 R6 R1 R2 R3 R4 E1 4 ={S2,S5} E2 4 ={S3,S4} E1 1 ={S1,S2,S3} E2 1 ={S1,S3,S4} E1 2 ={S1,S3,S5} E2 2 ={S1,S3,S5,S6} Figure 2 : Exemple de plan de requête avec niveaux. Dans l étape (2), on applique l algorithme suivant : i : indice des niveaux j : indice des opérateurs du même niveau E1 j : L ensemble des sites stockant les répliques du 1 er opérande de l opérateur op j E2 j : L ensemble des sites stockant les répliques du 2 eme opérande de l opérateur op j i := 0 ; j :=1 ; pour chaque niveau i faire pour chaque operateur j (op j ) faire trouver les sites en commun stockant les opérandes : E opj = {E1 j E2 j } Si E opj = alors : Pour chaque E1 j et E2 j faire : choisir le site S k avec min (Time(S emet, S k )) Fin E = {E op 1 E opj } avec E opj /*trouver les sites en commun entre les opérateurs du même niveau */ Si E alors : Pour chaque E opj faire : Si S emet E alors choisir S emet sinon choisir S k tel que S k E et min(time(s emet, S k )) Sinon (Si E = ) alors :pour chaque operateur E opj faire : Fin Si S emet E opj alors choisir S emet sinon choisir S k tel que S k E opj et min(time(s emet, S k ) Algorithme 1 : Allocation des répliques.

Modèle d'article et recommandations aux auteurs 5 4. Exécution : On a défini dans la partie précédente le choix initial des sites qui contiennent les répliques nécessaires pour l exécution de la requête. Dans ce contexte, on va définir une méthode d exécution des opérateurs binaires OPj (jointure) du niveau en cours, en se basant sur un modèle d agents mobiles. Un agent mobile est une entité logicielle autonome et adaptable, capable de se déplacer dynamiquement (code, données) pour accéder à des données ou à des ressources distantes. Notre stratégie d exécution va suivre deux cas : 1 er cas : si les deux opérandes (répliques) alloués précédemment se trouvent dans le même site alors : Exécution immédiate de l opérateur par le même site en utilisant la jointure simple (pas du transfert de données) 2 eme cas : si les deux opérandes (R et S) alloués se trouvent dans deux sites différents (S1 et S2) alors : On associe un agent mobile (AG1 et AG2) pour chaque site (S1 et S2 respectivement), et chaque agent vérifie : 1) L état local du site Si en se basant sur les paramètres machine (la mémoire disponible, la mémoire utilisée, le nombre d'e/s par seconde, le nombre de processus actifs, le nombre des processus suspendus [8]) fournit par le GIS. 2) L état de la bande passante entre son binôme en basant sur les paramètres réseaux (BW(S1,S2) 1 : la charge de la bande passante entre S1 et S2) fournit par le GIS. a) Si un site S i est saturé alors l agent mobile (AG) associé doit : 1) Migrer vers un autre site S k parmi les sites qui contient la même réplique (R), découvertes précédemment s il existe avec min(coutmigration Si,Sk AG 2 + CoutProd(R)) 3, sinon on passe vers l étape 2: 2) Migrer avec la réplique vers un autre site S k avec min(coutmigration Si,Sk AG ). b) Sinon on applique l algorithme de semi jointure simple en permettant à l agent de choisir le site d exécution de la jointure dans un environnement de grille de données. 4. Le model de coûts Dans cette section, nous décrivons les différentes parties du modèle de coût qui interviennent dans la phase d'estimation du coût des plans d'exécution de requêtes. Nous distinguons deux parties: la partie résidante dans le site, et la partie intégrée dans l'agent 1 BW(Si,Sj) : la charge de la bande passante entre Si et Sj avec i j, fournit par le GIS 2 CoutMigration Si,Sj AG : le coût de migration de l agent mobile AG. 3 CoutProd(Rel) : le coût nécessaire pour que l agent mobile reçoive l opérande Rel.

6 Volume 1 2002 mobile. Ce modèle de coût est utilisé pour évaluer le coût d'exécution des plans des requêtes soumises. 4.1. Modèle de Coûts de Site Le modèle du coût d'un site Si est composé de quatre unités: les profils des sources de données connues par Si, les caractéristiques de Si (paramètres machine + paramètres réseaux), les caractéristiques des autres sites interagissant avec Si, et les formules des coûts. 4.2. Modèle de Coûts d Agent : Le modèle de coûts embarqué dans un agent est fourni à l agent pendant la phase d optimisation. Le modèle de coûts d un agent est composé de deux unités : (i) l espace de migration (i.e. liste des sites détient la même source de donnée), (ii) localisation du deuxième agent mobile (l agent mobile distant qui s occupe de la deuxième source de donnée). Un agent mobile peut consulter le modèle de couts du site ou se trouve, pour estimer ses paramètres (le cout de migration). 4.3. Les formules de cout : Dans un environnement de grille, les ressources qui calcul les tâches nécessaires sont les ressources informatiques telles que la mémoire, CPU, etc. Par conséquent, la tâche de calcul peut être assignée à n'importe quel nœud qui a des ressources de calcul suffisant pour cette tâche. a) Les formules de cout des nœuds: Coût_lecture (R) = SS0 + SS1 * R + SS2 * R * FS (p) (2) Avec SSO coût initial pour la lecture séquentielle estimé en fonction de la charge du disque, SS1 coût unitaire pour retrouver un tuple estimé en fonction de la charge CPU d un nœud, SS2 coût pour traiter un tuple résultat estimé en fonction de la charge de mémoire d un nœud, FS (p) représente le facteur de sélectivité dans [9]. b) Les formules de cout des sites: Ces formules sont utilisées pour estimer le temps de réponse des opérateurs exécutés sur le site. Selon l algorithme de jointure, la formule d'estimation du temps de réponse de la semi jointure basé sur les agents mobiles de deux relations de base T = Join (R, S) exécuté par deux agents mobiles AG1 et AG2, est la suivante: Cout-Semi-Join R,S = Projection-Cost R +Join-Cost S, temp1 +Join-Cost R, temp2 (3) + Migration-Cost AG1 + Migration-Cost AG2 + CoutTrans S1,S2 temp1 + CoutTrans S2,S1 temp2

Modèle d'article et recommandations aux auteurs 7 avec : Projection-Cost R = SS0 + SS1 CARD R + SS2 CARD(R) (4) Join-Cost R, S = Scan_Cos(R)+CARD(R:P)*FS(p)* Scan_Cost (S) (5) FS(p)=1.5/maw(CARD(R),CARD(S)) [10] CoutMigration Si,Sj AG = CoutTrans Si,Sj Rel = Initial Si, Sj + Rel 0 If AG does not move CoutSer + CoutDeser If AG moves without relation from S i to S j CoutSer + CoutDeser +CoutTrans Si,Sj Rel If AG moves with relation from S i to S j (6) p Trans Si, Sj (7) Ou les termes utilisés dans les formules précédentes ont la signification suivante: Projection-Cost R (le cout de projection de R), Join-Cost R, S (le cout de la jointure naturelle entre R et S), CARD R (le nombre de tuples de R), CARD(R:P):Le nombre de tuples de R qui satisfaire la condition de jointure P, Migration Cost Si,Sj AG (le coût de migration de l agent mobile AG). Le coût de migration d un agent [10] est la somme du coût de sérialisation (CoutSer), du coût de dé-sérialisation (CoutDeser) et du coût de transfert d un agent (CoutTrans), Initial Si, Sj (le temps pour établir une communication entre deux sites Si et Sj estimé en fonction de la valeur de la latence entre Si et Sj), CoutTrans Si,Sj Rel (le temps pour envoyer une page de Si vers Sj estimé en fonction de la valeur de la bande passante entre Si et Sj), Rel est la taille de Rel, p est la taille de la page p. Dans ce cadre, nous concluons le cout total de la requête, qui représente la somme des couts des opérateurs de la requête : Cost query = Cout-Semi-Join R,S (8) 5. Conclusion Dans cet article, nous sommes parvenus à situer le problème et à clarifier les objectifs. On a proposé une solution pour l optimisation de requête dans un environnement de grille de donnés en tenant en compte les contraintes de grille tels que l hétérogénéité, la réplication, et les comportements dynamiques des ressources. Dans notre technique d'optimisation, un modèle d'agents mobiles est utilisé afin de réduire le coût de communication pour l'exécution de requêtes distribuées. Enfin, un modèle de cout pour l estimation de cout de requête est proposé. Notre contribution future consistera à définir un modèle de simulation de grille de donnée. Enfin, on va valider notre approche finale en comparant les résultats finals.

8 Volume 1 2002 6. Bibliographie [1] Chhanda Ray, Nilava Guha Determination of Cost Model for Constraint-based Query Optimization in Data Grids Proceeding of International Conference on Advances in Computer Science ACEEE 2010. [2] N. Hu, Y. Luo, Y. Wang, Adaptive Evolvement of Query Plan based on low cost in Dynamic Grid Database, proceedings of 9th International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, pp 411-415, 2008. [3] Krishnamoorthy, S., Saple, A.K., and Achutharao, P.H. An integrated query optimization system for data grids. In Proceedings of Bangalore Compute Conference 2008. [4] Luo Y H, Chen T F, Zhang Y S. Distributed query optimization model based on data grid. Journal of Computer Applications, 28(10): 2553-2557 (in Chinese), 2008. [5] Luo Y H, Chen T F, Zhang Y S. Study on semantic query optimization of grid data. Computer Engineering and Applications, 45(2):16-20,2009. [6] Franck Morvan, Abdelkader Hameurlain. A Mobile Relational Algebra. in : International Journal of Mobile Information Systems, IOS Press, Vol. 7 N. 1, p. 1-19, january 2011. [7] B. Plale, P. Dinda, M. Helm, G. von Laszewski, and J. McGee. Key concepts and services of a grid information service. 2002. [8] Q. Zhu, S. Motheramgari, Y. Sun: Cost Estimation for Queries Experiencing Multiple Contention States in Dynamic Multidatabase Environments. Knowl. Inf Syst.5(1): 26-49,2003. [9] M. T. Ozsu, P. Valduriez: Principles of Distributed Database Systems, Second Edition. Prentice-Hall 1999. [10] E.J.Shekita, H.C.Young and K.L.Tan, MultiJoin Optimization for Symmetric Multiprocessors, Proc. of the 19 th International Conference on Very Large Data Bases, Dublin, Ireland (1993), 479 492.