8 research outputs found

    Autonomic Management using Self-Stabilization for Hierarchical and Distributed Middleware

    Get PDF
    International audienceDynamic nature of distributed architecture is a major challenge to avail the benefits of distributed computing. An effective solution to deal with this dynamic nature is to implement a self-adaptive mechanism to sustain the distributed architecture. Self-adaptive systems can autonomously modify their behavior at run-time in response to changes in their environment. This capability may be included in the software systems at design time or later by external mechanisms. Our paper describes the self- adaptive algorithm that we developed for an existing middleware. Once the middleware is deployed, it can detect a set of events which indicate an unstable deployment state. When an event is detected, some instructions are executed to handle the event. We have designed a simulator to have a deeper insights of our proposed self-adaptive algorithm. Results of our simulated experiments validate the safe convergence of the algorithm

    Déploiement auto-adaptatif d'intergiciel sur plate-forme élastique

    No full text
    We have studied the means to make a middleware deployment self-adaptive. Our use case middleware is hierarchical and distributed and can be modeled by a graph. A vertex models a process and an edge models a communication link between two processes. The middleware provides high performance computing services to the users.Once the middleware is deployed on a computing infrastructure like a grid or cloud, how it adapt the changes in dynamic environment? If the deployment is static, it may be necessary to redo all the deployment process, which is a costly operation. A better solution would be to make the deployment self-adaptive. We have proposed a rules-based self-stabilizing algorithm to manage a faulty deployment. Thus, after the detection of an unstable deployment, caused by some transients faults (joining of new nodes or deletion of existing nodes which may modify the deployment topology), the system will eventually recover a stable state, without external help, but only by executing the algorithm.We have designed an ad hoc discrete events simulator to evaluate the proposed algorithm. The simulation results show that, a deployment, subjected to transients faults which make it unstable, adapts itself. Before the simulator design, we had proposed a model to describe a distributed infrastructure, a model to describe hierarchical middleware and a model to describe a deployment, that is the mapping between the middleware processes and the hardware on which they are running on.Nous avons étudié durant cette thèse les moyens de rendre le déploiement d'un intergiciel auto-adaptatif. Le type d'intergiciel que nous avons considéré ici est hiérarchique (structure de graphe) et distribué. Chaque sommet du graphe modélise un processus qui peut être déployé sur une machine physique ou virtuelle d'une infrastructure de type grille/cloud, les arêtes modélisent des liens de communications entre processus. Il offre aux clients des services de calcul haute performance. Les infrastructures de grilles/cloud étant élastiques (perte et ajout de nœuds), un déploiement statique n'est pas la solution idéale car en cas de panne on risque de tout reprendre à zéro, ce qui est coûteux. Nous avons donc proposé un algorithme auto-stabilisant pour que l'intergiciel puisse retrouver un état stable sans intervention extérieure, au bout d'un temps fini, lorsqu'il est confronté à certains types de pannes. Les types de pannes que nous avons considérés sont les pannes transitoires (simulé par la perte de nœuds, l'ajout de nouveaux nœuds, la perte de liens entre deux nœuds). Pour évaluer ces algorithmes, nous avons conçu un simulateur. Les résultats des simulations montrent qu'un déploiement, sujet à des pannes transitoires, s'auto-adapte. Avant d'en arriver à la phase de programmation du simulateur, nous avons d'abord proposé un modèle d'infrastructure distribuée (ce modèle permet de décrire des environnements de type grille/cloud), un modèle pour décrire certains types d'intergiciels hiérarchiques et enfin un modèle pouvant décrire un intergiciel en cours d'exécution (processus déployés sur les machines)

    Self-adaptive deployment for middleware on elastic platform

    No full text
    Nous avons étudié durant cette thèse les moyens de rendre le déploiement d'un intergiciel auto-adaptatif. Le type d'intergiciel que nous avons considéré ici est hiérarchique (structure de graphe) et distribué. Chaque sommet du graphe modélise un processus qui peut être déployé sur une machine physique ou virtuelle d'une infrastructure de type grille/cloud, les arêtes modélisent des liens de communications entre processus. Il offre aux clients des services de calcul haute performance. Les infrastructures de grilles/cloud étant élastiques (perte et ajout de nœuds), un déploiement statique n'est pas la solution idéale car en cas de panne on risque de tout reprendre à zéro, ce qui est coûteux. Nous avons donc proposé un algorithme auto-stabilisant pour que l'intergiciel puisse retrouver un état stable sans intervention extérieure, au bout d'un temps fini, lorsqu'il est confronté à certains types de pannes. Les types de pannes que nous avons considérés sont les pannes transitoires (simulé par la perte de nœuds, l'ajout de nouveaux nœuds, la perte de liens entre deux nœuds). Pour évaluer ces algorithmes, nous avons conçu un simulateur. Les résultats des simulations montrent qu'un déploiement, sujet à des pannes transitoires, s'auto-adapte. Avant d'en arriver à la phase de programmation du simulateur, nous avons d'abord proposé un modèle d'infrastructure distribuée (ce modèle permet de décrire des environnements de type grille/cloud), un modèle pour décrire certains types d'intergiciels hiérarchiques et enfin un modèle pouvant décrire un intergiciel en cours d'exécution (processus déployés sur les machines).We have studied the means to make a middleware deployment self-adaptive. Our use case middleware is hierarchical and distributed and can be modeled by a graph. A vertex models a process and an edge models a communication link between two processes. The middleware provides high performance computing services to the users.Once the middleware is deployed on a computing infrastructure like a grid or cloud, how it adapt the changes in dynamic environment? If the deployment is static, it may be necessary to redo all the deployment process, which is a costly operation. A better solution would be to make the deployment self-adaptive. We have proposed a rules-based self-stabilizing algorithm to manage a faulty deployment. Thus, after the detection of an unstable deployment, caused by some transients faults (joining of new nodes or deletion of existing nodes which may modify the deployment topology), the system will eventually recover a stable state, without external help, but only by executing the algorithm.We have designed an ad hoc discrete events simulator to evaluate the proposed algorithm. The simulation results show that, a deployment, subjected to transients faults which make it unstable, adapts itself. Before the simulator design, we had proposed a model to describe a distributed infrastructure, a model to describe hierarchical middleware and a model to describe a deployment, that is the mapping between the middleware processes and the hardware on which they are running on

    Un algorithme auto-stabilisant pour le déploiement auto-adaptatif d'un intergiciel hiérarchique : spécification, preuve, simulations

    Get PDF
    International audienceABSTRACT. An effective solution to deal with this dynamic nature of distributed systems is to implement a self-adaptive mechanism to sustain the distributed architecture. Self-adaptive systems can autonomously modify their behavior at run-timein response to changes in their environment. Our paper describes the self-adaptive algorithm that we developed for an existing middleware. Once the middleware is deployed, it can detects a set of events which indicate an unstable deployment state. When an event is detected, some instructions are executed to handle the event. We have proposed a sketch proof of the self-stabilizing property of the algorithm. We have designed a simulator to have a deeper insights of our proposed self-adaptive algorithm. Results of our simulated experiments validate the safe convergence of the algorithm.RÉSUMÉ.Dans cet article, nous nous intéressons aux moyens de rendre le déploiement d’un intergiciel auto-adaptatif. Le type d’intergiciel que nous avons considéré ici est hiérarchique (structure de graphe) et distribué. Les infrastructures de grilles/cloud étant dynamiques (perte et ajout de nœuds),un déploiement statique n’est pas la solution idéale car en cas de panne, il est souvent nécessaire de reprendre tout le processus de déploiement; or cette opération est très coûteuse. Nous avons donc proposé un algorithme auto-stabilisant pour que l’intergiciel puisse retrouver un état stable sans intervention extérieure, au bout d’un temps fini, lorsqu’il est confronté à des pannes transitoires. Pouravoir une idée plus précise des caractéristiques de l’algorithme, nous avons conçu un simulateur. Lesrésultats des simulations montrent qu’un déploiement, sujet à des pannes transitoires, s’auto-adapte

    Modélisation d'un intergiciel de grille pour le déploiement auto-adaptatif

    No full text
    International audienceLes intergiciels pour grille-cloud sont des systèmes assez complexes. Cela rend leur exploitation très difficile pour les humains. En effet, en cas de défaillance ou de comportement non souhaité, le temps nécessaire pour localiser l’origine de la défaillance et pour prendre les mesures appropriées peut être très long, laissant le système dans un état incohérent. Une solution pour remédier à cette limitation est de rendre ces systèmes auto- adaptatifs. Un tel système a la capacité de modifier en temps réel et de manière autonome (partiellement ou totalement) son comportement en réponse à des variations de son environnement. Nous partons d’un intergiciel pour grille et cloud et voulons rendre son déploiement auto-adaptatif. Pour avoir une idée du comportement des algorithmes auto-adaptatifs que nous avons conçus, nous avons choisi de les simuler. Pour ce faire, nous avons d’abord commencé par modéliser les différentes entités qui seront utiles pour la simulation, à savoir: l’infrastructure physique, l’intergiciel et le déploiement (l’ensemble constitué d’une instance de l’intergiciel en exécution sur des ressources physiques). Nous présentons dans cet article les modèles de ces trois entités

    Modélisation d'un intergiciel de grille pour le déploiement auto-adaptatif

    No full text
    National audienceLes intergiciels pour grille-cloud sont des systèmes assez complexes. Cela rend leur exploitation très difficile pour les humains. En effet, en cas de défaillance ou de comportement non souhaité, le temps nécessaire pour localiser l'origine de la défaillance et pour prendre les mesures appropriées peut être trés long, laissant le système dans un état incohérent. Une solution pour remédier à cette limitation est de rendre ces systèmes autoadaptatifs. Un tel système a la capacité de modifier en temps réel et de manière autonome (partiellement ou totalement) son comportement en réponse à des variations de son environnement. Nous partons d'un intergiciel pour grille et cloud et voulons rendre son déploiement auto-adaptatif. Pour avoir une idée du comportement des algorithmes auto-adaptatifs que nous avons conçus, nous avons choisi de les simuler. Pour ce faire, nous avons d'abord commencé par modéliser les différentes entités qui seront utiles pour la simulation, à savoir: l'infrastructure physique, l'intergiciel et le déploiement (l'ensemble constitué d'une instance de l'intergiciel en exécution sur des ressources physiques). Nous présentons dans cet article les modèles de ces trois entités

    Modélisation d'un intergiciel de grille pour le déploiement auto-adaptatif

    No full text
    National audienceLes intergiciels pour grille-cloud sont des systèmes assez complexes. Cela rend leur exploitation très difficile pour les humains. En effet, en cas de défaillance ou de comportement non souhaité, le temps nécessaire pour localiser l'origine de la défaillance et pour prendre les mesures appropriées peut être trés long, laissant le système dans un état incohérent. Une solution pour remédier à cette limitation est de rendre ces systèmes autoadaptatifs. Un tel système a la capacité de modifier en temps réel et de manière autonome (partiellement ou totalement) son comportement en réponse à des variations de son environnement. Nous partons d'un intergiciel pour grille et cloud et voulons rendre son déploiement auto-adaptatif. Pour avoir une idée du comportement des algorithmes auto-adaptatifs que nous avons conçus, nous avons choisi de les simuler. Pour ce faire, nous avons d'abord commencé par modéliser les différentes entités qui seront utiles pour la simulation, à savoir: l'infrastructure physique, l'intergiciel et le déploiement (l'ensemble constitué d'une instance de l'intergiciel en exécution sur des ressources physiques). Nous présentons dans cet article les modèles de ces trois entités
    corecore