Caches sémantiques coopératifs pour la gestion de données sur grilles

Dimension: px
Commencer à balayer dès la page:

Download "Caches sémantiques coopératifs pour la gestion de données sur grilles"

Transcription

1 Caches sémantiques coopératifs pour la gestion de données sur grilles Laurent d Orazio, Fabrice Jouanot, Cyril Labbé, Claudia Roncancio Laboratoire d Informatique de Grenoble 681, rue de la Passerelle, BP. 72, Saint Martin d Hères Cedex, France Adresse électronique : {prénom.nom}@imag.fr Résumé Cet article présente une solution de caches sémantiques coopératifs améliorant les coṷts d évaluation de requḙtes et de transferts de données dans les systèmes de gestion de données réparties. Cette solution repose sur la séparation des préoccupations. L aspect sémantique est d abord géré indépendamment de l aspect coopératif. Les données sont ensuite gérées à l aide de deux caches distincts, stockant séparément les requḙtes des objets. L architecture alors obtenue offre une grande flexibilité, permettant une configuration adaptée à un environnement donné, notamment en terme de coopération entre caches de requḙtes et entre caches d objets. La solution est expérimentée dans un intergiciel de gestion de données réparties pour une application en bio-informatique. Mots clés Cache, sémantique, coopération, grille de données 1. Introduction Le partage de données dans des systèmes à grande échelle est devenu crucial. De nombreux efforts ont été réalisés et sont menés pour la proposition d intergiciels efficaces d interrogation multi-sources largement réparties. Les performances de tels intergiciels dépendent de nombreux facteurs et sont fortement influencées par les caractéristiques de l infrastructure matérielle (architectures de type grille, P2P, etc). Cet article porte sur des techniques de cache dans le contexte de déploiements sur grille [16]. Nous considérons des grilles légères de type cluster de clusters qui offrent une facilité de déploiement, en ne prenant par exemple pas en compte les aspects liés à la sécurité. Cet article propose une approche originale de caches sémantiques coopératifs qui cherche à distribuer la charge de travail et à diminuer les calculs et les transferts de données. Les caches sont déployés sur des nœuds de la grille et peuvent coopérer entre eux pour la résolution des défauts de cache. La coopération s appuie sur une notion générale de proximité entre les caches. Ainsi un cache peut demander la coopération d un ou plusieurs caches proches selon certains critères. La proximité peut refléter divers facteurs tels que des distances géographiques, un éloignement lié à des caractéristiques matérielles de l infrastructure informatique (par ex. conditions du réseaux) ou des aspects plus sémantiques concernant les centres d intérêt des communautés travaillant sur les divers sites. La résolution coopérative basée sur la proximité permet de fonctionner selon un regroupement pertinent, éventuellement dynamique, des caches. Le choix d utiliser des caches sémantiques [22, 12] est motivé par le fort potentiel de réutilisation des données cachées. Le cache stocke des requêtes avec leur réponse et permet la réutilisation totale ou partielle pour répondre à d autres requêtes. Nos propositions pour la coopération sont générales et peuvent être intégrées à tout type de cache sémantique. Nous avons ainsi appliqué nos propositions au cache dual [14] qui combine un cache de requêtes et un cache d objets. La définition de la coopération peut se faire à un niveau relativement fin en précisant une stratégie de coopération pour le cache de requêtes et celui d objets. Nous avons réalisé des expériences sur une grille dans le contexte de l interrogation de sources de données biologiques. Les résultats sont prometteurs et confirment l intérêt de baser la coopération entre les caches sur une notion de proximité qui peut être instantiée selon les besoins. Cet article est organisé de la manière suivante. La section 2 dresse un aperçu des travaux connexes à notre proposition de cache sémantique coopératif, qui est présentée dans les sections suivantes, la section 3 présentant d abord une vision globale de la solution, avant de détailler nos différentes contributions : le concept de caches sémantiques coopératifs (4), la proximité dans le processus de résolution (5) et le cache dual coopératif (6). L évaluation de notre proposi-

2 tion dans un intergiciel de gestion de données sur grille est présentée dans la section 7. La section 8 conclut ce papier et donne des perspectives de recherche. 2. Travaux connexes La littérature en matière de caches est vaste. Il est donc impossible de présenter ici un état de l art exhaustif. Nous introduisons néanmoins les principaux travaux connexes au notre à savoir : les caches sémantiques, les caches coopératifs et les solutions de caches sur grilles Caches sémantiques Les caches sémantiques structurent leur contenu comme un ensemble de régions sémantiques. Les accès aux éléments cachés et leur remplacement s effectuent au grain de la région sémantique. Les régions sémantiques, comme les pages, sont un moyen d agréger l information sur plusieurs objets. Contrairement aux pages, la taille et la forme (dans l espace sémantique) des régions peuvent varier. Quand une requête R1 arrive à un cache sémantique, elle est décomposée en deux parties : (1) une requḙte de consultation, qui récupère la portion du résultat de R1 disponible dans le cache local et une requḙte restante 1, qui correspond à la partie absente du cache. Cette dernière peut être vue comme le défaut de cache qui devra être résolu en s adressant au(x) serveur(s). On parle de succès exact si la requête recherchée est en cache et de succès étendu si des éléments en cache contribuent à la réponse mais d autres traitements sont nécessaires. Il existent deux approches en terme de gestion des entrées d un cache sémantique : celle qui se base totalement sur les régions [22, 12, 28] et celle qui distingue les prédicats sémantiques et les objets réponse [30, 22, 24, 14]. Caches de régions. Les régions [12] ou segments sémantiques [28] sont des structures de données qui regroupent un ensemble d objets 2. L accès au cache est comparable à celui des caches d objets et de pages. Lorsqu une requête est posée et qu elle provoque un succès de cache, cela signifie qu une région sémantique correspond à cette demande. La requête est alors utilisée comme une clé pour accéder à la région qui contient les objets résultats. Caches de requêtes et d objets. Ces solutions permettent également un accès sémantique, mais utilisent une structure de données particulière [22]. La notion de région, n est 1 Les termes consacrés en Anglais sont probe query et remainder query 2 N-uplet ou objet au sens large FIG. 1. Cache dual plus vraiment physique, mais logique. Le cache est géré en deux niveaux, un niveau de prédicats qui représentent les requêtes et un niveau d objets. Lorsqu une requête est posée et qu un succès de cache a lieu, le cache récupère à l aide d un prédicat, la liste d identifiants des objets réponse. Ces objets se trouvent dans le cache et doivent être accédés ensuite. La présence des objets dans le cache est strictement liée aux requêtes cachées. Notons que lorsqu il s agit d un cache de vues, comme dans [30], les objets eux mêmes ne sont pas en cache. Le cache dual, illustré par la figure 1, est une solution de cache sémantique basée sur la coopération d un cache de requêtes et d un cache d objets. Le cache de requêtes fonctionne comme un cache de vues. Le cache d objets garde des objets qui peuvent être accédés via leur identifiant. Les caches de requêtes et d objets peuvent utiliser leurs propres stratégies. Ainsi, la cohérence entre requêtes et objets peut être relâchée, si chacun des caches utilise une politique de remplacement ne prenant pas en compte les décisions prises par l autre. La possibilité de configuration indépendante des deux caches est particulièrement intéressante pour la mise en place d une solution coopérative entre caches Caches coopératifs Les caches coopératifs offrent une abstraction d un ensemble de caches vus par les clients comme une seule entité. Ainsi, les clients bénéficient des capacités de stockage et de traitement de caches présents sur plusieurs sites du système. Ces approches ont été largement étudiées dans les systèmes de fichiers [11], de bases de données [17] et Internet [10] dans un but de distribution de charge et limitation des goulots d étranglements au niveau des serveurs.

3 La coopération entre caches aide principalement à résoudre les défauts de caches : au lieu de s adresser systématiquement au(x) serveur(s), un cache peut solliciter ses caches frères ou parents. Les protocoles de coopération entre caches peuvent se baser sur une résolution verticale, une résolution horizontale ou hybride. La suite introduit ces protocoles ainsi que les caches dits répartis. Caches hiérarchiques et résolution verticale. Les caches sont organisés selon une certaine hiérarchie [10]. Un cache parent est utilisé pour résoudre les défauts d objets ayant eu lieu chez un fils. La demande d un objet est propagée récursivement de manière ascendante jusqu à trouver l objet ou atteindre les serveurs de données qui sont virtuellement la racine de la hiérarchie. Lorsque l objet est trouvé, il est transféré vers le bas de la hiérarchie jusqu à atteindre le demandeur. L objet est caché à chaque niveau. Caches frères et résolution horizontale. Ici les caches sont considérés de même niveau. La résolution d un défaut d objet peut être demandée à des caches dits frères. Un tel cache frère répond selon son contenu mais ne propage pas la demande. L envoie de la demande aux caches frères peut être faite par inondation ou à l aide d un catalogue. L inondation [34, 33] envoie la demande à tous les frères. La première réponse positive est prise en compte, les autres étant ensuite ignorées. Dans une résolution avec catalogue, celui-ci répertorie le contenu des caches frères. Le cache demandeur consulte le catalogue pour connaître le ou les caches frères à qui adresser la demande de l objet recherché. La gestion du catalogue peut être locale [15, 29] ou partagée (voire même centralisée) [19, 26]. Dans tous les cas les serveurs sont contactés si l objet n est pas renvoyé par un cache frère. Caches réparties. Dans le cadre de ces travaux une demande issue d un client sera recherchée sur un ensemble de caches [23]. Différentes politiques existent pour le choix du ou des caches à qui adresser la demande. La politique peut être gérée localement par le client ou par une machine dédiée (par ex. une frontale sur un cluster de caches Internet). La politique peut être simple, par exemple un choix aléatoire ou basé sur un tourniquet. La charge est alors équitablement divisée sur tous les caches. Une version plus fine, appelée weighted round robin assigne à chaque cache un poids qui représente sa charge. La distribution des requêtes peut aussi être faite en fonction des clients. Cette approche distingue des groupes de clients et leur associe des caches vers lesquels sont redirigées leurs demandes. Enfin, la distribution peut être fonction des demandes ou d une fonction pré-établie : par exemple une fonction de hachage, comme dans Cache Array Routing Protocol (CARP) [31] ou Cache resolver [21]. Le protocole Locality Aware Request Distribution (LARD) [27] assigne un ensemble dynamique de caches par fichier. Quand une requête arrive, le système vérifie si un cache s occupe déjà de ce document. Dans le cas contraire, le serveur le moins chargé est alors désigné Caches sur grilles Afin de compléter les travaux connexes à nos propositions, nous abordons ici les caches proposés pour des contextes grille. Comme nos propositions, les solutions présentées s intéressent à la coopération entre caches. Cependant elles ne considèrent pas les techniques de cache sémantique. Dans des contextes présentant une forte localité sémantique, ces techniques sont pourtant très utiles et permettent d optimiser l utilisation des ressources. Dans [8] les auteurs proposent un protocole intéressant de résolution de défauts de cache sur grilles. Les caches sont organisés en groupes d intérêt et placés sous un cache collectif de plus haut niveau correspondant à un catalogue du contenu de ses descendants. Le cache collectif permet de localiser un cache de bas niveau répondant à une requête posée. Cette proposition combine une approche hiérarchique et une résolution horizontale entre caches frères. Dans le cadre des intergiciels de gestion de données permettant d accéder à des bases de données réparties, nous pouvons citer les travaux orientés cluster [9] et orientés grille [5]. L évaluation de requêtes tire profit des caches associés aux bases de données. La réutilisation des données cachées est possible en cas de succès exacts. Des travaux au sein du CERN [18] propose une solution de caches disques pour grilles proposée afin d optimiser la gestion des données issues de l accélérateur de particules. Les caches répartis sont gérés de manière globale. La répartition de la charge est gérée en transférant des données d un cache à un autre si nécessaire. 3. Vers des caches sémantiques coopératifs Notre approche cherche à reprendre les concepts de caches coopératifs et de caches sémantiques en les généralisant de manière à définir une solution suffisamment flexible pour s adapter à un environnement de grille quelconque. La présence évidente de nombreux caches distribués sur différents nœuds d une grille implique la mise en place de stratégies de coopération entre eux. Le besoin d interroger des masses de données, elles aussi réparties sur la grille, nécessite le déploiement de caches sémantiques capables d interpréter des requêtes de haut niveau pour limiter les transferts de données et les calculs. L idée qui dirige nos travaux est de trouver la meilleure combinaison de ces deux techniques en fonction du contexte grille, de sa topologie et de son état à un instant donné. Dans cette op-

4 tique nous proposons trois contributions : 1.- Un cache sémantique coopératif combine les techniques de cache sémantique et celles des caches coopératifs. Il repose sur le principe de la séparation des préoccupations. Ainsi, la gestion de la sémantique au sein du cache est indépendante de la coopération entre caches. Le principe général consiste à exécuter le processus de traitement de requêtes de manière séquentielle : coopération puis traitement sémantique pour les caches répartis, l inverse pour une coopération avec résolution horizontale ou verticale. La combinaison de ces deux approches est particulièrement pertinente dans des grilles de données, permettant le passage à l échelle des systèmes d interrogation, en optimisant l utilisation des ressources locales et globales. 2.- Le concept de proximité vise à optimiser la coopération au sein d une stratégie de résolution horizontale. Le calcul d une valeur de proximité permet d évaluer une distance entre objets. Les objets considérés ici sont des caches qui peuvent alors être regroupés en sous-ensemble. Le but est de créer des groupes dans lesquels la coopération est intéressante et supprimer les coûts liées à la gestion de coopérations peu pertinentes, pouvant être considérables dans des grilles où le nombre de caches est potentiellement très grand. Ainsi, le processus de résolution ne concerne qu un sous-ensemble de caches. Le concept de proximité est générique, il peut être adapté en fonction du contexte d application, c est-à-dire en fonction des propriétés de l environnement ou des caches à considérer. Nous définissons toutefois deux types de proximité au niveau le plus général : la proximité physique et la proximité sémantique. 3.- Le cache dual coopératif est un cache sémantique finement adaptable capable d exploiter aux mieux différentes stratégies de coopération. Les notions de cache dual et de proximité sont combinées. Puisque le cache dual repose sur un cache de requêtes et un cache d objets ayant des objectifs distincts, l idée est d associer à chaque type de cache une stratégie de coopération éventuellement différente guidée par une fonction de calcul de proximité spécifique. Ainsi, des stratégies fines de coopération peuvent être proposées pour optimiser les transferts de données et les évaluations dans les systèmes d interrogation grande échelle. 4. Caches sémantiques coopératifs Dans cette section, nous proposons différents types de coopérations appliquées aux caches sémantiques. Dans la suite, l expression cache sémantique sera utilisée indifféremment pour le cache de régions, le cache de requêtes et objets, le cache dual étant considéré d un point de vue global (la distinction entre cache de requêtes et cache d objets sera étudiée dans la section 6). Bien qu ils diffèrent dans leur gestion du contenu, ils sont similaires en terme de coopération. Quelque soit le type de coopération considéré, le traitement sémantique des requêtes reste le même. Une requête reçue par un cache est décomposée en deux parties disjointes, une requête de consultation, évaluées sur le contenu du cache, et une requête restante, dont le traitement dépend par contre du type de coopération considéré. La suite de cette section présente individuellement les différents caches sémantiques coopératifs : les caches sémantiques répartis, les caches sémantiques utilisant une résolution verticale et finalement une résolution horizontale. Le cas de la composition des coopérations sera étudié en conclusion de cette section Caches sémantiques répartis Le processus de traitement de requête par des caches sémantiques répartis est illustré par la figure 2(a). Dans un premier temps, le gestionnaire de répartition achemine la requête vers un cache choisi en fonction d une des stratégies présentées précédemment. A la réception de la requête, le cache élu procède à un traitement sémantique de celle-ci, la requête restante étant envoyée aux serveurs. Le résultat final une fois obtenu est fourni à l utilisateur ou à l application Caches sémantiques et résolution verticale La figure 2(b) présente l évaluation de requête dans un cache sémantique avec résolution verticale de défaut. Comme dans un cache sémantique classique, la réception d une requête par un cache se traduit par un traitement sémantique de celle-ci. Contrairement à un cache sémantique classique, un cache avec résolution verticale n envoie pas directement la requête restante aux serveurs mais demande la résolution de celle-ci auprès d un cache parent. Les caches parents peuvent être des caches sémantiques avec résolution verticale, ou ne considérer uniquement que l un des deux aspects, voire aucun. Dans le cas où les deux techniques sont prises en compte, le processus de résolution au sein d une hiérarchie de caches sémantiques conduit à une propagation de requêtes de plus en plus précises, la résolution se terminant si une requête restante nulle est obtenue à un niveau donné de la hiérarchie ou si les serveurs sont contactés pour résoudre une requête restante non nulle Caches sémantiques et résolution horizontale Le comportement d un cache sémantique avec résolution horizontale est illustré par la figure 2(c). Un cache sémantique avec résolution horizontale propose un traitement sémantique d une requête simi-

5 (a) Caches répartis (b) Résolution verticale (c) Résolution horizontale FIG. 2. Caches sémantiques coopératifs laire à un cache sémantique avec résolution verticale, la seule différence provenant de l envoi de la requête restante à des caches frères, n initiant pas de résolution en cas de défaut, et non à un cache parent, pour lequel la résolution est obligatoire. Le traitement des demandes par un cache frère peut ensuite suivre une approche classique ou sémantique. Alors qu une résolution horizontale classique ne considère que les succès exacts, une résolution horizontale sémantique prend également en compte les succès étendus, autorisant l obtention d une réponse complète en exécutant une évaluation sur les objets présents localement. Du point de vue du cache demandeur, ces approches sont cependant similaires, puisqu il reçoit comme résultat les objets en cas de succès ou une réponse nulle en cas de défaut. Si la demande sur les frères n a généré aucun succès (exact ou étendu), elle est alors résolue en contactant les serveurs. Avec une approche considérant des réponses partielles, un cache peut recevoir de ses frères des réponses incomplètes. Le cache demandeur reçoit alors des parties du résultat associées à des prédicats. Il supprime dans ce cas, si nécessaire, la duplication des objets au sein de la réponse (due aux éléments partagés par plusieurs frères) et calcule la nouvelle requête restante. Si cette dernière n est pas nulle une fois toutes les réponses des frères reçues, elle est évaluée sur les serveurs. Il faut noter que la prise de décision en cas de considération des succès étendus et/ou partiels diffèrent pour les protocoles par inondation et par catalogue. Alors que pour le premier, le choix est fait par les caches inondés, dans le second cette responsabilité est à la charge du cache demandeur Composition de coopérations Il est possible de combiner les coopérations entre caches sémantiques présentées précédemment. Des caches sémantiques répartis avec résolution horizontale et/ou verticale, ou encore des caches sémantiques avec résolutions horizontale et verticale peuvent alors être créés. Dans le cas où toutes les coopérations sont utilisées, un gestionnaire de distribution redirige la requête sur un cache en fonction de la stratégie de répartition employée. Le cache choisie procède à un traitement sémantique de la requête. La requête restante est envoyée sur les caches frères. Si elle n est pas résolue, elle est alors envoyée à un cache parent. Le traitement de requête dans les autres combinaisons possibles peut facilement être dérivé de ce processus. 5. Résolution horizontale basée sur la proximité Nos recherches se sont focalisées sur la coopération entre caches via le processus de résolution horizontale. Ce type de coopération permet en effet de prendre en compte un très grand nombre de caches largement distribués. Dans ce contexte les caches parents deviennent souvent des goulots d étranglement et les caches répartis sont limités à une géographie réduite. Nous introduisons ici la notion de proximité, permettant de configurer finement le protocole de résolution. Nous donnons d abord une définition du concept de proximité.

6 La partie suivante présente l application de la proximité au sein des protocoles de résolution. Pour finir, nous étudions la proximité au sein des caches sémantiques Définition de la proximité Une problématique majeure dans la résolution horizontale consiste à regrouper de manière pertinente les caches. Bien que ce regroupement ne soit pas nécessaire pour un faible nombre de caches, il devient primordial si ces derniers sont très nombreux. En effet, le processus de synchronisation des catalogues ou d inondation serait alors très coûteux. Le concept de proximité résout ce problème par une limitation de la résolution, en regroupant les caches en fonction de certaines caractéristiques. La définition de la proximité est la suivante : Definition 1 Soit a et b deux espaces de stockage et de traitement de données (des caches sémantiques ou des serveurs). On note prox(a, b) (proximité de a vers b) le coṷt associé au traitement (évaluation et transfert) par b des requḙtes émises par a. La fonction de proximité permet donc d associer un coût à une connexion entre deux entités données. Du point de vue d un cache, ces coûts permettent de choisir les éléments les plus pertinents à contacter lors de la résolution d un défaut. De manière générale cette fonction n est pas symétrique et l on a prox(a, b) prox(b, a). La fonction prox(a, b) peut être de nature très diverse. On peut différencier une proximité physique d une proximité sémantique : Definition 2 On note proxp hy(a, b) (proximité physique de a vers b) la mesure de coṷt liée à des paramètres physiques associés au traitement par b des requḙtes émises par a. Definition 3 On note proxsem(a, b) (proximité sémantique de a vers b) la mesure de coṷt liée à des paramètres sémantiques associés au traitement par b des requḙtes émises par a. La proximité physique caractérise le coût d accès aux éléments. Dans un contexte grille, la proximité physique peut par exemple grouper ensemble les nœuds d un même cluster, pour lesquels la distance géographique est faible et le débit à l intérieur du site très important. Accéder à un cache frère devient alors très peu coûteux en terme de communication. La proximité sémantique entre deux caches mesure la similarité entre les demandes. Cette similarité peut par exemple porter sur le type des données accédées. Dans le cas d un système d interrogation, un paramètre intéressant correspond aux centres d intérêt. En effet, la proportion des éléments partagés par deux utilisateurs sera d autant plus grande s ils ont des intérêts communs, augmentant la probabilité de succès entre leur cache. On peut donc définir la fonction de proximité comme une fonction de différentes mesures de proximité : Definition 4 prox(a, b) = f(proxphy(a, b), proxsem(a, b)) La proximité est un concept générique, choisie en fonction du contexte applicatif. Deux niveaux d adaptation sont possibles. Dans un premier temps, il convient de définir les paramètres à prendre en compte pour les proximités sémantique (homogénéité des données, centres d intérêt, etc.) et physique (débit, processeur, etc.). Dans un second temps, il est important de pondérer chaque proximité, en choisissant la fonction f en conséquence. Ceci permet par exemple, de ne prendre en compte qu une seule des deux caractéristiques, l une ou l autre, ou encore l une et l autre. Cet article ne se focalise pas sur les mécanismes de calcul effectif des mesures de proximité proxp hy(a, b) et proxsem(a, b), mais s intéresse plutôt à l utilisation de ce concept pour la coopération entre caches. Des outils comme par exemple Network Distance Service (NDS) [20], qui permettent de prendre en compte les caractéristiques des réseaux (bande passante, latence) et des hôtes (processeur, ressources de calcul ou encore mémoire disponible), peuvent être utilisés pour le calcul de la proximité physique. Il est important de noter que le calcul de la proximité a luimême un coût. Ce coût est important, notamment pour choisir le moment où le calcul de la proximité doit être effectué. Celui-ci peut se faire à chaque résolution ou de temps en temps. Dans notre proposition, nous avons évalué la proximité au moment du déploiement. En terme de proximité, nous ne nous sommes intéressés qu à des fonctions simples. L appartenance à un même cluster pour la proximité physique : Definition 5 proxphy(a, b) = proxphy(b, a) = 0 si a et b appartiennent au mḙme cluster 1 sinon. Les mêmes centres d intérêt pour la proximité sémantique. Definition 6 proxsem(a, b) = proxsem(b, a) = 1 x si les requḙtes reçues par a et b ont x % de prédicats en commun. La proximité choisie est utilisée pour créer des topologies logiques de caches pour un contexte applicatif donné. Pour un cache donné, le calcul de la proximité caractérise les serveurs et les caches frères. La comparaison des valeurs obtenues donne alors une estimation de l intérêt de la coopération. Si l accès par un cache frère est plus intéressant que par les serveurs, celui-ci est ajouté à la liste des caches à considérer

7 lors du processus de résolution. Dans le cas où aucun cache frère n est pas plus intéressant que les serveurs (cas de serveurs très performants), la liste est vide, la résolution se faisant donc sans coopération. Ainsi, à titre d exemple, dans les expériences présentées dans la section 7 deux caches a et b sont frères si proxphy(b, a) = 0 et/ou si proxsem(b, a) Proximité et protocoles de résolution L utilisation de la proximité est orthogonale au protocole de résolution utilisé. Ainsi, la proximité peut être prise en compte pour une approche par inondation ou pour une approche par catalogue. Dans une approche par inondation, le processus de résolution de défaut récupère, dans un premier temps, la liste des caches frères à contacter, respectant la proximité choisie. Ensuite, la demande est envoyée à tous les caches de cette liste. Le traitement de la résolution est ensuite le même que dans une approche classique : la première réponse positive est prise en compte, les autres sont ignorées et les serveurs sont contactés en dernier recours. Dans une résolution par catalogue, la proximité est utilisée pour limiter la liste des caches dont le contenu doit être considéré par le catalogue. Le type de catalogue est indépendant de l utilisation de la proximité, le catalogue pouvant ainsi être partagé ou local à un cache. Les modifications de contenu des caches sont envoyées selon un protocole choisi (cohérence forte ou relâchée) aux catalogues des caches respectant la proximité considérée Proximité et caches sémantiques L objectif de cette section est de décrire les applications du concept de proximité au sein des caches sémantiques. Quatre types de coopération sont étudiés en fonction de la proximité utilisée : proximité physique, proximité sémantique, et proximités physique et/ou sémantique Proximité physique La proximité physique correspond à une instance de la fonction de proximité pour laquelle la sémantique n est pas prise en compte (prox(a, b) = proxp hys(a, b)). La résolution de défaut ne concerne alors que les caches proches physiquement du cache considéré. Exemple 1 La figure 3(a) présente une coopération entre caches basée sur une proximité physique. Ainsi dans le cas d une résolution de défaut pour le cache 1, les caches 2 et 3 sont contactés. Une résolution horizontale basée sur une proximité physique vise à optimiser les transferts de données entre caches. Ainsi un cache ne contactera que ses frères offrant des accès rapide à leur contenu, notamment par des distances géographiques relativement faibles ou des liens de communications très haut débit Proximité sémantique L utilisation de la proximité sémantique permet à des caches de clients partageant les mêmes centres d intérêt de coopérer lors du processus de résolution. Avec cette stratégie, la proximité physique n est pas prise en compte (prox(a, b) = proxsem(a, b)). Exemple 2 La figure 3(b) présente une coopération entre caches basée sur une proximité sémantique. Ainsi dans le cas d une résolution de défaut pour le cache 1, les caches 3 et 4 sont contactés. La proximité sémantique vise à minimiser les échanges inutiles entre caches. L objectif est d autoriser uniquement la résolution d une requête par les frères pouvant fournir le résultat correspondant avec une forte probabilité, par exemple parce qu ils ont les mêmes centres d intérêts que le cache demandeur Proximités physique et/ou sémantique Afin de tirer profit des avantages des proximités présentées précédemment, il est possible de proposer des coopérations prenant en compte à la fois les caractéristiques physiques et sémantiques. Deux combinaisons sont alors possibles, la coopération basée sur des proximités physique et sémantique et la coopération reposant sur des proximités physique ou sémantique. Exemple 3 La figure 3(c) présente une coopération entre caches basée sur des proximités physique et sémantique. Ainsi dans le cas d une résolution de défaut pour le cache 1, seul le cache 3 est contacté. Exemple 4 La figure 3(d) présente une coopération entre caches basée sur des proximités physique ou sémantique. Ainsi dans le cas d une résolution de défaut pour le cache 1, les caches 2, 3 et 4 sont contactés. Les proximités physique et sémantique permettent respectivement d optimiser les transferts de données et les évaluations de requêtes. Malheureusement, la prise en compte de ces deux aspects au sein d un cache sémantique classique est difficile, un système combinant les deux approches étant trop ou insuffisamment restrictif selon qu elles soient considérées conjointement ou indépendamment. Une solution pour résoudre se problème, consiste à utiliser le cache dual. 6. Cache dual et proximités Dans cette section nous proposons une approche coopérative pour le cache dual. Un cache dual utilise deux

8 (a) Proximité physique (b) Proximité sémantique (c) Proximité physique et sémantique (d) Proximité physique ou sémantique FIG. 3. Caches sémantiques avec résolution horizontale caches distincts, un cache de requêtes et un cache d objets visant à optimiser respectivement les temps de transfert et de calcul. L utilisation du cache dual offre des perspectives intéressantes en terme de coopération basée sur la proximité. En effet, deux instances différentes peuvent être appliquées au cache de requêtes et au cache d objets Cache de requêtes et proximité sémantique idobjlist ReqCache.lookup(req) if idlist null then {succès} objlist ObjCache.load(idObjList) else {défaut} if frères then idobjlist frères.lookup(req) if idobjlist null then {succès} objlist ObjCache.load(idObjList) else {défaut} (idobjlist,objlist) serveurs.load(req) end if else {résolution directe sur les serveurs} (idobjlist,objlist) serveurs.load(req) end if ReqCache.add(req,idObjList) end if return objlist FIG. 4. Traitement des demandes par le cache dual/cache de requêtes L algorithme de la figure 4 présente le traitement d une requête par le cache de requêtes dans le cas d une résolution basée sur le concept de proximité. Lorsque la requête posée par un client doit être résolue ou si elle engendre une requête restante non nulle, une résolution est initiée par le cache de requêtes. Celui-ci envoie la demande aux caches frères de la liste créée en fonction de la proximité choisie. Si un cache possède la demande il transfert la liste des identifiants d objets répondant à la requête. Le cache de requêtes contacte alors son cache d objets pour récupérer les éléments demandés. Si la liste des frères est vide ou si aucun frère ne peut répondre, le cache contacte le serveur et récupère les objets demandés, les ajoute dans son cache si besoin et les transfert au client. Les caches de requêtes sont utilisés afin de limiter les calculs. Dans le cas d un cache dual, un calcul correspond à un ensemble d identifiants. Par conséquent, la réponse d un cache de requêtes conserve une taille relativement petite même si le nombre d identifiants est très grand. Ainsi le temps de transfert entre caches reste très faible, indépendamment de la distance entre les caches. D un autre côté la proximité sémantique dans un protocole de résolution assure une plus grande probabilité de trouver les objets demandés sur les caches frères. Ces deux arguments nous incitent à utiliser une proximité sémantique pour les caches de requêtes Cache d objets et proximité physique Le traitement d une liste d identifiants d objet par le cache d objets est illustré par l algorithme de la figure 5. Lorsqu un cache d objets reçoit une liste d identifiants d objets, il les recherche dans son espace de stockage créant si besoin une liste des objets absents. Cette liste est alors

9 for each id in idobjlist do obj ObjCache.lookup(id) if obj null then {succès} objlist.add(obj) else {défaut} missidobjlist.add(id) end if end for if missidobjlist then if frères then missobjlist frères.lookup(missidobjlist) if missobjlist = null then {défaut} missobjlist serveurs.load(missidobjlist) end if ObjCache.add(missObjList) else {résolution directe sur les serveurs} missobjlist serveurs.load(missidobjlist) end if end if return objlist FIG. 5. Traitement des demandes par le cache d objets envoyée aux caches frères considérés. Si un cache frère possède les objets demandés il les transfert. Si la résolution ne peut se faire par les frères (liste de frères vide ou aucun cache n ayant la réponse), les serveurs sont contactés pour récupérer les objets. L objectif principal du cache d objets est de limiter les transferts de données. Par conséquent, ces performances sont fortement dépendantes des caractéristiques physiques de l environnement (distance géographique, débit, etc.). C est pourquoi il est pertinent d utiliser une proximité physique pour la coopération entre caches d objets Protocoles de résolution pour cache dual Le cache dual est une solution flexible permettant en plus de choisir une proximité différente pour les caches de requêtes et les caches d objets, d activer ou non le processus de résolution horizontale. Ainsi, en fonction de l environnement, et notamment des performances des accès navigationnels et associatifs, la résolution horizontale peut être prise en compte pour le cache de requêtes, le cache d objets, les deux ou aucun d eux. Ces stratégies sont capturées dans les protocoles de résolution basique, physique, sémantique et finalement physique et sémantique, illustrés par la figure 6. Résolution basique Le protocole basique désactive la coopération à la fois pour les caches de requêtes et les FIG. 6. Protocoles de résolution au sein du cache dual caches d objets. Ainsi en cas de défaut pour l un de ces deux caches, les demandes (requêtes ou listes d identifiants) sont envoyées directement sur les serveurs. Résolution physique Avec une résolution physique, la coopération est prise en compte uniquement pour les caches d objets, en se basant sur une proximité physique. Ainsi un défaut pour une requête engendre une résolution auprès des serveurs directement, alors que pour une liste d identifiants, les caches d objets proches physiquement sont d abord contactés, la récupération des éléments sur les serveurs se faisant en dernier recours. Résolution sémantique Un cache dual reposant sur résolution sémantique considère une coopération entre les caches de requêtes basée sur une proximité sémantique. En cas de défaut une requête est alors transférée à des frères, et évaluée sur les serveurs si nécessaire, alors que ces derniers sont contactés directement pour des demandes provenant du cache d objets. Résolution physique et sémantique Une résolution physique et sémantique correspond à une combinaison des deux approches présentées précédemment. Autrement dit, les caches de requêtes coopèrent en fonction d une résolution horizontale basée sur une proximité sémantique, et une proximité physique est employée pour les caches d objets. 7. Expérimentations Cette section décrit une série d expérimentations que nous avons menée pour observer l efficacité d une architecture de caches coopératifs utilisant notre approche de proximité, qu elle soit physique, sémantique ou une combinai-

10 son des deux. Nous poserons le contexte bio-informatique de nos expérimentations ainsi que l architecture où sont déployés les caches. Les différentes métriques retenues pour l interprétation des résultats viendront valider l évaluation de performance de notre proposition Contexte applicatif d expérimentation Nous nous plaçons dans un contexte d accès à des masses d information par des biologistes pour le traitement de données génomiques. Ces opérations sont coûteuses en temps de calcul et en transfert de données. L utilisation de caches peut être particulièrement bénéfique pour réduire les transferts et les nombreuses entrées/sorties qu impliquent ces traitements. L utilisation d une grille prend également tout son sens pour distribuer les calculs et accéder aux données la plupart du temps déjà distribuées sur plusieurs sources. Une approche de cache coopératif semble pertinente dans ce contexte. Si nous considérons aussi les besoins des biologistes en terme de recherche d information, qui accèdent au contenu de fichier plat de très grande taille à l aide de requêtes successives sémantiquement proches, des caches sémantiques sont requis pour exploiter au mieux les données cachées. Les expériences utilisent comme support la banque biologique de séquences de protéines Swissprot [1]. Cette source d information contient un grand nombre d annotations sur chacune des séquences répertoriées. Elle est massivement utilisée par les biologistes qui, après filtrage des séquences et/ou annotations pertinentes, l utilisent comme données en entrée de nombreuses applications de traitements. Cette banque de données est un fichier contenant 750Mo d enregistrements. Un enregistrement se compose d une séquence de protéines et de ses annotations. Le modèle utilisé pour décrire les enregistrements est de type attribut / valeur, chaque ligne étant composée du nom de l attribut et de la valeur associée (ou de l ensemble de valeurs associées). Ce fichier subit des modifications régulières, d une part sous la forme de révision officielle (nouvelles séquences), d autre part sous la forme d ajouts de nouvelles annotations par les différents biologistes (version ad-hoc de Swissprot). Chaque nouvelle version donne lieu à un nouveau fichier, le contexte applicatif est donc principalement en lecture et se prête bien à l utilisation de caches Infrastructure pour l expérimentation Les caches coopératifs sont déployés au sein d une architecture spécialisée et pilotée par un intergiciel de gestion de données dédié aux grilles légères. Les paragraphes suivants résument les points importants de l intergiciel et du déploiement de celui-ci ainsi que des caches Aspect logiciel Intergiciel Gedeon L intergiciel de gestion de données sur grilles Gedeon [2] est issu des résultats du projet de recherche du même nom sur la thématique masse de données de l ACI du ministère délégué à la recherche. L objectif est de définir un système de gestion de données hybride entre le système de gestion de fichiers et le système de gestion de bases de données. Un système de gestion de fichiers fournit un ensemble d outils très efficaces pour accéder aux fichiers et à leur contenu, mais les données manipulables restent à gros grain, c est-à-dire tout ou partie d un fichier. La sélection d enregistrements en fonction des valeurs de méta-données reste inaccessible sans le recours à une application ad-hoc, la sélection possible se limite donc aux fichiers en fonction d attributs système. Un système de gestion de bases de données procure des moyens d interrogation et de manipulation très évolués. Cependant en offrant différents niveaux d abstraction couplés à des langages de définition et de manipulation de données, un SGBD requière une structuration forte des données. Plus encore la complexité de déploiement d un SGBD, et donc par extension d un SGBD distribué, nécessite l intervention d experts qui doivent résoudre les problèmes de passage à l échelle et de configuration afin de conserver des performances correctes lorsqu il s agit d environnement de type grille. L intergiciel Gedeon propose donc d étendre un système de fichier à la notion d enregistrements afin de pouvoir manipuler ceux-ci en fonction de leurs méta-données associées et de les accéder à travers une grille. Gedeon repose sur une indexation distribuée des données par un ensemble pertinents de méta-données. Dans l exemple support décrit ciavant, les annotations d un fichier Swissprot joue le rôle de méta-données pour les données qui sont alors les séquences de protéine. Un client qui pose une requête sur Gedeon reçoit en réponse, après résolution, l adresse de localisation des enregistrements pertinents. Une requête est une conjonction de termes qui sont soit des prédicats simples, soit des opérateurs de déférencement permettant de proposer des concepts de la logique du second ordre pour rechercher aussi les données référencées par certaines métadonnées cibles. Pour éviter l aspect parfois monolithique d un SGBD, l intergiciel est construit par un assemblage de modules autour d un noyau d indexation de méta-données. Les principaux modules se répartissent les tâches suivantes : la distribution, l interface utilisateur (extension shell, API, XML, etc.), la transparence d accès (catalogue, médiateur, etc.), la gestion de cache. De nouveaux modules peuvent ainsi être connectées et/ou remplacer d autres modules. Cache dual Le cache dual a été construit à l aide d une version Java et Fractal [7] du canevas de caches adaptables ACS [14]. Les caches de requêtes et d objets construits réutilisent des composants fournis par la bibliothèque du canevas, no-

11 tamment une gestion des entrées du cache à l aide de tables de hachage et des politiques de remplacement LRU. La suite de cette section s intéresse plus particulièrement à la gestion de la sémantique au sein des caches, en terme d analyse et d évaluation des requêtes. L analyse de requêtes permet de confronter les requêtes posées par les utilisateurs aux prédicats gardés en cache. Afin que le processus de traitement en cache ne soit pas trop coûteux, seuls des cas simples de succès étendus, liés à une équivalence ou à l inclusion d une requête dans une entrée, ont été pris en compte. L équivalence autorise la détection de requêtes contenant les mêmes termes dans des ordres différents. L inclusion quant à elle se base sur l ajout de termes supplémentaires (et par conséquent des demandes plus restrictives). D un point de vue développement, nous avons eu recours à une transformation des requêtes en vecteur de bits. L objectif de cette opération est de fournir un processus de recherche au sein du cache plus efficace, la confrontation de deux vecteurs de bits étant plus rapide que la confrontation de requêtes dans leur forme standard (ici des chaînes de caractères). La solution repose sur une table de correspondance entre un indice et un terme, les associations étant mises à jour avec les modifications du contenu du cache (ajout d un nouveau terme si besoin provoqué par une nouvelle entrée et suppression si le terme d un élément remplacé n est utilisé par aucune autre entrée). Outre la comparaison plus rapide d une requête posée avec le contenu du cache, l écriture de la requête de consultation (et lorsqu elle est considéré de la requête restante) est plus simple, en utilisant des opérateurs logiques sur les vecteurs de bits. L évaluation de requêtes autorise l application de prédicats sur l ensemble du contenu du cache. Pour le système d interrogation de sources de données bioinformatiques, seules les sélections ont été prises en compte. L évaluation au sein du cache réutilise la brique de traitement de requête fournie par l intergiciel Gedeon, l évaluateur employé par le cache étant essentiellement en charge d assurer la liaison entre les couches logicielles. A noter que la bibliothèque Gedeon étant en C, nous avons opté pour des appels systèmes pour gérer les interactions avec les caches Aspect matériel, déploiement sur grille L intergiciel Gedeon a été déployé sur Grid5000, la plate-forme française d expérimentations sur grille. Des clusters sur trois sites différents (Nancy, Rennes et Sophia-Antipolis) ont été utilisés. Les caractéristiques des nœuds de chaque site sont données par le tableau 1. Pour tous les clusters, l interconnexion à l intérieur d un site correspond à de l ethernet 1Gbit/s. Les différentes sites sont connectés par des réseaux longue distance (WAN) à 10Gbit/s. Avec une architecture à serveur simple, la source de données devient rapidement un goulot d étrangement, puisqu une seule machine est responsable de l évaluation des requêtes. L architecture à union de serveurs vise à résoudre ce problème en exécutant de manière parallèle le calcul sur la grille. Le principe consiste à découper la source de données en N fichiers de taille équivalente (fragmentation horizontale), chaque fichier étant géré par un nœud spécifique, appartenant ou non à un même site. Ainsi, lorsqu une requête est posée, elle est transférée sur les différents nœuds pour une évaluation en parallèle. Les résultats sont ensuite agrégés au niveau du client pour construire le résultat final. Des expériences ont montré que les débits obtenus pour les serveurs sont quasiment proportionnels aux nombres de nœuds utilisés [32]. Dans le cadre de nos expérimentations, la source de données Swissprot a été décomposé en trois fichiers de taille équivalente, chacun géré par un nœud appartenant à un des trois clusters présentés précédemment Évaluation de performance Cette section présente les outils pour l évaluation de performance. Premièrement, elle étudie la génération de la charge de travail. Ensuite, elle présente les métriques étudiées Génération de la charge de travail Les charges de travail classiques utilisées dans les bancs d essai (par exemple TPC [4], Wisconsin pour bases de données [13] et proxy [6], ou encore Polygraph [3]) ne prennent pas en compte la localité sémantique, alors qu il s agit d une caractéristique majeure pour les caches sémantiques. Nous avons utilisé la charge de travail Rx [25]. Les requêtes correspondent à des raffinements progressifs. La première requête est générale et les suivantes sont de plus en plus précises et réduisent l ensemble des éléments résultats. Dans une charge de travail Rx, x est le pourcentage de requêtes raffinées. Avec R50 par exemple, la moitié des requêtes sont issues de raffinements de précédentes requêtes. Dans les expériences suivantes, la charge de travail se constitue d un ensemble de requêtes correspondant à un terme de sélection ou à la conjonction de deux à quatre termes. Afin de simuler un contexte avec une localité sémantique, nous avons choisi d utiliser la charge de travailr40. En plus de la localité sémantique, nous introduisons la notion de communauté. Une communauté correspond à un groupe d utilisateurs partageant les mêmes centres d intérêt. Les requêtes des membres d une communauté tendent alors à se focaliser sur un sous-ensemble particulier d enregistrements. Dans le cas particulier de Swissprot, nous avons créé des groupes d intérêt en nous inspirant de l arbre de vie. Chaque enregistrement appartient à l un des quatre groupes suivants : Eucaryotes, Archées, Virus et Bactéries. Ainsi, pour chaque groupe, nous définissons une communauté d utilisateurs supposés particulièrement

12 Machine Processeur Mémoire Disque Nancy HP ProLiant DL145G2 2x AMD Opteron GHz 2GB SATA Rennes Sun Fire V20z 2x AMD Opteron GHz 2GB SCSI Sophia-Antipolis Sun Fire X4100 2x dual core AMD Opteron GHz 4GB SAS TAB. 1. Caractéristiques des nœuds intéressés par ce groupe. Dans les expériences suivantes, 60% des requêtes posées par les utilisateurs concernent des enregistrements de leur communauté. Les 40% restants sont distribués uniformément sur les autres enregistrements. Q1 : OC Bacteria OC Proteobacteria Q2 : OC Bacteria OC Proteobacteria OC Gammaproteobacteria Q3 : OC Eukaryota OC Mycetozoa Q4 : OC Eukaryota OC Entamoebidae Q5 : OC Eukaryota OC Entamoebidae OC Entamoeba Q6 : OC Archaea OC Nanoarchaeota FIG. 7. Exemple de charge de travail Exemple 5 La figure 7 présente un exemple de génération de requḙtes portant sur l attribut OC (espèce), suivant une charge R40, avec 60 % des requḙtes posées concernant la communauté du client (utilisateurs intéressés par les eucaryotes) Métriques pour l interprétation des résultats L une des métriques les plus importantes à étudier, pour analyser des caches, est le temps de réponse, qui est fortement lié au taux de succès de cache. Cependant, d autres métriques peuvent être pertinentes. Ainsi, il peut être intéressant de considérer la charge sur le serveur ou le volume de données transféré entre les clients et les serveurs, pour chiffrer l apport d un cache, puisque la gestion de ces ressources est souvent cruciale dans les environnements largement distribués Résultats Cette section présente les résultats que nous avons obtenus dans trois expérimentations distinctes. Les deux premières permettent de mieux comprendre l influence du nombre de caches sur les résolutions basées sur le concept de proximité. La dernière présente l étude des différents protocoles présentés dans la section 6.3 dans un contexte grille. Pour toutes les expériences considérées, des caches duaux de 325 Mo (correspondant à la moitié de Swissprot) sont déployés. Chaque cache est utilisé par un client générant cinquante requêtes suivant la charge de travail R40 (appartenant ou non à une communauté selon l expérience considérée) Influence du nombre de caches L objectif de cette section est d étudier l impact du nombre de caches sur les coopérations basées sur la proximité. C est pourquoi nous avons étudié l influence du nombre de caches de requêtes sur la proximité sémantique et l influence du nombre de caches d objets sur la proximité physique. Nombre de caches d objets et proximité physique Dans une première expérience, nous étudions l impact du nombre de caches d objets sur une coopération basée sur la proximité physique au sein du cache dual en terme de transfert et de calcul. Tous les caches déployés appartiennent au site de Sophia-Antipolis et utilisent un caches d objets avec proximité physique. Ainsi, chaque fois qu un cache dual est ajouté sur un site, son cache d objets devient un frère pour les autres caches d objets. A noter que les caches appartiennent à des clients uniformément répartis dans les différentes communautés présentées précédemment. La figure 8(a) présente l impact du nombre de caches sur la résolution physique en terme de volume de données transféré entre le cache et les serveurs. L axe des abscisses représente le nombre de caches, alors que l axe des ordonnées représente le volume de données transféré en Giga octets. Pour cette expérience, le nombre de caches varie de un à cinq, avec un pas de un. Ce graphique permet d observer qu augmenter le nombre de caches permet de réduire l utilisation de la bande passante. Ainsi, passer de un à quatre caches permet de réduire l utilisation de la bande passante de 50 %. Cependant, il est possible de noter que le volume de données transféré devient relativement stable lorsque le nombre de caches est supérieur à trois. En effet, l espace physique total utilisé est suffisant pour stocker toutes les données pertinentes. Par conséquent ajouter des caches dans la coopération, n apporte pas de gain supplémentaire. Il faut cependant prendre en compte que le nombre de caches est fonction de leur taille. En effet, les mêmes résultats auraient pu être obtenus avec un plus grand nombre de caches de plus petite taille. La figure 8(b) présente l impact du nombre de caches sur la résolution physique en terme de taux de requêtes par client évaluées sur les serveurs. L axe des abscisses représente toujours le nombre de caches, variant de un à

13 (a) Volume de données transféré (b) Charge sur les serveurs FIG. 8. Résolution basée sur la proximité physique (a) Volume de données transféré (b) Charge sur les serveurs FIG. 9. Résolution basée sur la proximité sémantique cinq par pas de un. Le cache des ordonnées représente cette fois, le taux de requêtes, donné en pourcentage. Cette figure permet de voir que le nombre de caches dans une résolution physique n a pas d impact sur le taux de requêtes par client évaluées sur le serveur. Celui-ci reste relativement constant quelque soit le nombre de caches, avec une valeur aux environ de 37%. Il est possible de noter que la première mesure est un peu supérieure aux autres. Cette différence n est pas la conséquence de la coopération entre les caches, celle-ci ne concernant pas l évaluation. Nous pensons, que la charge utilisée dans ce cas précis est un peu moins représentative que les autres, ce qui expliquerait ce léger décalage par rapport à la moyenne. Nombre de caches de requêtes et proximité sémantique L expérience suivante se focalise sur l influence du nombre de caches de requêtes dans le cas de l utilisation d une résolution basée sur la proximité sémantique pour le cache dual, sur les transferts de données et les évaluations. Dans cette expérience, les clients appartiennent à une des quatre communautés considérées. Chaque client utilise un cache dual avec une résolution coopérative basée sur la proximité sémantique pour le cache de requêtes. Les clients sont répartis uniformément sur les trois sites concernés (Nancy, Rennes et Sophia-Antipolis). La figure 9(b) présente l influence du nombre de caches sur la résolution sémantique en terme de taux de requêtes par client évaluées sur les serveurs. L axe des abscisses représente le nombre de caches duaux, équivalent au nombre de caches de requêtes. L axe des ordonnées correspond au pourcentage de requêtes par client évaluées sur les serveurs. Contrairement à la résolution physique, l ajout de nouveaux caches est intéressant dans tous les cas considérés. En effet, le nombre de requêtes possibles est relativement grand, rendant difficile leur stockage rapide dans un faible nombre de caches. On observe ainsi que de quatre à vingt caches, le gain obtenu peut atteindre jusqu à 45.3 %. La figure 9(a) présente l impact du nombre de caches sur la résolution sémantique en terme de volume de données transféré entre le cache et les serveurs. L axe des abscisses

14 correspond au nombre de caches. L axe des ordonnées permet de caractériser le volume de données en Giga octets. Cette figure montre que le volume de données transféré n est pas sensible au nombre de caches. En effet, les variations du volume ne sont pas monotones avec une croissance du nombre de caches, les mesures oscillant entre 7.6 et 9.4 Giga octets Expérience grille La dernière expérience que nous avons réalisée étudie les différents protocoles de résolution proposés pour le cache dual dans un contexte grille. Le tableau 2 présente les résultats des différents protocoles, avec vingt clients. Les lignes du tableau représentent les protocoles étudiés : basique, physique, sémantique et sémantique physique. Les colonnes du tableau représentent les métriques considérées : le temps moyen de réponse à une requête en secondes, le taux de requêtes évaluées sur les serveurs donné en pourcent et finalement le volume moyen de données transféré entre les serveurs et un cache. Globalement, le tableau montre qu utiliser une résolution coopérative permet de réduire le temps de réponse, cette diminution étant de l ordre de 50 % dans le cas d une combinaison des coopérations. Plus généralement, toutes les coopération permettent une diminution (plus ou moins grande) du temps de réponse. Cette diminution provient de différents facteurs : un gain en terme de transfert de données et d évaluations sur les serveurs. La résolution physique est l approche présentant le plus faible gain. La coopération entre les caches d objets n a en effet, aucun impact sur le taux de requêtes évaluées sur les serveurs. De plus, le gain en terme de volume de données transféré est assez faible (environ 200 Méga octets). Ce faible gain peut s expliquer par le fait que la plupart des résolutions au sein du cache concerne le cache de requêtes. Dans le cas d une coopération physique, la résolution de défaut pour le cache de requêtes se fait auprès du serveur, les objets étant récupérés par ce même cache. Par conséquent, les caches d objets sont moins contactés que dans le cas d une double coopération. L utilisation d une coopération entre cache de requêtes basée sur la proximité sémantique permet de réduire le nombre de requêtes à évaluer sur les serveurs. On observe effectivement, que le taux de requêtes évaluées sur les serveurs est de 35 % sans coopération, alors qu il est diminué de moitié (17 %) lorsque celle-ci est activée. Il est également possible de remarquer que la coopération entre caches de requêtes permet de diminuer le volume de données transféré, celui-ci passant de 9 à 7.9 Giga octets lorsque la coopération est prise en compte. En effet, lorsque les caches de requêtes coopèrent, les sources de données sont plus souvent accédées à l aide d identifiants, évitant de récupérer des objets déjà stockés. La résolution sémantique physique représente le cas de la double coopération. Les résultats montrent que le gain de la coopération entre cache d objets est bien plus significative que précédemment, diminuant de 2.8 Giga octets entre la résolution sémantique et la résolution sémantique physique. A noter que le résultat en terme de taux d évaluation reste inchangé entre la résolution sémantique et la résolution physique. Ce résultat est logique, puisque l accès au cache de requêtes est le même dans les deux protocoles. 8. Conclusion Cet article présente une solution de cache sémantique coopérative. En utilisant le principe de séparation des préoccupations, cette solution distingue d abord clairement la gestion du cache du processus de résolution, puis l évaluation du transfert de données. Nous nous appuyons sur une notion de proximité pour optimiser les stratégies de coopération en fonction des types de caches considérés et de leurs environnements. Nous exploitons cette approche pour une solution de cache orientée grille, nommée cache dual, qui introduit une collaboration entre un cache de requêtes et un cache d objets. Une configuration fine de la stratégie du cache peut alors être faite pour améliorer à la fois le transfert de données en utilisant une coopération entre caches d objets et l évaluation de requêtes en utilisant une coopération entre caches de requêtes. Des expériences ont montré la pertinence de cette solution dans un contexte grille utilisant un intergiciel de gestion de données. Notre proposition permet d optimiser le temps d évaluation puisque elle maximise le partage de calculs entre caches et réduit le volume de données transférées en limitant les communications externes, instaurant une coopération entre caches d objets d une même organisation. Plusieurs idées sont en cours d exploration pour améliorer à la fois les performances et l autonomie d une solution de caches intelligents. Nous considérons actuellement d autres contextes applicatifs où déployer notre solution, en particulier les systèmes orientés entrepôts de données qui posent des problèmes de cohérence relâchée. Il est important de noter que nous n avons pas abordé les problèmes de synchronisation et qu ils doivent par conséquent être étudiés plus attentivement dans notre proposition. Dans l idée d obtenir des caches autonomes disposant à tout moment d un fonctionnement adapté, nous voulons étudier l impact des politiques de remplacement et les changements de stratégies de coopération. L objectif à moyen terme est de disposer d un canevas de caches auto-adaptables autonomes, sensibles au contexte, pour fournir des solutions efficaces dans des environnements dynamiques.

15 Temps de réponse Évaluations sur les serveurs Données transférées Basique 44,1 s 35 % 9.0 Go Physique 43,7 s 35 % 8.8 Go Sémantique 28,4 s 17 % 7.9 Go Sémantique physique 23,4 s 17 % 5.1 Go TAB. 2. Métriques de performance de protocoles coopératifs dans un contexte grille Remerciements Merci à l équipe Hadas et celle du projet Gedeon pour les discussions sur la gestion de données sur grille. Merci également à l ACI Masses de Données et à l Institut National Polytechnique de Grenoble pour le support financier et à l ACI GRID qui a rendu possible nos expérimentations. Références [1] La base de connaissances swiss-prot. http :// [2] Le projet gedeon. http ://www-lsr.imag.fr/gedeon/. [3] Polygraph. http ://polygraph.ircache.net/. [4] Transaction processing performance council. http :// [5] Mobin Uddin Ahmed, Raja Asad Zaheer, and M. Abdul Qadir. Intelligent cache management for data grid. In Proc. of the Australian WS on Grid computing and e-research, pages 5 12, [6] Jussara Almeida and Pei Cao. Measuring proxy performance with the Wisconsin Proxy Benchmark. Computer Networks and ISDN Systems, 30(22 23) : , [7] Eric Bruneton, Thierry Coupaye, Matthieu Leclerq, Vivien Quéma, and Jean-Bernard Stefani. An Open Component model and its support in Java. In Proceedings of the international symposium in Component-based Software Engineering, [8] Yonny Cardenas, Jean-Marc Pierson, and Lionel Brunie. Uniform Distributed Cache Service for Grid Computing. In 2nd Int. WS on Grid and Peer-to-Peer Computing Impacts on Large Scale Hereogeneous Distributed DB Systems., pages , [9] Emmanuel Cecchet, Julie Marguerite, and Willy Zwaenepoel. C-jdbc : Flexible database clustering middleware. In USENIX Annual Technical Conference, FREENIX Track, pages 9 18, [10] Anawat Chankhunthod, Peter B. Danzig, Chuck Neerdaels, Michael F. Schwartz, and Kurt J. Worrell. A hierarchical internet object cache. In USENIX Annual Technical Conf., pages , [11] Michael Dahlin, Randolph Y. Wang, Thomas E. Anderson, and David A. Patterson. Cooperative caching : Using remote client memory to improve file system performance. In Proc. 1st Symposium on Operating Systems Design and Implementation, pages , [12] Shaul Dar, Michael J. Franklin, Bjorn Thorn Jonsson, Divesh Srivastava, and Michael Tan. Semantic data caching and replacement. In Proc. of the Int. Conf. on VLDB, pages , [13] David J. DeWitt. The wisconsin benchmark : Past, present, and future. In Jim Gray, editor, The Benchmark Handbook for Database and Transaction Systems (2nd Edition). Morgan Kaufmann, [14] Laurent d Orazio, Olivier Valentin, Fabrice Jouanot, Yves Denneulin, Cyril Labbé, and Claudia Roncancio. Services de cache et intergiciel pour grilles de données. In 22ème journées Bases de Données Avancées, [15] Li Fan, Pei Cao, Jussara Almeida, and Andrei Z. Broder. Summary cache : a scalable wide-area web cache sharing protocol. IEEE/ACM Transactions on Networking, 8(3) : , [16] I. Foster. What is the Grid? A Three Point Checklist. Grid Today, 1(6) :22, [17] Michael J. Franklin, Michael J. Carey, and Miron Livny. Global memory management in client-server database architectures. In Proc. of the Int. Conf. on VLDB, pages , [18] Patrick Fuhrmann and Volker Gülzow. dcache, storage system for the future. In Euro-Par 2006, Parallel Processing, 12th International Euro-Par Conference, pages , [19] S. Gadde, M. Rabinovich, and J. Chase. Reduce, reuse, recycle : An approach to building large internet caches. In 6th Workshop on Hot Topics in Operating Systems, page 93, [20] Julien Gossa and Jean-Marc Pierson. End-to-end distance computation in grid environment by nds, the network distance service. In Fourth European Conference on Universal Multiservice Networks, [21] David Karger, Alex Sherman, Andy Berkheimer, Bill Bogstad, Rizwan Dhanidina, Ken Iwamoto, Brian Kim, Luke Matkins, and Yoav Yerushalmi. Web caching with consistent hashing. Comput. Networks, 31(11-16) : , [22] Arthur M. Keller and Julie Basu. A predicate-based caching scheme for client-server db architectures. The VLDB Journal, 5(1) :35 47, [23] Adnan Khaleel and A. L. Narasimha Reddy. Evaluation of data and request distribution policies in clustered servers. In

16 HiPC 99 : Proceedings of the 6th International Conference on High Performance Computing, pages 55 60, [24] Dongwon Lee and Wesley W. Chu. Semantic caching via query matching for web sources. In Proceedings of the eighth international conference on Information and knowledge management, pages 77 85, [25] Qiong Luo, Jeffrey F. Naughton, Rajasekar Krishnamurthy, Pei Cao, and Yunrui Li. Active query caching for db web servers. In 3rd Intl. WS on The WWW and DB, pages , [26] Jean-Marc Menaud, Valérie Issarny, and Michel Banâtre. A new protocol for efficient cooperative transversal web caching. In Proceedings of the 12th International Symposium on Distributed Computing, pages , [27] Vivek S. Pai, Mohit Aron, Gaurov Banga, Michael Svendsen, Peter Druschel, Willy Zwaenepoel, and Erich Nahum. Locality-aware request distribution in cluster-based network servers. In ASPLOS-VIII : Proceedings of the eighth international conference on Architectural support for programming languages and operating systems, pages , [28] Qun Ren, Margaret H. Dunham, and Vijay Kumar. Semantic caching and query processing. IEEE Transactions on Knowledge and Data Engineering, 15(1) : , [29] Alex Rousskov and Duane Wessels. Cache digests. Computer Networks and ISDN Systems, 30(22 23) : , [30] Nicholas Roussopoulos. An incremental access method for viewcache : concept, algorithms, and cost analysis. ACM Transactions on DB Systems, 16(3) : , [31] Vinod Valloppillil and Keith W. Ross. Cache array routing protocol v1.0. Internet draft, [32] Olivier Vanlentin, Fabrice Jouanot, Laurent d Orazio, Yves Denneulin, Claudia Roncancio, Cyril Labbé, Christophe Blanchet, Pierre Sens, and Claude Bonnard. Gedeon, un intergiciel pour grille de données. In Conférence Française en Système d Exploitation, [33] P. Vixie and D. Wessels. Hyper text caching protocol (htcp/0.0), [34] Duane Wessels and K Claffy. ICP and the Squid Web cache. IEEE Journal on Selected Areas in Communication, 16(3) : , 1998.

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

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)

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) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

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

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr 1 ViSaGe Virtualisation du Stockage dans les Grilles Informatiques RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr IRIT Projet RNTL labellisé pré-compétitif Solution ViSaGe ViSaGe Accès transparent

Plus en détail

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 1 Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS Sauvegarde collaborative entre pairs 2 Introduction Pourquoi pair à pair? Utilisation de ressources

Plus en détail

Système de stockage IBM XIV Storage System Description technique

Système de stockage IBM XIV Storage System Description technique Système de stockage IBM XIV Storage System Description technique Système de stockage IBM XIV Storage System Le stockage réinventé Performance Le système IBM XIV Storage System constitue une solution de

Plus en détail

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

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

Cours n 12. Technologies WAN 2nd partie

Cours n 12. Technologies WAN 2nd partie Cours n 12 Technologies WAN 2nd partie 1 Sommaire Aperçu des technologies WAN Technologies WAN Conception d un WAN 2 Lignes Louées Lorsque des connexions dédiées permanentes sont nécessaires, des lignes

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Contributions à l expérimentation sur les systèmes distribués de grande taille

Contributions à l expérimentation sur les systèmes distribués de grande taille Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

2 disques en Raid 0,5 ou 10 SAS

2 disques en Raid 0,5 ou 10 SAS Serveur GED: INFO EN + Afin d obtenir des performances optimales il est préférable que le serveur soit dédié. Matériel : Processeur Jusqu à 10 utilisateurs 2.0 Ghz environ Jusqu à 30 utilisateurs 2.6 Ghz

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

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

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

Palo Alto Networks Guide de l administrateur Panorama. Panorama 5.1

Palo Alto Networks Guide de l administrateur Panorama. Panorama 5.1 Palo Alto Networks Guide de l administrateur Panorama Panorama 5.1 Coordonnées de contact Siège social : Palo Alto Networks 3300 Olcott Street Santa Clara, CA 95054 http://www.paloaltonetworks.com/contact/contact/

Plus en détail

EMC DATA DOMAIN OPERATING SYSTEM

EMC DATA DOMAIN OPERATING SYSTEM EMC DATA DOMAIN OPERATING SYSTEM Au service du stockage de protection EMC AVANTAGES CLÉS Déduplication évolutive ultrarapide Jusqu à 31 To/h de débit Réduction des besoins en stockage de sauvegarde de

Plus en détail

ACCESSNET -T IP Technique système TETRA d Hytera. www.hytera.de

ACCESSNET -T IP Technique système TETRA d Hytera. www.hytera.de Technique système TETRA d Hytera est la solution complète et performante pour toutes les applications de la téléphonie mobile professionnelle. www.hytera.de Bref aperçu Pour une communication TETRA professionnelle

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

environnements SQL Server?

environnements SQL Server? Comment booster les performances de vos environnements SQL Server? performance technology Innovators in Performance and Reliability Technologies Comment booster les performances de vos environnements SQL

Plus en détail

Caches adaptables et applications aux systèmes de gestion de données répartis à grande échelle

Caches adaptables et applications aux systèmes de gestion de données répartis à grande échelle Institut National Polytechnique de Grenoble N attribué par la bibliothèque THÈSE pour obtenir le grade de DOCTEUR DE L INP Grenoble Spécialité : «Informatique : Systèmes et Logiciels» préparée au laboratoire

Plus en détail

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

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Mémoires 2010-2011 www.euranova.eu MÉMOIRES ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE Contexte : Aujourd hui la plupart des serveurs d application JEE utilise des niveaux de cache L1

Plus en détail

FAMILLE EMC RECOVERPOINT

FAMILLE EMC RECOVERPOINT FAMILLE EMC RECOVERPOINT Solution économique de protection des données et de reprise après sinistre en local et à distance Avantages clés Optimiser la protection des données et la reprise après sinistre

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Consolidation de stockage

Consolidation de stockage (Information sur la technologie Sto-2003-2) Wolfgang K. Bauer Spécialiste stockage Centre de compétence transtec AG Waldhörnlestraße 18 D-72072 Tübingen Allemagne TABLE DES MATIÈRES 1 RÉSUMÉ...3 2 INTRODUCTION...4

Plus en détail

Introduction au Data-Mining

Introduction au Data-Mining Introduction au Data-Mining Alain Rakotomamonjy - Gilles Gasso. INSA Rouen -Département ASI Laboratoire PSI Introduction au Data-Mining p. 1/25 Data-Mining : Kèkecé? Traduction : Fouille de données. Terme

Plus en détail

EMC DATA DOMAIN HYPERMAX

EMC DATA DOMAIN HYPERMAX EMC DATA DOMAIN HYPERMAX Optimisation du stockage de protection EMC AVANTAGES CLÉS Déduplication évolutive et ultrarapide Jusqu à 58,7 To/h de débit Réduit de 10 à 30 fois le stockage de sauvegarde, et

Plus en détail

Évaluation d une architecture de stockage RDF distribuée

Évaluation d une architecture de stockage RDF distribuée Évaluation d une architecture de stockage RDF distribuée Maeva Antoine 1, Françoise Baude 1, Fabrice Huet 1 1 INRIA MÉDITERRANÉE (ÉQUIPE OASIS), UNIVERSITÉ NICE SOPHIA-ANTIPOLIS, I3S CNRS prénom.nom@inria.fr

Plus en détail

Audit activité base Oracle / SAP

Audit activité base Oracle / SAP Audit activité base Oracle / SAP Version : 1.0 Date : 04/02/2009 Auteur : xxxxxxxxxxx SOMMAIRE 1 OBJECTIFS DE CE DOCUMENT...3 2 Résultats de l étude...4 2.1. Bref exposé des constatations...4 2.1.1 Le

Plus en détail

Protection des données avec les solutions de stockage NETGEAR

Protection des données avec les solutions de stockage NETGEAR Protection des données avec les solutions de stockage NETGEAR Solutions intelligentes pour les sauvegardes de NAS à NAS, la reprise après sinistre pour les PME-PMI et les environnements multi-sites La

Plus en détail

Competence Management System (Système de Gestion de Compétences)

Competence Management System (Système de Gestion de Compétences) Dispositif :... 3 Qu est-ce qu un CMS?... 3 Quels sont les dispositifs intégrés à un CMS... 3 Comment envoyer des emails?... 3 Puis-je envoyer des emails seulement à un groupe de personnes?... 4 Comment

Plus en détail

Technologie de déduplication de Barracuda Backup. Livre blanc

Technologie de déduplication de Barracuda Backup. Livre blanc Technologie de déduplication de Barracuda Backup Livre blanc Résumé Les technologies de protection des données jouent un rôle essentiel au sein des entreprises et ce, quelle que soit leur taille. Toutefois,

Plus en détail

Caches web. Olivier Aubert 1/35

Caches web. Olivier Aubert 1/35 Caches web Olivier Aubert 1/35 Liens http://mqdoc.lasat.com/online/courses/caching/ (prise en compte des caches dans la conception de sites) http://mqdoc.lasat.com/online/courses/proxyserver http://www.web-caching.com/mnot_tutorial/

Plus en détail

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

<Insert Picture Here> Solaris pour la base de donnés Oracle

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

Plus en détail

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks) LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks) Think Faster. [Pensez plus vite] Visitez Condusiv.com RECOMMANDATIONS D UTILISATION DE DISKEEPER

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Gestion de clusters de calcul avec Rocks

Gestion de clusters de calcul avec Rocks Gestion de clusters de calcul avec Laboratoire de Chimie et Physique Quantiques / IRSAMC, Toulouse scemama@irsamc.ups-tlse.fr 26 Avril 2012 Gestion de clusters de calcul avec Outline Contexte 1 Contexte

Plus en détail

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace 1 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Réseau longue distance et application distribuée dans les grilles de

Plus en détail

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie "étude de cas architecture et systèmes"

Concours interne d ingénieur des systèmes d information et de communication. «Session 2010» Meilleure copie étude de cas architecture et systèmes Concours interne d ingénieur des systèmes d information et de communication «Session 2010» Meilleure copie "étude de cas architecture et systèmes" Note obtenue : 14,75/20 HEBERGE-TOUT Le 25 mars 2010 A

Plus en détail

données en connaissance et en actions?

données en connaissance et en actions? 1 Partie 2 : Présentation de la plateforme SPSS Modeler : Comment transformer vos données en connaissance et en actions? SPSS Modeler : l atelier de data mining Large gamme de techniques d analyse (algorithmes)

Plus en détail

Haka : un langage orienté réseaux et sécurité

Haka : un langage orienté réseaux et sécurité Haka : un langage orienté réseaux et sécurité Kevin Denis, Paul Fariello, Pierre Sylvain Desse et Mehdi Talbi kdenis@arkoon.net pfariello@arkoon.net psdesse@arkoon.net mtalbi@arkoon.net Arkoon Network

Plus en détail

La haute disponibilité

La haute disponibilité Chapitre 3 La haute 3.1 Définition du cluster de serveurs...112 3.2 La mise en cluster des applications...114 3.3 Les composants du cluster de serveurs...115 3.4 Les obets du cluster de serveurs...119

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Détection d'intrusions en environnement haute performance

Détection d'intrusions en environnement haute performance Symposium sur la Sécurité des Technologies de l'information et des Communications '05 Détection d'intrusions en environnement haute performance Clusters HPC Fabrice Gadaud (fabrice.gadaud@cea.fr) 1 Sommaire

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Logiciel de capture et de gestion des flux de documents MOINS DE PAPIER, PLUS D EFFICACITÉ. VOUS POUVEZ COMPTER SUR NOUS

Logiciel de capture et de gestion des flux de documents MOINS DE PAPIER, PLUS D EFFICACITÉ. VOUS POUVEZ COMPTER SUR NOUS Logiciel de capture et de gestion des flux de documents MOINS DE PAPIER, PLUS D EFFICACITÉ. VOUS POUVEZ COMPTER SUR NOUS un FLUX DE TRAVAIL AUTOMATIQUEMENT AMÉLIORÉ. C est un fait, même si votre bureau

Plus en détail

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

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique Le DNS DNS = Domain Name Service Sert à résoudre les noms d ordinateur en adresse IP. Contention de dénomination pour les domaines Windows 2000 (nommage des domaines W2K) Localisation des composants physiques

Plus en détail

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES 1 DECOUVERTE DE LA VIRTUALISATION... 2 1.1 1.2 CONCEPTS, PRINCIPES...2 UTILISATION...2 1.2.1 Formation...2

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

Plus en détail

Sauvegarde et restauration EMC Avamar en environnement VMware

Sauvegarde et restauration EMC Avamar en environnement VMware Sauvegarde et restauration EMC Avamar en environnement VMware Technologie appliquée Résumé Ce livre blanc décrit les composants des solutions VMware vsphere et VMware View, ainsi que les options disponibles

Plus en détail

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement COREYE CACHE Solution d absorption de charge pour une disponibilité et une performance optimales des applications Web En bref Architecture technique La plateforme Coreye Cache délivre la majeure partie

Plus en détail

Concepts et systèmes de stockage

Concepts et systèmes de stockage Concepts et systèmes de stockage Francesco Termine, professeur HES, francesco.termine@he-arc.ch 1 Plan Gestion de volumes de stockage Systèmes RAID DAS SAS Concepts Technologies actuelles NAS Concepts

Plus en détail

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations des SGBDR. Étude de cas : MySQL Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Symantec Backup Exec.cloud

Symantec Backup Exec.cloud Protection automatique, continue et sécurisée qui sauvegarde les données vers le cloud ou via une approche hybride combinant la sauvegarde sur site et dans le cloud. Fiche technique : Symantec.cloud Seulement

Plus en détail

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

Pré-requis techniques

Pré-requis techniques Sommaire 1. PRÉAMBULE... 3 2. PRÉ-REQUIS TÉLÉCOM... 4 Généralités... 4 Accès Télécom supporté... 4 Accès Internet... 5 Accès VPN... 5 Dimensionnement de vos accès... 6 3. PRÉ-REQUIS POUR LES POSTES DE

Plus en détail

Le filtrage de niveau IP

Le filtrage de niveau IP 2ème année 2008-2009 Le filtrage de niveau IP Novembre 2008 Objectifs Filtrage : Le filtrage permet de choisir un comportement à adopter vis à vis des différents paquets émis ou reçus par une station.

Plus en détail

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES

LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES LE SAN ET LE NAS : LE RESEAU AU SERVICE DES DONNEES Marie GALEZ, galez@cines.fr Le propos de cet article est de présenter les architectures NAS et SAN, qui offrent de nouvelles perspectives pour le partage

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/ Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Gestion répartie de données - 1

Gestion répartie de données - 1 Gestion répartie de données - 1 Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR) http://sardes.inrialpes.fr/~krakowia Gestion répartie de données Plan de la présentation Introduction

Plus en détail

Prototype de canal caché dans le DNS

Prototype de canal caché dans le DNS Manuscrit auteur, publié dans "Colloque Francophone sur l Ingénierie des Protocoles (CFIP), Les Arcs : France (2008)" Prototype de canal caché dans le DNS Lucas Nussbaum et Olivier Richard Laboratoire

Plus en détail

ERP Service Negoce. Pré-requis CEGID Business version 2008. sur Plate-forme Windows. Mise à jour Novembre 2009

ERP Service Negoce. Pré-requis CEGID Business version 2008. sur Plate-forme Windows. Mise à jour Novembre 2009 ERP Service Negoce Pré-requis CEGID Business version 2008 sur Plate-forme Windows Mise à jour Novembre 2009 Service d'assistance Téléphonique 0 825 070 025 Pré-requis Sommaire 1. PREAMBULE... 3 Précision

Plus en détail

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

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

1. Introduction à la distribution des traitements et des données 2A SI 1 - Introduction aux SI, et à la distribution des traitements et des données Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Introduction à LDAP et à Active Directory... 15. Étude de cas... 37

Introduction à LDAP et à Active Directory... 15. Étude de cas... 37 Introduction à LDAP et à Active Directory... 15 Généralité sur l annuaire et LDAP... 16 Qu est-ce qu un annuaire?... 16 Un peu d histoire sur le protocole... 16 LDAP version 2 et version 3... 17 Le standard

Plus en détail

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP Vue d ensemble du basculement DHCP Dans Windows Server 2008 R2, il existe deux options à haute disponibilité dans le cadre du déploiement du serveur DHCP. Chacune de ces options est liée à certains défis.

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Avant-propos L économie en réseau, ou la netéconomie, est au cœur des débats et des stratégies de toutes les entreprises. Les organisations, qu il s agisse de

Plus en détail

Itium XP. Guide Utilisateur

Itium XP. Guide Utilisateur Itium XP 06/2007 - Rev. 3 1 Sommaire 1 Sommaire... 2 2 Généralités... 3 3 ItiumSysLock... 4 3.1 Enregistrer l état actuel du système... 4 3.2 Désactiver ItiumSysLock... 5 3.3 Activer ItiumSysLock... 5

Plus en détail

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

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

TD n o 8 - Domain Name System (DNS)

TD n o 8 - Domain Name System (DNS) IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,

Plus en détail

Disponibilité et fiabilité des services et des systèmes

Disponibilité et fiabilité des services et des systèmes Disponibilité et fiabilité des services et des systèmes Anthony Busson Introduction Un site Web commercial perd de l argent lorsque leur site n est plus disponible L activité d une entreprise peut être

Plus en détail

Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre

Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre La tendance actuelle vers une conception distribuée de l entreprise, avec des agences, des centres de

Plus en détail

IBM Tivoli Monitoring, version 6.1

IBM Tivoli Monitoring, version 6.1 Superviser et administrer à partir d une unique console l ensemble de vos ressources, plates-formes et applications. IBM Tivoli Monitoring, version 6.1 Points forts! Surveillez de façon proactive les éléments

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

Optimisation WAN de classe Centre de Données

Optimisation WAN de classe Centre de Données Optimisation WAN de classe Centre de Données Que signifie «classe centre de données»? Un nouveau niveau de performance et d'évolutivité WAN Dans le milieu de l'optimisation WAN, les produits de classe

Plus en détail

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013

DHCP et NAT. Cyril Rabat cyril.rabat@univ-reims.fr. Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 2012-2013 DHCP et NAT Cyril Rabat cyril.rabat@univ-reims.fr Master 2 ASR - Info09115 - Architecture des réseaux d entreprise 22-23 Cours n 9 Présentation des protocoles BOOTP et DHCP Présentation du NAT Version

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

Service d'annuaire Active Directory

Service d'annuaire Active Directory ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Service d'annuaire Active Directory DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Description

Plus en détail

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

SQL Server Installation Center et SQL Server Management Studio

SQL Server Installation Center et SQL Server Management Studio SQL Server Installation Center et SQL Server Management Studio Version 1.0 Grégory CASANOVA 2 SQL Server Installation Center et SQL Server Management Studio [03/07/09] Sommaire 1 Installation de SQL Server

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Analyse de la bande passante

Analyse de la bande passante Analyse de la bande passante 1 Objectif... 1 2 Rappels techniques... 2 2.1 Définition de la bande passante... 2 2.2 Flux ascendants et descandants... 2 2.3 Architecture... 2 2.4 Bande passante et volumétrie...

Plus en détail

UPSTREAM for Linux on System z

UPSTREAM for Linux on System z FICHE PRODUIT UPSTREAM for Linux on System z UPSTREAM for Linux on System z UPSTREAM for Linux on System z est conçu de manière à assurer une protection de données complète pour votre environnement Linux

Plus en détail

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Copyright Acronis, Inc. 2000 2009 Table des matières Résumé... 3 Qu est-ce que la déduplication?... 4 Déduplication au

Plus en détail