Spelling suggestions: "subject:"tolérance"" "subject:"tolérances""
101 |
Marches aléatoires et mot circulant, adaptativité et tolérance aux pannes dans les environnements distribués.Bernard, Thibault 08 December 2006 (has links) (PDF)
Nous proposons dans ces travaux une étude des marches aléatoires dans l'algorithmique distribuée pour les réseaux dynamiques. Nous montrons dans un premier temps que les marches aléatoires sont un outil viable pour la conception d'algorithmes distribués. Ces <br />algorithmes reposent principalement sur les trois propriétés fondamentales des marches aléatoires (Percussion, Couverture, Rencontre). Nous fournissons une méthode qui évalue <br />le temps ́ecoulé avant que ces trois propriétés soient vérifiées. Cela nous permet d'évaluer de la complexité de nos algorithmes. Dans un second temps, nous proposons l'utilisation d'un jeton circulant aléatoirement sous forme de mot circulant afin de collecter sur ce jeton des informations topologiques. Ces informations permettent la construction et la maintenance d'une structure couvrante du réseau de communication. Ensuite, nous <br />avons utilisé cette structure pour concevoir un algorithme de circulation de jeton tolérant aux pannes pour les environnements dynamiques. Cet algorithme a la particularité d'être complètement décentralisé. Nous proposons dans un dernier temps d'adapter notre circulation de jeton pour proposer une solution au problème d'allocation de ressources dans les réseaux ad-hoc.
|
102 |
Auto-stabilisation EfficaceTixeuil, Sébastien 14 January 2000 (has links) (PDF)
Quand un système réparti est sujet à des défaillances transitoires qui modifient arbitrairement son état, il est crucial de pouvoir retrouver un comportement correct au bout d'un temps fini. L'auto-stabilisation présente une telle garantie, mais en général au prix de ressources importantes. Dans cette thèse, notre démarche a consisté à minimiser ces ressources lorsque cela était possible. <br /><br />Nous avons développé le concept de détecteur de défaillances transitoires, des oracles appelés par les processeurs du système, qui indiquent si des défaillances transitoires sont survenues, en un temps constant. Notre implantation permet de classifier les problèmes classiques suivant les ressources spécifiques nécessaires à la détection d'une erreur. Pour les tâches statiques, une suite naturelle a été de montrer qu'une condition sur le code localement exécuté par chaque processeur pouvait être suffisante pour garantir l'auto-stabilisation du système tout entier, indépendamment des hypothèses d'exécution et de la topologie du graphe de communication. Du fait que l'algorithme n'est pas modifié, il est forcément sans surcoût. De manière duale, nous avons développé des outils de synchronisation permettant de construire des algorithmes auto-stabilisants pour des spécifications dynamiques avec un surcoût en mémoire constant, c'est à dire indépendant de la taille du réseau. En outre, l'un des algorithmes présentés est instantanément stabilisant. Enfin, nous avons présenté une technique générale pour réduire systématiquement le coût des communications, en garantissant un délai de retransmission borné, et nous avons donné un cadre général ainsi que des outils d'implantation pour écrire des algorithmes auto-stabilisants dans ce contexte.
|
103 |
Résilience dans les Systèmes de Workflow Distribués pour les Applications d'Optimisation NumériqueTrifan, Laurentiu 21 October 2013 (has links) (PDF)
Cette thèse vise à la conception d'un environnement pour le calcul haute performance dans un cadre d'optimisation numérique. Les outils de conception et d'optimisation sont répartis dans plusieurs équipes distantes, académiques et industrielles, qui collaborent au sein des memes projets. Les outils doivent etre fédérésau sein d'un environnement commun afin d'en faciliter l'accès aux chercheurs et ingénieurs. L'environnement que nous proposons, pour répondre aux conditions précédentes, se compose d'un système de workflow et d'un système de calcul distribué. Le premier a pour objctif de faciliter la tache de conception tandis que le second se charge de l'exécution sur des ressources de calcul distribuées. Bien sur, des suystèmes de communication entre les deux systèmes doivent etre développés. Les calculs doivent etre réalisés de manière efficace, en prenant en compte le parallélisme interne de certains codes, l'exécution synchrone ou asynchrone des taches, le transfert des données et les ressources matérielles et logicielles disponibles. De plus, l'environnement doit assurer un bon niveau de tolérance aux pannes et aux défaillances logicielles, afin de minimiser leur influence sur le résultat final ou sur le temps de calcul. Une condition importante est de pouvoir implanter un dispositif de reprise sur erreur, de telle sorte que le temps supplémentaire de traitement des erreurs soit très inférieur au temps de ré-exécution total.Dans le cadre de ce travail, notyre choix s'est porté sur le moteur de workflow Yawl, qui présente de bonnes caractéristiques en termes i) d'indépendancze vis à vis du matériel et du logiciel et ii) de mécanisme de reprise sdur erreur. Pour la partie calcul distribué, nos expériences ont été réalisées sur la plateforme Grid5000, en utilisant 64 machines différentes réparties sur cinq sites géographiques. Ce document d&taille les choix de conception de cet environnement ainsi que les ajouts et modifications que nous avons apportées à Yawl pour lui permettre de fonctionner sur une plateforme distribuée.
|
104 |
Rôle du facteur de transcription STAT5b dans la fonction tolérogène des cellules dendridiques chez la souris NODMaalem, Aïda Selma January 2013 (has links)
Les cellules dendritiques (DC) jouent un rôle central dans l’orchestration de la réponse immunitaire cellulaire spécifique, et des anomalies dans leur développement et/ou leur fonction peuvent être à l’origine de maladies auto-immunes. Le diabète de type 1 est une maladie auto-immune qui résulte de la destruction spécifique des cellules ? du pancréas par les lymphocytes T auto-réactifs. Chez la souris NOD, modèle animal d’étude du diabète de type 1, la fonction des DC est altérée, et résulte en partie d’un défaut de la voie de signalisation JAK-STAT5. En effet, le facteur de transcription STAT5 est essentiel à la signalisation du Granulocyte-Macrophage Colony-Stimulating Factor (GM-CSF) et de la Thymie Stromal Lymphopoietin (TSLP), qui confèrent une fonction tolérogène aux DC in vitro et in vivo. De plus, les souris déficientes en STAT5b se caractérisent par une auto-immunité sévère, soulignant le rôle fondamental de STAT5b dans la tolérance immunitaire. Chez l’homme, des cas de mutations récessives du gène stat5b ont été rapportés, entraînant des maladies auto-immunes systémiques. Nous avons généré des souris NOD transgéniques exprimant de façon constitutive la forme active de STAT5b de souris C57BL/6 spécifiquement au sein des DC. Nos résultats ont montré que toutes les souris transgéniques sont protégées contre le diabète. Les analyses par cytométrie de flux ont montré une maturation plus importante des DC de souris transgéniques, ainsi qu'une augmentation de la proportion de lymphocytes T régulateurs, associée à une baisse de la population de lymphocytes T CD8+ dans la rate et les ganglions pancréatiques (PLN) et mésentériques (MLN). Les tests de prolifération in vitro ont montré une prolifération plus important de lymphocytes T CD4+ et CD8+ des souris transgéniques, et présentent un profil immunorégulateur de type TH2 et TC2 respectivement. En outre, les DC de souris transgéniques induisent une déviation immune vers un profil TH2 des lymphocytes T BDC2.5-CD4+ diabétogènes, ainsi que la conversion peptide-spécifique de lymphocytes T BDC2.5-CD4+Foxp3- diabétogènes en lymphocytes T régulateurs Foxp3+ in vitro. In vivo, les splénocytes de souris transgéniques ne transfèrent pas le diabète chez les souris NOD.SCID. De plus, le transfert de DC de souris transgéniques à des souris NOD prédiabétiques ont montré une résistance au diabète chez les souris receveuses. En conclusion, les DC exprimant de façon constitutive la forme activée de STAT5b acquièrent des propriétés tolérogènes, et protègent les souris NOD contre le diabète. Cette résistance au diabète est médiée en périphérie par l'augmentation du pool de lymphocytes T régulateurs et par l'induction d'une réponse immunorégulatrice de type TH2.
|
105 |
Détection et diagnostic des fautes dans des systèmes à base de réseaux de capteurs sans filsHamdan, Dima 20 February 2013 (has links) (PDF)
Les pannes sont la règle et non l'exception dans les réseaux de capteurs sans fil. Un nœud capteur est fragile et il peut échouer en raison de l'épuisement de la batterie ou de la destruction par un événement externe. En outre, le nœud peut capter et transmettre des valeurs incorrectes en raison de l'influence de l'environnement sur son fonctionnement. Les liens sont également vulnérables et leur panne peut provoquer un partitionnement du réseau et un changement dans la topologie du réseau, ce qui conduit à une perte ou à un retard des données. Dans le cas où les nœuds sont portés par des objets mobiles, ils peuvent être mis hors de portée de la communication. Les réseaux de capteurs sont également sujets à des attaques malveillantes, telles que le déni de service, l'injection de paquets défectueux, entraînant un comportement inattendu du système et ainsi de suite. En plus de ces défaillances prédéfinies (c'est-à-dire avec des types et symptômes connus), les réseaux de capteurs présentent aussi des défaillances silencieuses qui ne sont pas connues à l'avance, et qui sont très liées au système. En revanche, les applications de RCSF, en particulier les applications de sécurité critiques, telles que la détection d'incendie ou les systèmes d'alarme, nécessitent un fonctionnement continu et fiable du système. Cependant, la garantie d'un fonctionnement correct d'un système pendant l'exécution est une tâche difficile. Cela est dû aux nombreux types de pannes que l'on peut rencontrer dans un tel système vulnérable et non fiable. Une approche holistique de la gestion des fautes qui aborde tous les types de fautes n'existe pas. En effet, les travaux existants se focalisent sur certains états d'incohérence du système. La raison en est simple : la consommation d'énergie augmente en fonction du nombre d'éléments à surveiller, de la quantité d'informations à collecter et parfois à échanger. Dans cette thèse, nous proposons un "Framework " global pour la gestion des fautes dans un réseau de capteurs. Ce framework, appelé " IFTF ", fournit une vision complète de l'état du système avec la possibilité de diagnostiquer des phénomènes anormaux. IFTF détecte les anomalies au niveau des données, diagnostique les défaillances de réseau, détecte les défaillances d'applications, et identifie les zones affectées du réseau. Ces objectifs sont atteints grâce à la combinaison efficace d'un service de diagnostic réseau (surveillance au niveau des composants), un service de test d'applications (surveillance au niveau du système) et un système de validation des données. Les deux premiers services résident sur chaque nœud du réseau et le système de validation des données réside sur chaque chef de groupe. Grâce à IFTF, les opérations de maintenance et de reconfiguration seront plus efficaces, menant à un système WSN (Wireless Sensor Network) plus fiable. Du point de vue conception, IFTF fournit de nombreux paramètres ajustables qui le rendent approprié aux divers types d'applications. Les résultats de simulation montrent que la solution présentée est efficace en termes de coût mémoire et d'énergie. En effet, le système de validation des données n'induit pas un surcoût de communication. De plus, le fonctionnement des deux services test et diagnostic augmente la consommation d'énergie de 4% en moyenne, par rapport au fonctionnement du service de diagnostic uniquement.
|
106 |
Robustesse du logiciel embarqué multicouche par une approche réflexive: application à l'automobileLu, Caroline 14 December 2009 (has links) (PDF)
Les mécanismes de détection et de recouvrement d'erreur doivent être soigneusement sélectionnés pour les applications embarquées automobiles, principalement à cause de ressources limitées et de contraintes économiques. Cependant, des exigences de sûreté importantes, aggravées par la complexité croissante du logiciel, motive l'industrie automobile à chercher des solutions techniques pour améliorer la robustesse à l'exécution. Le défi est de concevoir une solution de tolérance aux fautes portable, flexible, à forte contraintes économique, en examinant différemment les techniques classiques de redondance et de diversification. Le principe directeur est de contrôler rigoureusement quelle information et quand elle est essentielle à récupérer; quelle instrumentation est nécessaire pour réaliser de la tolérance aux fautes et où il faut la placer dans le programme. La thèse propose une approche pour développer un logiciel de défense, tel un composant externe configurable, reposant sur l'observabilité et la contrôlabilité de mécanismes fournis par un standard d'architecture logicielle automobile émergent AUTOSAR.
|
107 |
Sécurités (immunité et innocuité) des architectures ouvertes à niveaux de criticité multiples : application en avioniqueLaarouchi, Youssef 30 November 2009 (has links) (PDF)
La conception et le développement des applications critiques en avionique sont soumis à des contraintes strictes visant à assurer un niveau de confiance compatible avec les exigences de sécurité-innocuité (au sens safety) des tâches mises en Suvre. Ces contraintes induisent un accroissement considérable des coûts de production et de maintenance, ce qui rend le prix de revient de tels systèmes prohibitif. D'un autre côté, les composants sur étagère (Commercial Off-The-Shelf, COTS), matériels et logiciels, sont maintenant d'usage courant et offrent des services étendus pour un coût faible. Cependant, les COTS ne répondent pas aux contraintes d'innocuité exigées pour les tâches critiques ; de plus, ils présentent des vulnérabilités facilement exploitables par des attaques, les rendant incompatibles avec des exigences élevées de sécurité-immunité (au sens security). Il serait toutefois intéressant de profiter de tels composants dans un contexte avionique, mais en faisant en sorte qu'ils ne puissent affecter de façon préjudiciable les tâches critiques. Intégrer de tels composants dans les systèmes avioniques conduit donc à prendre en considération l'hétérogénéité des niveaux de confiance entre d'une part les applications critiques classiques, et d'autre part de nouvelles applications utilisant des composants sur étagère. Dans le cadre de cette thèse, nous proposons une architecture autorisant de telles interactions tout en préservant les propriétés de safety et security. La définition de cette architecture s'appuie sur le modèle Totel, et elle utilise la virtualisation afin de faciliter la mise en Suvre des mécanismes de tolérance aux fautes destinés à augmenter la crédibilité d'une application exécutée de façon répliquée sur des plateformes d'exécution COTS de niveau de confiance faible. Afin de valider notre approche, nous avons réalisé un prototype en nous appuyant sur deux cas d'étude identifiés avec Airbus et concernant tous deux des ordinateurs portables : un dédié à la maintenance et un au calcul du profil de décollage d'un avion.
|
108 |
Architecture pour la reconfiguration en temps réel des systèmes complexes / An architecture for real time reconfiguration of complex systemsGuadri, Ahmed 15 December 2009 (has links)
Nous proposons une méthodologie de conception pour les systèmes de commande tolérants aux fautes en partant d’un modèle de base exhaustif pour le système complexe à superviser. En pratique, la modélisation exhaustive est réalisée grâce à un automate hybride enrichi par des paramètres quantifiant les défaillances possibles. Ceci permet de modéliser les défaillances partielles. Dans la phase hors ligne, ce système complexe est transformé en un système discret abstrait et exploitable selon des techniques dédiées. Un superviseur est alors construit selon les objectifs de fonctionnement.Lors du fonctionnement du système, l’occurrence d’une défaillance se traduit par l’invalidation de plusieurs comportements dans le modèle abstrait et l’introduction d’incertitudes. Par la suite, les modules de diagnostic et d’identification (qui ne rentrent pas dans l’objet de notre thèse) réduisent de façon progressive le modèle hybride au cours du temps. Afin de pouvoir mettre à jour le modèle discret abstrait, on a développé des algorithmes de calcul d’atteignabilité, de vérification et de génération de régions stabilisées.Pour pouvoir superviser un tel système, l’utilisation de méthodologies d’abstraction est nécessaire afin de transformer le modèle bas niveau exhaustif en un modèle discret approprié. Nous réalisons cette abstraction en proposant des algorithmes qui tiennent compte du contexte d’utilisation (objectifs, contraintes…). Lorsqu’une défaillance est détectée, la reconfiguration est déclenchée en essayant, au fur et à mesure de l’enrichissement du modèle abstrait, de réduire le fonctionnement du système défaillant dans un des schémas prédéfinis / We propose a methodology for the design of fault tolerant control systems for the supervision of complex systems. First, the system is exhaustively described through a hybrid automaton which is enriched with parameters that quantifies the possible complete or partial faults. In the offline stage, the complex system is abstracted into a useful discrete event system with dedicated approaches. After, a supervisor is designed according to the standard objectives.In the online stage, fault detection can be interpreted by prohibiting some behaviours and introducing uncertainties. Thereafter, the diagnosis and identification modules (that are not treated in this work) reduce progressively the hybrid system. In order to update the abstract model, we developed some algorithms for reachability calculus, verification and generation of stabilized regions.In order to supervise the faulty system, the use of abstraction methodologies is necessary in order to transform the low level exhaustive model into an abstract and appropriate model. This abstraction is realized through algorithms that takes into account the abstraction context (objectives, constraints…). When a fault is detected, the reconfiguration is triggered by trying, as the abstract model is enriched, to reduce the behaviour of the faulty system into a preconceived model
|
109 |
Etude de la migration de tâches dans une architecture multi-tuile. Génération automatique d'une solution basée sur des agents / Study of task migration in a multi-tiled architecture. Automatic generation of an agent based solutionElantably, Ashraf 16 December 2015 (has links)
Les systèmes multiprocesseurs sur puce (MPSoC) mis en oeuvre dans les architecturesmulti-tuiles fournissent des solutions prometteuses pour exécuter des applicationssophistiquées et modernes. Une tuile contient au moins un processeur, unemémoire principale privée et des périphériques nécessaires associés à un dispositifchargé de la communication inter-tuile. Cependant, la fiabilité de ces systèmesest toujours un problème. Une réponse possible à ce problème est la migrationde tâches. Le transfert de l’exécution d’une tâche d’une tuile à l’autre permet degarder une fiabilité acceptable de ces systèmes. Nous proposons dans ce travail unetechnique de migration de tâches basée sur des agents. Cette technique vise lesapplications de flot de données en cours d’exécution sur des architectures multituiles.Une couche logicielle “middleware” est conçue pour supporter les agentsde migration. Cette couche rend la solution transparente pour les programmeursd’applications et facilite sa portabilité sur architectures multi-tuiles différentes. Afinque cette solution soit évolutive, une chaîne d’outils de génération automatique estconçue pour générer les agents de migration. Grâce à ces outils, ces informationssont extraites automatiquement des graphes de tâches et du placement optimisésur les tuiles du système. L’algorithme de migration est aussi détaillé, en montrantles phases successives et les transferts d’information nécessaires. La chaîne d’outilsest capable de générer du code pour les architectures ARM et x86. Cette techniquede migration de tâche peut être déployée sur les systèmes d’exploitation quine supportent ni chargement dynamique ni unité de gestion mémoire MMU. Lesrésultats expérimentaux sur une plateforme x86 matérielle et une plateforme ARMde simulation montrent peu de surcoût en terme de mémoire et de performance, cequi rend cette solution efficace. / Fully distributed memory multi-processors (MPSoC) implemented in multi-tiled architectures are promising solutions to support modern sophisticated applications, however, reliability of such systems is always an issue. As a result, a system-level solution like task migration keeps its importance. Transferring the execution of a task from one tile to another helps keep acceptable reliability of such systems. A tile contains at least one processor, private main memory and associated peripherals with a communication device responsible for inter-tile communications. We propose in this work an agent based task migration technique that targets data-flow applications running on multi-tiled architectures. This technique uses a middleware layer that makes it transparent to application programmers and eases its portability over different multi-tiled architectures. In order for this solution to be scalable to systems with more tiles, an automatic generation tool-chain is designed to generate migration agents and provide them with necessary information enabling them to execute migration processes properly. Such information is extracted automatically from application(s) task graphs and mapping on the system tiles. We show how agents are placed with applications and how such necessary information is generated and linked with them. The tool-chain is capable of generating code for ARM and x86 architectures. This task migration technique can be deployed on small operating systems that support neither MMU nor dynamic loading for task code. We show that this technique is operational on x86 based real hardware platform as well as on an ARM based simulation platform. Experimental results show low overhead both in memory and performance. Performance overhead due to migration of a task in a typical small application where it has one predecessor and one successor is 18.25%.
|
110 |
Performance et fiabilité des protocoles de tolérance aux fautes / Towards Performance and Dependability Benchmarking of Distributed Fault Tolerance ProtocolsGupta, Divya 18 March 2016 (has links)
A l'ère de l’informatique omniprésente et à la demande, où les applications et les services sont déployés sur des infrastructures bien gérées et approvisionnées par des grands groupes de fournisseurs d’informatique en nuage (Cloud Computing), tels Amazon,Google,Microsoft,Oracle, etc, la performance et la fiabilité de ces systèmes sont devenues des objectifs primordiaux. Cette informatique a rendu particulièrement nécessaire la prise en compte des facteurs de la Qualité de Service (QoS), telles que la disponibilité, la fiabilité, la vivacité, la sureté et la sécurité,dans la définition complète d’un système. En effet, les systèmes informatiques doivent être résistants aussi bien aux défaillances qu’aux attaques et ce, afin d'éviter qu'ils ne deviennent inaccessibles, entrainent des couts de maintenance importants et la perte de parts de marché. L'augmentation de la taille et la complexité des systèmes en nuage rend de plus en plus commun les défauts, augmentant la fréquence des pannes, et n’offrant donc plus la Garantie de Service visée. Les fournisseurs d’informatique en nuage font ainsi face épisodiquement à des fautes arbitraires, dites Byzantines, durant lesquelles les systèmes ont des comportements imprévisibles.Ce constat a amené les chercheurs à s’intéresser de plus en plus à la tolérance aux fautes byzantines (BFT) et à proposer de nombreux prototypes de protocoles et logiciels. Ces solutions de BFT visent non seulement à fournir des services cohérents et continus malgré des défaillances arbitraires, mais cherchent aussi à réduire le coût et l’impact sur les performances des systèmes sous-jacents. Néanmoins les prototypes BFT ont été évalués le plus souvent dans des contextes ad hoc, soit dans des conditions idéales, soit en limitant les scénarios de fautes. C’est pourquoi ces protocoles de BFT n’ont pas réussi à convaincre les professionnels des systèmes distribués de les adopter. Cette thèse entend répondre à ce problème en proposant un environnement complet de banc d’essai dont le but est de faciliter la création de scénarios d'exécution utilisables pour aussi bien analyser que comparer l'efficacité et la robustesse des propositions BFT existantes. Les contributions de cette thèse sont les suivantes :Nous introduisons une architecture générique pour analyser des protocoles distribués. Cette architecture comprend des composants réutilisables permettant la mise en œuvre d’outils de mesure des performances et d’analyse de la fiabilité des protocoles distribués. Cette architecture permet de définir la charge de travail, de défaillance, et l’injection de ces dernières. Elle fournit aussi des statistiques de performance, de fiabilité du système de bas niveau et du réseau. En outre, cette thèse présente les bénéfices d’une architecture générale.Nous présentons BFT-Bench, le premier système de banc d’essai de la BFT, pour l'analyse et la comparaison d’un panel de protocoles BFT utilisés dans des situations identiques. BFT-Bench permet aux utilisateurs d'évaluer des implémentations différentes pour lesquels ils définissent des comportements défaillants avec différentes charges de travail.Il permet de déployer automatiquement les protocoles BFT étudiés dans un environnement distribué et offre la possibilité de suivre et de rendre compte des aspects performance et fiabilité. Parmi nos résultats, nous présentons une comparaison de certains protocoles BFT actuels, réalisée avec BFT-Bench, en définissant différentes charges de travail et différents scénarii de fautes. Cette réelle application de BFT-Bench en démontre l’efficacité.Le logiciel BFT-Bench a été conçu en ce sens pour aider les utilisateurs à comparer efficacement différentes implémentations de BFT et apporter des solutions effectives aux lacunes identifiées des prototypes BFT. De plus, cette thèse défend l’idée que les techniques BFT sont nécessaires pour assurer un fonctionnement continu et correct des systèmes distribués confrontés à des situations critiques. / In the modern era of on-demand ubiquitous computing, where applications and services are deployed in well-provisioned, well-managed infrastructures, administered by large groups of cloud providers such as Amazon, Google, Microsoft, Oracle, etc., performance and dependability of the systems have become primary objectives.Cloud computing has evolved from questioning the Quality-of-Service (QoS) making factors such as availability, reliability, liveness, safety and security, extremely necessary in the complete definition of a system. Indeed, computing systems must be resilient in the presence of failures and attacks to prevent their inaccessibility which can lead to expensive maintenance costs and loss of business. With the growing components in cloud systems, faults occur more commonly resulting in frequent cloud outages and failing to guarantee the QoS. Cloud providers have seen episodic incidents of arbitrary (i.e., Byzantine) faults where systems demonstrate unpredictable conducts, which includes incorrect response of a client's request, sending corrupt messages, intentional delaying of messages, disobeying the ordering of the requests, etc.This has led researchers to extensively study Byzantine Fault Tolerance (BFT) and propose numerous protocols and software prototypes. These BFT solutions not only provide consistent and available services despite arbitrary failures, they also intend to reduce the cost and performance overhead incurred by the underlying systems. However, BFT prototypes have been evaluated in ad-hoc settings, considering either ideal conditions or very limited faulty scenarios. This fails to convince the practitioners for the adoption of BFT protocols in a distributed system. Some argue on the applicability of expensive and complex BFT to tolerate arbitrary faults while others are skeptical on the adeptness of BFT techniques. This thesis precisely addresses this problem and presents a comprehensive benchmarking environment which eases the setup of execution scenarios to analyze and compare the effectiveness and robustness of these existing BFT proposals.Specifically, contributions of this dissertation are as follows.First, we introduce a generic architecture for benchmarking distributed protocols. This architecture, comprises reusable components for building a benchmark for performance and dependability analysis of distributed protocols. The architecture allows defining workload and faultload, and their injection. It also produces performance, dependability, and low-level system and network statistics. Furthermore, the thesis presents the benefits of a general architecture.Second, we present BFT-Bench, the first BFT benchmark, for analyzing and comparing representative BFT protocols under identical scenarios. BFT-Bench allows end-users evaluate different BFT implementations under user-defined faulty behaviors and varying workloads. It allows automatic deploying these BFT protocols in a distributed setting with ability to perform monitoring and reporting of performance and dependability aspects. In our results, we empirically compare some existing state-of-the-art BFT protocols, in various workloads and fault scenarios with BFT-Bench, demonstrating its effectiveness in practice.Overall, this thesis aims to make BFT benchmarking easy to adopt by developers and end-users of BFT protocols.BFT-Bench framework intends to help users to perform efficient comparisons of competing BFT implementations, and incorporating effective solutions to the detected loopholes in the BFT prototypes. Furthermore, this dissertation strengthens the belief in the need of BFT techniques for ensuring correct and continued progress of distributed systems during critical fault occurrence.
|
Page generated in 0.0436 seconds