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.

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

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

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

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

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

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

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

Solutions de gestion de la sécurité Livre blanc

Solutions de gestion de la sécurité Livre blanc Solutions de gestion de la sécurité Livre blanc L intégration de la gestion des identités et des accès avec l authentification unique Objectif : Renforcer la politique de sécurité et améliorer la productivité

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

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

PG208, Projet n 3 : Serveur HTTP évolué

PG208, Projet n 3 : Serveur HTTP évolué PG208, Projet n 3 : Serveur HTTP évolué Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L objectif

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

REQUEA Sizing REQUEA DEIMENSIONNEMENT DU SERVEUR APPLICATIF REQUEA. REQUEA - Sizing des Serveurs d Applications REQUEA. Requea

REQUEA Sizing REQUEA DEIMENSIONNEMENT DU SERVEUR APPLICATIF REQUEA. REQUEA - Sizing des Serveurs d Applications REQUEA. Requea REQUEA - Sizing des Serveurs d Applications REQUEA REQUEA Requea 1 Bd Vivier Merle Tour Société Suisse Lyon, 693 REQUEA Sizing DEIMENSIONNEMENT DU SERVEUR APPLICATIF REQUEA T +33 ()4 72 11 44 87 F +33

Plus en détail

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

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

Plus en détail

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

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

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

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

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

Concept des VLAN Introduction au VLAN virtuel

Concept des VLAN Introduction au VLAN virtuel Les VLAN Sommaire 1.Concept des VLAN 1.1.Introduction au VLAN virtuel 1.2.Domaines de broadcast avec VLAN et routeurs 1.3.Fonctionnement d un VLAN 1.4.Avantages des LAN virtuels (VLAN) 1.5.Types de VLAN

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

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

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

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

Résolution des problèmes liés aux imprimantes www.ofppt.info

Résolution des problèmes liés aux imprimantes www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail aux imprimantes DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Diagnostiquer un problème Sommaire 1. Introduction...

Plus en détail

Introduction. La gestion des qualités de services dans Internet. La garantie de QoS. Exemple

Introduction. La gestion des qualités de services dans Internet. La garantie de QoS. Exemple Introduction Aujourd hui les applications (en particulier multimédia) nécessitent des qualités de service de natures très différentes La gestion des qualités de services dans Internet Exemples: Transfert

Plus en détail

Système de Gestion de Fichiers

Système de Gestion de Fichiers Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX

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

Le filtrage de niveau IP

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

Plus en détail

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

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

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

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

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6

CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 Table des matières. CREER ET FORMATER UNE PARTITION DE DISQUE DUR 1 QUE SONT LES PARTITIONS ET LES LECTEURS LOGIQUES? 6 QUE SONT LES DISQUES DE BASE ET LES DISQUES DYNAMIQUES? 6 FORMATAGE DES DISQUES ET

Plus en détail

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET Projet OpNet Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET 1Présentation...3 1.1Le besoin de mobilité...3 1.2Le protocole IP Mobile...4 1.3Opnet...5 1.4Le projet...6 2La réalisation du

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

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

Management par les processus Les facteurs clés de succès. Lionel Di Maggio Master 1 MIAGE

Management par les processus Les facteurs clés de succès. Lionel Di Maggio Master 1 MIAGE Management par les processus Les facteurs clés de succès Lionel Di Maggio Master 1 MIAGE 1 1. Objectifs et définitions 2. Le retour sur investissement des démarches 3. Les éléments structurants 4. Mise

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

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

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

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

Plus en détail

TABLEAU DE BORD : SYSTEME D INFORMATION ET OUTIL DE PILOTAGE DE LA PERFOMANCE

TABLEAU DE BORD : SYSTEME D INFORMATION ET OUTIL DE PILOTAGE DE LA PERFOMANCE TABLEAU DE BORD : SYSTEME D INFORMATION ET OUTIL DE PILOTAGE DE LA PERFOMANCE INTRODUCTION GENERALE La situation concurrentielle des dernières années a confronté les entreprises à des problèmes économiques.

Plus en détail

DOSSIER SPÉCIAL Datacenter : Les problèmes n arrivent pas qu aux autres

DOSSIER SPÉCIAL Datacenter : Les problèmes n arrivent pas qu aux autres Datacenter : Les problèmes n arrivent pas qu aux AUCUN DATACENTER n est à l abri d un éventuel problème, d une indisponibilité ou d un imprévu! La question est de savoir que faire pour protéger votre Datacenter

Plus en détail

Libérez votre intuition

Libérez votre intuition Présentation de Qlik Sense Libérez votre intuition Qlik Sense est une application nouvelle génération de visualisation de données en libre-service qui permet à chacun de créer facilement des visualisations

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

«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

Installation Windows 2000 Server

Installation Windows 2000 Server Installation Windows 2000 Server 1. Objectif Ce document donne une démarche pour l installation d un serveur Windows 2000, d un serveur DNS et d un contrôleur de domaine (DC), en regard de certains éléments

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

Serveurs dédiés. Trafic et performances

Serveurs dédiés. Trafic et performances Serveurs dédiés Trafic et performances Nos services sont destinés aux entreprises et particuliers exigeants en terme de fiabilité, de sécurité et de disponibilité. Nous sommes également à même de fournir

Plus en détail

Clermont Ferrand - Janvier 2003

Clermont Ferrand - Janvier 2003 DISDAMIN: Algorithmes de Data Mining Distribués Valerie FIOLET (1,2) - Bernard TOURSEL (1) 1 Equipe PALOMA - LIFL - USTL - LILLE (FRANCE) 2 Service Informatique - UMH - MONS (BELGIUM) Clermont Ferrand

Plus en détail

VMware vsphere 5 Maîtrisez l exploitation de votre infrastructure virtuelle

VMware vsphere 5 Maîtrisez l exploitation de votre infrastructure virtuelle 212 VMware vsphere 5 Maîtrisez l exploitation de votre infrastructure virtuelle Quoi qu'il en soit, gardez à l esprit que nous n avons pas voulu favoriser une technologie en particulier. Cependant, nous

Plus en détail

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget

Chargement de processus Allocation contigüe Allocation fragmentée Gestion de pages. Gestion mémoire. Julien Forget Julien Forget Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS 3 2011-2012 1 / 46 Rôle du gestionnaire de mémoire Le gestionnaire de mémoire a

Plus en détail

ORACLE PRIMAVERA PORTFOLIO MANAGEMENT

ORACLE PRIMAVERA PORTFOLIO MANAGEMENT ORACLE PRIMAVERA PORTFOLIO MANAGEMENT FONCTIONNALITÉS GESTION DE PORTEFEUILLE Stratégie d approche permettant de sélectionner les investissements les plus rentables et de créer de la valeur Paramètres

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

Cahier Technique Installation sous Terminal Server Edition. Sage P.E. Documentation technique

Cahier Technique Installation sous Terminal Server Edition. Sage P.E. Documentation technique Cahier Technique Installation sous Terminal Server Edition Sage P.E Documentation technique Sommaire I. Introduction... 3 II. Configuration du serveur... 4 1. Principe d utilisation à distance... 4 2.

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

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

IBM Tivoli Identity Manager

IBM Tivoli Identity Manager Automatise la gestion du cycle de vie des identités IBM Tivoli Identity Manager Points forts Gérer l accès aux systèmes hérités et e-business Un moteur de dimensionnement intégré pour automatiser la Permet

Plus en détail

Présentation du PL/SQL

Présentation du PL/SQL I Présentation du PL/ Copyright Oracle Corporation, 1998. All rights reserved. Objectifs du Cours A la fin de ce chapitre, vous saurez : Décrire l intéret du PL/ Décrire l utilisation du PL/ pour le développeur

Plus en détail

Réseaux Wi-Fi Normes 802.11. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Réseaux Wi-Fi Normes 802.11. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Réseaux Wi-Fi Normes 802.11 Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Des WLAN utilisant les fréquences radio Ces réseaux sans fil (Wireless Local Area Network) utilisent des fréquences

Plus en détail

Bases de données Cours 2 : Architecture pour les bases de données

Bases de données Cours 2 : Architecture pour les bases de données Cours 2 : Architecture pour les bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr Plan du cours Architecture SPARC-ANSI 1 Architecture

Plus en détail

Les systèmes de Fichier

Les systèmes de Fichier Les systèmes de Fichier 1 Les disques durs, aussi petits soient-ils, contiennent des millions de bits, il faut donc organiser les données afin de pouvoir localiser les informations, c'est le but du système

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

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

Architecture technique

Architecture technique OPUS DRAC Architecture technique Projet OPUS DRAC Auteur Mathilde GUILLARME Chef de projet Klee Group «Créateurs de solutions e business» Centre d affaires de la Boursidière BP 5-92357 Le Plessis Robinson

Plus en détail

Systèmes d exploitation Gestion des fichiers. Catalin Dima

Systèmes d exploitation Gestion des fichiers. Catalin Dima Systèmes d exploitation Gestion des fichiers Catalin Dima 1 Problématique Certains processus doivent stocker/avoir accès à une très grande quantité de mémoire Parfois plusieurs ordres de grandeur par rapport

Plus en détail

Ebauche Rapport finale

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

Plus en détail

Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL

Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL Quelques propositions pour une organisation des ressources réseaux prenant en compte les besoins du LACL Document de travail proposé par Olivier Michel LACL - P2 240 - olivier.michel@univ-paris12.fr Version

Plus en détail

Fiche technique WS2012

Fiche technique WS2012 Le 18/03/013 OBJECTIF VIRTUALISATION mathieuc@exakis.com EXAKIS NANTES Identification du document Titre Projet Date de création Date de modification Fiche technique Objectif 18/03/2013 26/03/2013 WS2012

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

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

Automatisation des copies de systèmes SAP

Automatisation des copies de systèmes SAP Pour plus d informations sur les produits UC4 Software, visitez http://www.liftoff-consulting.com/ Automatisation des copies de systèmes SAP Introduction Le thème de la copie des systèmes SAP est une source

Plus en détail

GED: Gestion Electronique de Document (Support de cours) R. MAHMOUDI (mahmoudr@esiee.fr) www.research-ace.net/~mahmoudi 1 Gestion Electronique de Documents Plan du cours - Introduction générale - Spécificités

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

Bases de données. Cours 2 : Stockage

Bases de données. Cours 2 : Stockage Bases de données Polytech Paris-Sud Apprentis 4 ème année Cours 2 : Stockage kn@lri.fr http://www.lri.fr/~kn Plan 1 Rappels 2 Stockage 2.1 Introduction 2.2 Aspects bas-niveau 2.3 Stockage pour les SGBD

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

Communications performantes par passage de message entre machines virtuelles co-hébergées

Communications performantes par passage de message entre machines virtuelles co-hébergées Communications performantes par passage de message entre machines virtuelles co-hébergées François Diakhaté1,2 1 CEA/DAM Île de France 2 INRIA Bordeaux Sud Ouest, équipe RUNTIME Renpar 2009 1 Plan Introduction

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

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

Programmation parallèle et distribuée

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

Plus en détail

switchport access vlan 20

switchport access vlan 20 Chapitre 3 examen Quelles affirmations décrivent les avantages des VLAN? (Choisissez deux réponses.) Les VLAN améliorent les performances du réseau en régulant le contrôle du flux et la taille de la fenêtre.

Plus en détail

Archives et factures électroniques

Archives et factures électroniques Archives et factures électroniques Edito En 2001, le Conseil de l Union Européenne a publié la Directive 2001/115/CE relative à la facturation. Son objectif était de simplifier, de moderniser et d harmoniser

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

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

Base de données. Objectifs du cours 2014-05-20 COURS 01 INTRODUCTION AUX BASES DE DONNÉES

Base de données. Objectifs du cours 2014-05-20 COURS 01 INTRODUCTION AUX BASES DE DONNÉES 1 Base de données COURS 01 INTRODUCTION AUX BASES DE DONNÉES Objectifs du cours 2 Introduction aux bases de données relationnelles (BDR). Trois volets seront couverts : la modélisation; le langage d exploitation;

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

Plus en détail

Outil de documentation sur la réduction D : Système d archivage de l analyse de la réduction

Outil de documentation sur la réduction D : Système d archivage de l analyse de la réduction Outil de documentation sur la réduction D : Système d archivage de l analyse de la réduction A : Analyse des émissions sectorielles clés B : Dispositions institutionnelles pour les activités de réduction

Plus en détail

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005

RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Oussama ELKACHOINDI Wajdi MEHENNI RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005 Sommaire I. Préliminaire : Notice d exécution et mode opératoire...4 II. Architecture globale de l application...5

Plus en détail

ACE-PTM 2.1 Guide de l utilisateur. À l intention des utilisateurs. 2011 Hospitalis - Tous droits réservés. Version 2.4.

ACE-PTM 2.1 Guide de l utilisateur. À l intention des utilisateurs. 2011 Hospitalis - Tous droits réservés. Version 2.4. ACE-PTM 2.1 Guide de l utilisateur À l intention des utilisateurs Version 2.4 16 Septembre 2014 2011 Hospitalis - Tous droits réservés 2011 Hospitalis - Tous droits réservés 1 Table des matières 1 INTRODUCTION...

Plus en détail

Caches web. Olivier Aubert 1/35

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

Plus en détail

Contrôlez et Maîtrisez votre environnement de messagerie Lotus Notes Domino

Contrôlez et Maîtrisez votre environnement de messagerie Lotus Notes Domino Contrôlez et Maîtrisez votre environnement de messagerie Lotus Notes Domino avec MailFlow Analyzer TM un produit de l Infrastructure Management Suite TM Copyright COOPERTEAM SOFTWARE 2013 La gestion de

Plus en détail

Exercices Active Directory (Correction)

Exercices Active Directory (Correction) Exercices Active Directory (Correction) Exercice : Scénarios pour l'implémentation de composants logiques AD DS Lire les scénarios suivants et déterminer les composants logiques AD DS à déployer dans chaque

Plus en détail

GUIDE ADMINISTRATEUR COMMENT ADMINISTRER SIMPLEMENT?

GUIDE ADMINISTRATEUR COMMENT ADMINISTRER SIMPLEMENT? GUIDE ADMINISTRATEUR COMMENT ADMINISTRER SIMPLEMENT? SOMMAIRE 1 INTRODUCTION... 3 2 ADMINISTRATION DES UTILISATEURS ET DES FAX DE GROUPE... 3 3 ADMINISTRATION MULTIPLE... 7 4 PAGES DE GARDE... 8 5 GESTION

Plus en détail

Bases de données réparties

Bases de données réparties Bases de données réparties J. Akoka - I. Wattiau 1 Contexte Technologique : des solutions de communication efficace entre les machines des SGBD assurent la transparence des données réparties standardisation

Plus en détail

Administration réseau Routage et passerelle

Administration réseau Routage et passerelle Administration réseau Routage et passerelle A. Guermouche A. Guermouche Cours 2 : Routage et passerelle 1 Plan 1. Introduction 2. Routage dans IP Principes de base Manipulation des tables de routage 3.

Plus en détail

JASPERSOFT ET LE PAYSAGE ANALYTIQUE. Jaspersoft et le paysage analytique 1

JASPERSOFT ET LE PAYSAGE ANALYTIQUE. Jaspersoft et le paysage analytique 1 JASPERSOFT ET LE PAYSAGE ANALYTIQUE Jaspersoft et le paysage analytique 1 Ce texte est un résumé du Livre Blanc complet. N hésitez pas à vous inscrire sur Jaspersoft (http://www.jaspersoft.com/fr/analyticslandscape-jaspersoft)

Plus en détail

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail