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 : 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 ://www.ebi.ac.uk/swissprot/. [2] Le projet gedeon. http ://www-lsr.imag.fr/gedeon/. [3] Polygraph. http ://polygraph.ircache.net/. [4] Transaction processing performance council. http ://www.tpc.org/. [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.

Les systèmes RAID Architecture des ordinateurs

Les systèmes RAID Architecture des ordinateurs METAIS Cédric 2 ème année Informatique et réseaux Les systèmes RAID Architecture des ordinateurs Cédric METAIS ISMRa - 1 - LES DIFFERENTS SYSTEMES RAID SOMMAIRE INTRODUCTION I LES DIFFERENTS RAID I.1 Le

Plus en détail

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

GEDEON, un Intergiciel pour Grille de Données

GEDEON, un Intergiciel pour Grille de Données RenPar 17 / SympA 2006 / CFSE 5 / JC 2006 Canet en Roussillon, 4 au 6 octobre 2006 GEDEON, un Intergiciel pour Grille de Données Olivier Vanlentin, Fabrice Jouanot, Laurent d Orazio, Yves Denneulin, Claudia

Plus en détail

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle

Besoin de concevoir des systèmes massivement répartis. Comment tester le système? Solution. Évaluation de systèmes répartis à large échelle Besoin de concevoir des systèmes massivement répartis. Évaluation de systèmes répartis à large échelle Sergey Legtchenko Motivation : LIP6-INRIA Tolérance aux pannes Stockage de données critiques Coût

Plus en détail

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6 Gestion de données à large échelle Anne Doucet LIP6 Université Paris 6 1 Plan Contexte Les réseaux P2P Non structurés Structurés Hybrides Localisation efficace et Interrogation complète et exacte des données.

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

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel)

Plan. Cours 4 : Méthodes d accès aux données. Architecture système. Objectifs des SGBD (rappel) UPMC - UFR 99 Licence d informatique 205/206 Module 3I009 Cours 4 : Méthodes d accès aux données Plan Fonctions et structure des SGBD Structures physiques Stockage des données Organisation de fichiers

Plus en détail

Architecture des calculateurs

Architecture des calculateurs Chapitre 1 Architecture des calculateurs 1.1 Introduction Ce paragraphe n a pas la prétention de présenter un cours d informatique. D une manière générale, seuls les caractéristiques architecturales qui

Plus en détail

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base)

Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) Chapitre 1 : Introduction aux Systèmes de Gestion de Bases de Données (Eléments de base) 1. Généralités sur l'information et sur sa Représentation 1.1 Informations et données : a. Au sen de la vie : C

Plus en détail

Évaluation en laboratoire de la baie hybride NetApp avec technologie Flash Pool

Évaluation en laboratoire de la baie hybride NetApp avec technologie Flash Pool Évaluation en laboratoire de la baie hybride NetApp avec technologie Flash Pool Rapport d'évaluation préparé pour le compte de NetApp Introduction Les solutions de stockage Flash se multiplient et recueillent

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

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

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

«Scale-to-fit» Storage

«Scale-to-fit» Storage LIVRE BLANC «Scale-to-fit» Storage Faites évoluer votre stockage de façon totalement transparente grâce au «Scale-to-Fit» de Nimble Storage. Ce livre blanc explique comment les solutions Nimble Storage

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

Plus en détail

Cours n 9. Trunking - VTP Inter-VLAN

Cours n 9. Trunking - VTP Inter-VLAN Cours n 9 Trunking - VTP Inter-VLAN 1 Sommaire Agrégation (Trunking) VTP Inter-VLAN routing 2 Définition L'apparition de l'agrégation (trunking) remonte aux origines des technologies radio et de téléphonie.

Plus en détail

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé

Projet ROSES Programme MDCO Edition 2007. Livrable no D1.2 Architecture d un Système ROSES centralisé Projet ROSES Programme MDCO Edition 2007 Livrable no D1.2 Architecture d un Système ROSES centralisé Identification Acronyme du projet Numéro d'identification de l'acte attributif ROSES ANR-07-MDCO-011-01

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

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

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe

Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium. Comparatif Choco/Drools dans le cadre du projet JASMINe Guillaume SOLDERA (B guillaume.soldera@serli.fr) SERLI Informatique Bull OW2 Consortium dans le cadre du projet JASMINe Avril 2008 Table des matières 1 Introduction 3 1.1 Rappel sur JASMINe.......................................

Plus en détail

Généralités sur les bases de données

Généralités sur les bases de données Généralités sur les bases de données Qu est-ce donc qu une base de données? Que peut-on attendre d un système de gestion de bases de données? Que peut-on faire avec une base de données? 1 Des données?

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

ETUDE DE CAS SESSION 2000 OPTION ARLE BAREME ET CORRIGE ETABLIS PAR LA COMMISSION NATIONALE D HARMONISATION DU 31 MAI 2000

ETUDE DE CAS SESSION 2000 OPTION ARLE BAREME ET CORRIGE ETABLIS PAR LA COMMISSION NATIONALE D HARMONISATION DU 31 MAI 2000 BTS INFORMATIQUE DE GESTION SESSION 2000 ETUDE DE CAS SESSION 2000 OPTION ARLE BAREME ET CORRIGE ETABLIS PAR LA COMMISSION NATIONALE D HARMONISATION DU 31 MAI 2000 Durée : 5 heures Coefficient : 5 CAS

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

Supervision des réseaux et services pair à pair

Supervision des réseaux et services pair à pair Supervision des réseaux et services pair à pair Présentation des travaux de Thèse Guillaume Doyen LORIA - Université Henri Poincaré pour l obtention du Doctorat en Informatique de l université Henri Poincaré

Plus en détail

gcaddy Suite Description du produit

gcaddy Suite Description du produit gcaddy Suite Description du produit Version 1.0 www.gweb.be @ info@gweb.be TVA : BE-863.684.238 SNCI : 143-0617856-67 1 / 8 1 Description de gcaddy gcaddy est le module E-commerce de Gweb. Il se présente

Plus en détail

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

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

EMC Data Domain Boost for

EMC Data Domain Boost for EMC Data Domain Boost for Symantec Backup Exec Augmentez vos performances de sauvegarde grâce à une intégration avancée dans OpenStorage Avantages clés Sauvegardes plus rapides et meilleure utilisation

Plus en détail

Architectures Parallèles

Architectures Parallèles Architectures Parallèles Cours pour Ingénieur Préparé par Dr. Olfa Hamdi-Larbi ola_ola79@yahoo.fr Reçoit les signaux du contrôleur, cherche les données et les traite Instructions, Données à traiter et

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

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

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

Mémoire virtuelle. Généralités

Mémoire virtuelle. Généralités Mémoire virtuelle Généralités La pagination pure - Conversion d adresses virtuelles en adresses physiques - Table des pages à plusieurs niveau et table inversée - Algorithmes de remplacement de page -

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

Conception d Applications Réparties

Conception d Applications Réparties Jean-François Roos LIFL - équipe GOAL- bâtiment M3 Extension - bureau 206 -Jean-Francois.Roos@lifl.fr 1 Objectifs du Cours Appréhender la conception d applications réparties motivations et concepts architectures

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

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

Plus en détail

Architecture de sauvegarde, le retour

Architecture de sauvegarde, le retour Architecture de sauvegarde, le retour 1 Architecture de sauvegarde, le retour Ludovic Courtès LAAS-CNRS Architecture de sauvegarde, le retour 2 Découpage et sauvegarde d un fichier - Introduction - Découper

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

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

Page 1 2 La présente invention concerne le domaine des architectures informatiques, et en particulier un procédé pour le développement d applications destiné à un fonctionnement en réseau, par exemple

Plus en détail

Machine de Turing. Informatique II Algorithmique 1

Machine de Turing. Informatique II Algorithmique 1 Machine de Turing Nous avons vu qu un programme peut être considéré comme la décomposition de la tâche à réaliser en une séquence d instructions élémentaires (manipulant des données élémentaires) compréhensibles

Plus en détail

TD2 : CORRECTION. Exercice 1 : 1. Quel est l avantage de la séparation de l adressage en deux parties dans l adressage Internet?

TD2 : CORRECTION. Exercice 1 : 1. Quel est l avantage de la séparation de l adressage en deux parties dans l adressage Internet? TD2 : CORRECTION I. connaître son environnement réseau a. Quelle est l adresse IPv4 de votre PC? l adresse IPv6? ipconfig : Adresse IPv4..............: 192.168.1.13 Masque de sous-réseau.... : 255.255.255.0

Plus en détail

SURETE DE FONCTIONNEMENT ET REPRISE APRES PANNE

SURETE DE FONCTIONNEMENT ET REPRISE APRES PANNE Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ARCHITECTURE ET ADMINISTRATION DES BASES DE DONNÉES 2013-2014 RESPONSABLES M. KAMEL BOUKHALFA (SII)

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

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

Introduction aux S.G.B.D.

Introduction aux S.G.B.D. NFE113 Administration et configuration des bases de données - 2010 Introduction aux S.G.B.D. Eric Boniface Sommaire L origine La gestion de fichiers Les S.G.B.D. : définition, principes et architecture

Plus en détail

Architecture Constellio

Architecture Constellio Architecture Constellio Date : 12 novembre 2013 Version 3.0 Contact : Nicolas Bélisle nicolas.belisle@doculibre.com 5146555185 1 Table des matières Table des matières... 2 Présentation générale... 4 Couche

Plus en détail

SDN / Open Flow dans le projet de recherche de GEANT (GN3+)

SDN / Open Flow dans le projet de recherche de GEANT (GN3+) SDN / Open Flow dans le projet de recherche de GEANT (GN3+) Xavier Jeannin GIP RENATER 23-25, rue Daviel 75013 PARIS Résumé Dans le cadre du projet GN3+ (avril 2013 Mars 2015), parmi la tâche orientée

Plus en détail

Les principaux domaines de l informatique

Les principaux domaines de l informatique Les principaux domaines de l informatique... abordés dans le cadre de ce cours: La Programmation Les Systèmes d Exploitation Les Systèmes d Information La Conception d Interfaces Le Calcul Scientifique

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

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

Sauvegarde et restauration en environnement VMware avec Avamar 6.0

Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Livre blanc Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Analyse détaillée Résumé Dans les entreprises, les environnements virtuels sont de plus en plus déployés dans le cloud. La

Plus en détail

On distingue deux catégories de réseaux : le réseau «poste à poste» et le réseau disposant d un «serveur dédié».

On distingue deux catégories de réseaux : le réseau «poste à poste» et le réseau disposant d un «serveur dédié». Un réseau est un ensemble de connexions entre plusieurs ordinateurs. Il va permettre : - la communication entre utilisateurs à travers les machines - la partage de ressources matérielles - le partage de

Plus en détail

Maintenir vos bases de données SQL Server défragmentées avec Diskeeper

Maintenir vos bases de données SQL Server défragmentées avec Diskeeper Maintenir vos bases de données SQL Server défragmentées avec Diskeeper Toutes les bases de données SQL Server présentent, au fil du temps, une fragmentation «interne» de leurs données. Elle se produit

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

Objectifs. Maîtriser. Pratiquer

Objectifs. Maîtriser. Pratiquer 1 Bases de Données Objectifs Maîtriser les concepts d un SGBD relationnel Les modèles de représentations de données Les modèles de représentations de données La conception d une base de données Pratiquer

Plus en détail

Il existe actuellement plusieurs méthodes pour accéder à un serveur de contenu proche du client.

Il existe actuellement plusieurs méthodes pour accéder à un serveur de contenu proche du client. Yan Chen, Randy H. Katz, John D. Kubiatowicz. Dynamic Replica Placement for Scalable Content Delivery. In Peer-to-Peer Systems: First International Workshop, IPTPS 2002. Le domaine abordé par l article

Plus en détail

L approche Bases de données

L approche Bases de données L approche Bases de données Cours: BD. Avancées Année: 2005/2006 Par: Dr B. Belattar (Univ. Batna Algérie) I- : Mise à niveau 1 Cours: BDD. Année: 2013/2014 Ens. S. MEDILEH (Univ. El-Oued) L approche Base

Plus en détail

IBM Cognos TM1. Fiche Produit. Aperçu

IBM Cognos TM1. Fiche Produit. Aperçu Fiche Produit IBM Cognos TM1 Aperçu Cycles de planification raccourcis de 75 % et reporting ramené à quelques minutes au lieu de plusieurs jours Solution entièrement prise en charge et gérée par le département

Plus en détail

Découverte et investigation des menaces avancées INFRASTRUCTURE

Découverte et investigation des menaces avancées INFRASTRUCTURE Découverte et investigation des menaces avancées INFRASTRUCTURE AVANTAGES CLÉS Infrastructure RSA Security Analytics Collecte distribuée grâce à une architecture modulaire Solution basée sur les métadonnées

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

Enveloppes convexes dans le plan

Enveloppes convexes dans le plan ÉCOLE POLYTECHNIQUE ÉCOLES NORMALES SUPÉRIEURES ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE B (XECLR)

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

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

Chapitre X : Réseaux virtuels (VLAN)

Chapitre X : Réseaux virtuels (VLAN) Chapitre X : Réseaux virtuels (VLAN) Eric Leclercq & Marinette Savonnet Département IEM http://ufrsciencestech.u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq 8 avril 2011 1 Principes Problématique

Plus en détail

L'architecture Mesh. frati@nyx.unice.fr

L'architecture Mesh. frati@nyx.unice.fr L'architecture Mesh frati@nyx.unice.fr On connaissait déjà le mode sans infrastructure : le mode Ad-Hoc mode habituel pour connecter deux ordinateurs entre eux (d égal à égal) permettant des partages de

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

Description et regroupement de ressources pour les réseaux virtuels

Description et regroupement de ressources pour les réseaux virtuels École nationale d ingénieurs de Sfax Description et regroupement de ressources pour les réseaux virtuels Houssem Medhioub M. Mohamed Jmaiel Président M. Slim Kanoun Membre M. Maher Ben Jemaa Encadreur

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

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Déploiement adaptatif des composants dans les sessions collaboratives

Déploiement adaptatif des composants dans les sessions collaboratives NOuvelles TEchnologies de la REpartition NOTERE 2005 Déploiement adaptatif des composants dans les sessions collaboratives Emir HAMMAMI, Thierry VILLEMUR {ehammami, villemur}@laas.fr LAAS-CNRS 7, avenue

Plus en détail

Fax sur IP. Panorama

Fax sur IP. Panorama Fax sur IP Panorama Mars 2012 IMECOM Groupe prologue - Z.A. Courtaboeuf II - 12, avenue des Tropiques - B.P. 73-91943 LES ULIS CEDEX - France Phone : + 33 1 69 29 39 39 - Fax : + 33 1 69 28 89 55 - http://www.prologue.fr

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Introduction : Caractéristiques du RAID : La redondance et la parité : Les différents types de systèmes RAID :

Introduction : Caractéristiques du RAID : La redondance et la parité : Les différents types de systèmes RAID : Introduction : La technologie RAID (regroupement redondant de disques indépendants) permet de constituer une unité de stockage à partir de plusieurs disques durs. Cette unitée,appelée grappe, a une tolérance

Plus en détail

Optimisation de la gestion des ressources du poste de travail

Optimisation de la gestion des ressources du poste de travail Sommaire 1. Introduction... 3 1.1. RAPPEL... 3 1.1.1. Fichier d'échange... 3 1.1.2. Mémoire vive (RAM)... 3 2. Analyse de la mémoire... 4 2.1. Mémoire insuffisante... 4 2.1.1. Échanges trop nombreux...

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

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

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

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

La répartition de charge (Cluster NLB)

La répartition de charge (Cluster NLB) La répartition de charge (Cluster NLB) La répartition de charge devient indispensable quand un seul serveur ne suffit plus pour tenir la charge ou maintenir un temps de réponse acceptable. Si le besoin

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

SGBD orientés objet. Généralités Modèles de données et SGBD orientés objet 03/03/2015. Définitions. Concepts Généraux

SGBD orientés objet. Généralités Modèles de données et SGBD orientés objet 03/03/2015. Définitions. Concepts Généraux SGBD orientés objet Définitions Généralités Modèles de données et SGBD orientés objet MDOO : Un modèle de données qui capture la sémantique des objets supportée en programmation objet. Concepts Généraux

Plus en détail

Analyse abstraite de missions sous PILOT

Analyse abstraite de missions sous PILOT Analyse abstraite de missions sous PILOT Damien Massé EA 3883, Université de Bretagne Occidentale, Brest damien.masse@univ-brest.fr Résumé Nous étudions la possibilité de réaliser un analyseur par interprétation

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

DataSheet Amélioration du Retour sur Investissement

DataSheet Amélioration du Retour sur Investissement G E S T I O N D U S T O C K A G E E N E N V I R O N N E M E N T O U V E R T DataSheet Amélioration du Retour sur Investissement Réduction du Coût Total d Exploitation Gestion, Virtualisation et Contrôle

Plus en détail

Stockage : capacité, performances

Stockage : capacité, performances Stockage : capacité, performances Intervenant :Thomas Robert C234-4 thomas.robert@telecom-paristech.fr Transparents : Thomas Robert Institut Mines-Télécom Lectures possibles Chapitre 7.2 de : http://ceit.aut.ac.ir/~amirkhani/

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

Plus en détail

Objectifs de la séance #7

Objectifs de la séance #7 Windows 7 Sécurité, maintenance et sauvegarde 1 Sécurité Mise à jour Pare-feu et anti-virus Anti-virus (ex. Avast) Windows Defender Objectifs de la séance #7 Maintenance Informations système Gestionnaire

Plus en détail

Cours #4 Introduction aux bases de données

Cours #4 Introduction aux bases de données IFT-6800, Automne 2015 Cours #4 Introduction aux bases de données Louis Salvail André-Aisenstadt, #3369 salvail@iro.umontreal.ca Pourquoi les bases de données Des applications nécessitent l organisation

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

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

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 38 NFP111 Systèmes et Applications Réparties Cours 11 - Les Enterprise Java Beans (Introduction aux Enterprise Claude Duvallet Université du Havre UFR Sciences

Plus en détail

Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows.

Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows. Les technologies documentaires adhoc intégrées au sein des services SharePoint pour Windows. Les services «Microsoft SharePoint» offrent aux utilisateurs Windows un ensemble de fonctions de stockage de

Plus en détail

Bénéfices de Citrix NetScaler pour les architectures Citrix

Bénéfices de Citrix NetScaler pour les architectures Citrix Bénéfices de Citrix NetScaler pour les architectures Citrix 15 novembre 2007 Auteurs: Mahmoud EL GHOMARI E-mail: mahmoud.elghomari@eu.citrix.com Stéphane CAUNES E-mail: stephane.caunes@eu.citrix.com Riad

Plus en détail

LIVRE BLANC Guide pour rendre les VM 50 % plus rapides Sans matériel

LIVRE BLANC Guide pour rendre les VM 50 % plus rapides Sans matériel LIVRE BLANC Guide pour rendre les VM 50 % plus rapides Sans matériel Think Faster. Visitez notre site Condusiv.com GUIDE POUR RENDRE LES VM 50 % PLUS RAPIDES SANS MATÉRIEL 2 Résumé analytique Même si tout

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

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