Spelling suggestions: "subject:"asystèmes distribués"" "subject:"asystèmes distribuées""
1 |
Outils et algorithmes pour gérer l'incertitude lors de l'ordonnancement d'application sur plateformes distribuées / Tools and Algorithms for Coping with Uncertainty in Application Scheduling on Distributed PlatformsCanon, Louis-claude 18 October 2010 (has links)
Cette thèse traite de l'ordonnancement dans les systèmes distribués. L'objectif est d'étudier l'impact de l'incertitude sur les ordonnancements et de proposer des techniques pour en réduire les effets sur les critères à optimiser. Nous distinguons plusieurs aspects de l'incertitude en considérant celle liée aux limites des méthodes employées (e.g., modèle imparfait) et celle concernant la variabilité aléatoire qui est inhérente aux phénomènes physiques (e.g., panne matérielle). Nous considérons aussi les incertitudes qui se rapportent à l'ignorance portée sur les mécanismes en jeu dans un système donné (e.g., soumission de tâches en ligne dans une machine parallèle). En toute généralité, l'ordonnancement est l'étape qui réalise une association ordonnée entre des requêtes (dans notre cas, des tâches) et des ressources (dans notre cas, des processeurs). L'objectif est de réaliser cette association de manière à optimiser des critères d'efficacité (e.g., temps total consacré à l'exécution d'un application) tout en respectant les contraintes définies. Examiner l'effet de l'incertitude sur les ordonnancements nous amène à considérer les aspects probabilistes et multicritères qui sont traités dans la première partie. La seconde partie repose sur l'analyse de problèmes représentatifs de différentes modalités en terme d'ordonnancement et d'incertitude (comme l'étude de la robustesse ou de la fiabilité des ordonnancements) / This thesis consists in revisiting traditional scheduling problematics in computational environments, and considering the adjunction of uncertainty in the models. We adopt here a wide definition of uncertainty that encompasses the intrinsic stochastic nature of some phenomena (e.g., processor failures that follow a Poissonian distribution) and the imperfection of model characteristics (e.g., inaccuracy of the costs in a model due to a bias in measurements). We also consider uncertainties that stem from indeterminations such as the user behaviors that are uncontrolled although being deterministic. Scheduling, in its general form, is the operation that assigns requests to resources in some specific way. In distributed environments, we are concerned by a workload (i.e., a set of tasks) that needs to be executed onto a computational platform (i.e., a set of processors). Therefore, our objective is to specify how tasks are mapped onto processors. Produced schedules can be evaluated through many different metrics (e.g., processing time of the workload, resource usage, etc) and finding an optimal schedule relatively to some metric constitutes a challenging issue. Probabilistic tools and multi-objectives optimization techniques are first proposed for tackling new metrics that arise from the uncertainty. In a second part, we study several uncertainty-related criteria such as the robustness (stability in presence of input variations) or the reliability (probability of success) of a schedule
|
2 |
Building a Testbed Emulating Cellular Networks. Design, Implementation, Cross-Validation and Exploitation of a Real-Time Framework to Evaluate QoS and QoE in the UTRANVAN PETEGHEM, Hugues 17 March 2008 (has links)
La convergence des communications mobiles et d'Internet a conduit à l'émergence de la troisième génération de réseaux cellulaires (3G), connue sous la dénomination de Universal Mobile Telecommunications System (UMTS). Avec le lancement de cette nouvelle génération de communications mobiles, les utilisateurs sont maintenant véritablement capables d'accéder à Internet depuis leur terminal mobile, ce qui leur permet de profiter d'une large gamme de services à valeur ajoutée. Dans ce contexte, la modélisation de l'UMTS Terrestrial Radio Access Network (UTRAN) et la caractérisation du trafic sont des maillons essentiels de la recherche. Le but de ce projet a été de concevoir, d'implémenter et de valider une maquette basée sur Linux qui émule un segment UTRAN traversé par des sessions de trafic IPv6 caractérisées stochastiquement. Le fruit de ce projet est un outil capable d'émuler le comportement d'un UTRAN avec plus de réalisme qu'un simulateur et un coût moins élevé que celui demandé par un vrai déploiement. Le principal objectif de cette thèse a été de démontrer, via des comparaisons de résultats issus de la littérature, qu'une maquette constituée d'une douzaine d'ordinateurs et fonctionnant avec des logiciels libres est capable d'émuler de manière réaliste un UTRAN. En se basant sur l'infrastructure de cette maquette, le second objectif de ce projet a été d'améliorer les algorithmes de Radio Resource Management (RRM), de Call Admission Control (CAC) et/ou de séquencement afin de respecter à la fois les exigences des futurs services et applications, exprimées en termes de Quality of Service (QoS), et celles des utilisateurs, exprimées en termes de Quality of Experience (QoE).
|
3 |
Parallélisation automatique de programmes scientifiques pour systèmes distribuésOuellet, Félix-Antoine January 2016 (has links)
Avec l’avènement des processeurs multi-coeurs comme architecture standard pour
ordinateurs de tout acabit, de nouveaux défis s’offrent aux programmeurs voulant
mettre à profit toute cette nouvelle puissance de calcul qui leur est offerte. Malheureusement, la programmation parallèle, autant sur systèmes à mémoire partagée que sur systèmes à mémoire distribuée, demeure un défi de taille pour les développeurs de logiciels. Une solution intéressante à ce problème serait de rendre disponible un outil permettant d’automatiser le processus de parallélisation de programmes. C’est dans cette optique que s’inscrit le présent mémoire. Après deux essais infructueux, mais ayant permis d’explorer le domaine de la parallélisation automatique dirigée par le compilateur, l’outil Clang-MPI a été conçu pour répondre au besoin énoncé. Ainsi, cet outil prend en charge la parallélisation de programmes originellement séquentiels dans le but de produire des programmes visant les systèmes distribués. Son bon fonctionnement a été évalué en faisant appel aux bancs d’essai offerts par la suite Polybench et ses limites ont été explorées par une tentative de parallélisation automatique du processus d’entraînement d’un réseau de neurones.
|
4 |
INJECTION DE FAUTES DANS LES SYSTEMES DISTRIBUESHoarau, William 21 March 2008 (has links) (PDF)
Dans un réseau constitué de plusieurs milliers d'ordinateurs, l'apparition de fautes est inévitable. Etre capable de tester le comportement d'un programme distribué dans un environnement où l'on peut contrôler les fautes (comme le crash d'un processus) est une fonctionnalité importante pour le déploiement de programmes fiables.....
|
5 |
The GNU Taler system : practical and provably secure electronic payments / Le système GNU Taler : Paiements électroniques pratiques et sécurisésDold, Florian 25 February 2019 (has links)
Les nouveaux protocoles de réseautage et cryptographiques peuvent considérablement améliorer les systèmes de paiement électroniques en ligne. Le présent mémoire porte sur la conception, la mise en œuvre et l’analyse sécuritaire du GNU Taler, un système de paiement respectueux de la vie privée conçu pour être pratique pour l’utilisation en ligne comme méthode de (micro-)paiement, et en même temps socialement et moralement responsable. La base technique du GNU Taler peut être dû à l’e-cash de David Chaum. Notre travail va au-delà de l’e-cash de Chaum avec un changement efficace, et la nouvelle notion de transparence des revenus garantissant que les marchands ne peuvent recevoir de manière fiable un paiement d’un payeur non fiable que lorsque leurs revenus du paiement est visible aux autorités fiscales. La transparence des revenus est obtenue grâce à l’introduction d’un protocole d’actualisation donnant lieu à un changement anonyme pour un jeton partiellement dépensé sans avoir besoin de l’introduction d’une évasion fiscale échappatoire. De plus, nous démontrons la sécurité prouvable de la transparence anonyme de nos revenus e-cash, qui concerne en plus l’anonymat habituel et les propriétés infalsifiables de l’e-cash, ainsi que la conservation formelle des fonds et la transparence des revenus. Notre mise en œuvre du GNU Taler est utilisable par des utilisateurs non-experts et s’intègre à l’architecture du web moderne. Notre plateforme de paiement aborde une série de questions pratiques telles que la prodigue des conseils aux clients, le mode de remboursement, l’intégration avec les banques et les chèques “know-your-customer (KYC)”, ainsi que les exigences de sécurité et de fiabilité de la plateforme web. Sur une seule machine, nous réalisons des taux d’opérations qui rivalisent avec ceux des processeurs de cartes de crédit commerciaux globaux. Pendant que les crypto-monnaies basées sur la preuve de travail à l’instar de Bitcoin doivent encore être mises à l’échelle pour servir de substituant aux systèmes de paiement établis, d’autres systèmes plus efficaces basés sur les Blockchains avec des algorithmes de consensus plus classiques pourraient avoir des applications prometteurs dans le secteur financier. Nous faisons dans la conception, la mise en œuvre et l’analyse de la Byzantine Set Union Consensus, un protocole de Byzantine consensus qui s’accorde sur un (Super-)ensemble d’éléments à la fois, au lieu d’accepter en séquence les éléments individuels sur un ensemble. Byzantine Set consensus peut être utilisé comme composante de base pour des chaînes de blocs de permissions, où (à l’instar du style Nakamoto consensus) des blocs entiers d’opérations sont convenus à la fois d’augmenter le taux d’opération. / We describe the design and implementation of GNU Taler, an electronic payment system based on an extension of Chaumian online e-cash with efficient change. In addition to anonymity for customers, it provides the novel notion of income transparency, which guarantees that merchants can reliably receive a payment from an untrusted payer only when their income from the payment is visible to tax authorities. Income transparency is achieved by the introduction of a refresh protocol, which gives anonymous change for a partially spent coin without introducing a tax evasion loophole. In addition to income transparency, the refresh protocol can be used to implement Camenisch-style atomic swaps, and to preserve anonymity in the presence of protocol aborts and crash faults with data loss by participants. Furthermore, we show the provable security of our income-transparent anonymous e-cash, which, in addition to the usual anonymity and unforgeability proper- ties of e-cash, also formally models conservation of funds and income transparency. Our implementation of GNU Taler is usable by non-expert users and integrates with the modern Web architecture. Our payment platform addresses a range of practical issues, such as tipping customers, providing refunds, integrating with banks and know-your-customer (KYC) checks, as well as Web platform security and reliability requirements. On a single machine, we achieve transaction rates that rival those of global, commercial credit card processors. We increase the robustness of the exchange—the component that keeps bank money in escrow in exchange for e-cash—by adding an auditor component, which verifies the correct operation of the system and allows to detect a compromise or misbehavior of the exchange early. Just like bank accounts have reason to exist besides bank notes, e-cash only serves as part of a whole payment system stack. Distributed ledgers have recently gained immense popularity as potential replacement for parts of the traditional financial industry. While cryptocurrencies based on proof-of-work such as Bitcoin have yet to scale to be useful as a replacement for established payment systems, other more efficient systems based on Blockchains with more classical consensus algorithms might still have promising applications in the financial industry. We design, implement and analyze the performance of Byzantine Set Union Consensus (BSC), a Byzantine consensus protocol that agrees on a (super-)set of elements at once, instead of sequentially agreeing on the individual elements of a set. While BSC is interesting in itself, it can also be used as a building block for permissioned Blockchains, where—just like in Nakamoto-style consensus—whole blocks of transactions are agreed upon at once, increasing the transaction rate.
|
6 |
Optimized diagnosability of distributed discrete event systems through abstractionYe, Lina 07 July 2011 (has links) (PDF)
Depuis plusieurs années, de nombreuses recherches ont été menées autour du diagnostic. Cependant, il est impératif de se préoccuper dès la phase de conception d'un système des objectifs de diagnostic à atteindre. Aussi, de nombreux travaux se sont intéressés à analyser et à caractériser les propriétés de la diagnosticabilité d'un système. La diagnosticabilité est la propriété d'un système garantissant qu'il génère des observations permettant de détecter et discriminer les fautes en temps fini après leur occurrence.Le sujet de cette thèse porte sur les méthodes permettant d'établir les propriétés de la diagnosticabilité des systèmes à événements discrets dans le cadre distribué, sans construction du modèle global du système. Ce cadre est de première importance pour les applications réelles : systèmes naturellement distribués, systèmes trop complexes pour traiter leur modèle global, confidentialité des modèles locaux les uns par rapport aux autres. L'analyse de la diagnosticabilité de tels systèmes distribués se fonde sur des opérations de synchronisation des modèles locaux, par les observations et les communications. D'abord, nous étudions comment optimiser cette analyse de la diagnosticabilité en faisant abstraction de l'information nécessaire et suffisante à partir des objets locaux pour décider la diagnosticabilité globale. L'efficacité de l'algorithme peut être grandement améliorée par la synchronisation des objets locaux et abstraits en comparaison avec celle des objets locaux et non abstraits.Ensuite, nous proposons, dans le cadre distribué, l'algorithme de la diagnosticabilité de motifs d'événements particuliers a priori inobservables dans les systèmes. Ces motifs peuvent être simplement l'occurrence, brutale ou graduelle, d'une faute permanente ou transitoire, plusieurs occurrences d'une faute, plusieurs fautes en cascade, etc. Dans le cadre distribué, la reconnaissance du motif d'événements s'effectue d'abord progressivement dans un sous-système et ensuite la diagnosticabilité de ce motif peut être déterminée par la méthode abstraite et distribuée. Nous prouvons la correction et l'efficacité de notre algorithme à la fois en théorie et en pratique par la mise en œuvre de l'implémentation sur des exemples.Finalement, nous étudions le problème de la diagnosticabilité dans les systèmes distribués avec composants autonomes, où l'information observable est distribuée au lieu d'être centralisée comme jusqu'alors. En d'autres termes, chaque composant ne peut appréhender que ses propres événements observables. Nous donnons la définition de la diagnosticabilité conjointe. Et puis nous discutons de l'indécidabilité de diagnosticabilité conjointe dans le cas général, c'est à dire, les événements de communication ne sont pas observables, avant de proposer un algorithme pour tester sa condition suffisante. De plus, nous obtenons également un résultat de décidabilité et de l'algorithme lorsque les communications sont observables.
|
7 |
Association cohérente de données dans les systèmes temps réel à base de composants - Application aux logiciels spatiaux / Formal models for technical specification of flying softwaresPontisso, Nadège 16 December 2009 (has links)
Les architectures distribuées des systèmes embarqués sont souvent décrites sous la forme de composants concurrents communiquant entre eux. De tels systèmes sont à la fois orientés flot de données pour leur description, et dirigés par le temps pour leur exécution. Cette thèse s’inscrit dans cette problématique et se concentre sur le contrôle de la compatibilité temporelle d’un ensemble de données interdépendantes utilisées par les composants du système. L’architecture d’un système modélisé par composants forme un graphe où plusieurs chemins peuvent relier deux composants, avec des caractéristiques temporelles hétérogènes, ce qui induit des temps de parcours disparates. Il est alors important que ces flots d’information soient assemblés de façon cohérente sur le composant destinataire, c’est-à-dire de telle manière que le composant utilise en entrée des données dépendant (directement ou indirectement) du même pas d’exécution du composant à l’origine de ces flots multiples. Dans un premier temps, ce principe d’association cohérente de données est identifié et formalisé. Une méthodologie est proposée afin de détecter, dans un graphe de composants, les configurations pouvant poser des problèmes d’association de données. Dans un deuxième temps, différentes approches sont détaillées afin de gérer l’association cohérente des données dans des systèmes périodiques sans supposer de propriétés strictes sur l’ordonnancement des composants. Dans les systèmes où les composants partagent la même période et où les communications intra-périodiques sont interdites, l’association des données est gérée par un mécanisme de files permettant de rééquilibrer les temps de parcours des données sur les différents chemins. Dans le cas où les composants sont de périodes diverses, un mécanisme d’estampillage des données est utilisé afin de mémoriser les dépendances entre données. Associé à l’utilisation de files, cet estampillage permet aux composants de sélectionner, à chacune de leurs phases d’activation, des ensembles de données cohérents choisis parmi les données à leur disposition. La notion d’association cohérente est ensuite relâchée, permettant une utilisation de données approximativement cohérentes. Des files filtrantes, n’enregistrant qu’une donnée sur un certain nombre de données reçues, permettent de réduire la taille des files nécessaires. Par ailleurs, du fait de la liberté du modèle d’exécution choisi, il existe des situations où il est impossible de garantir la vivacité de l’association cohérente des données. D’autre part, une architecture particulière peut générer des contraintes de cohérence conflictuelles et aboutir à une impossibilité de gestion de la cohérence. Pour terminer, les résultats de ces travaux sont appliqués sur le logiciel applicatif d’un satellite d’observation terrestre détectant des points chauds. / Distributed real time architecture of an embedded system is often described as a set of communicating components. Such a system is both data flow (for its description) and time-triggered (for its execution). This thesis fits in with these problematics and focuses on the control of the time compatibility of a set of interdependent data used by the components of the system. The architecture of a component-based system forms a graph of communicating components, where more than one path can link two components. These paths may have different timing characteristics, so information which transits on these paths takes various time to reach the final component. However, the flows of information need to be adequately matched, so that the final component uses inputs which all (directly or indirectly) depend on the same production step of the initial component. We call this property consistent data matching. The data matching property is defined and formalized. A methodology is proposed to detect, in a component graph, the architecture configurations that have to be analyzed. Several approaches are developed to manage data matching in periodic systems, without considering strict properties on the system scheduling. First, we consider systems composed by components sharing the same period and where intra-periodic communications are forbidden. Data matching is managed using queues that allows to balance the data transit times through the several paths. Then, we study systems where components have independent periods. Queues are also used and data timestamping is added to record data dependencies. Thus, a component is able, for each of its activation steps, to select consistent data sets according to data dependencies among the available input data. Data matching consistency is relaxed to allow the use of approximately consistent data sets. We use filtering queues which record only one data among a given number they receive. Their use allows to reduce the necessary queue size. Due to the loose execution model constraints, some situations exist where data matching liveliness is not guaranteed. Moreover, particular system architectures generate conflictual constraints and lead to an impossible data matching management. The thesis results are applied on the software of an earth observation satellite constellation, Fuego, which detects fires or eruptions.
|
8 |
Caractérisation locale de fautes dans les systèmes large échelle / Local fault characterization in large scale systemsLudinard, Romaric 02 October 2014 (has links)
Internet est un réseau de réseaux permettant la mise en œuvre de divers services consommés par les utilisateurs. Malheureusement, chacun des éléments présents dans le réseau ou impliqués dans ces services peut potentiellement exhiber des défaillances. Une défaillance peut être perçue par un nombre variable d'utilisateurs suivant la localisation dans le système de la source de celle-Ci. Cette thèse propose un ensemble de contributions visant à déterminer du point de vue d'un utilisateur percevant une défaillance, si celle-Ci est perçue par un faible nombre d'utilisateurs (défaillance isolée) ou à l'inverse par un très grand nombre d'utilisateurs (défaillance massive). Nous formalisons dans un premier temps les défaillances par leur impact sur la perception des services consommés par les utilisateurs. Nous montrons ainsi qu'il est impossible, du point de vue d'un utilisateur, de déterminer de manière certaine si une défaillance perçue est isolée ou massive. Cependant, il possible de déterminer de manière certaine pour chaque utilisateur, s'il a perçu une défaillance isolée, massive, ou s'il est impossible de le déterminer. Cette caractérisation est optimale et totalement parallélisable. Dans un second temps, nous proposons une architecture pour la caractérisation de fautes. Les entités du système s'organisent au sein d'une structure à deux niveaux permettant de regrouper ensemble les entités ayant des perceptions similaires et ainsi mener à bien l'approche proposée. Enfin, une analyse probabiliste de la résistance au dynamisme et aux comportements malveillants du second niveau de cette architecture complète ce document. / The Internet is a global system of interconnected computer networks that carries lots of services consumed by users. Unfortunately, each element this system may exhibit failures. A failure can be perceived by a variable range of users, according to the location of the failure source. This thesis proposes a set of contributions that aims at determining from a user perception if a failure is perceived by a few number of users (isolated failure) or in contrast by lots of them (massive failure). We formalize failures with respect to their impact on the services that are consumed by users. We show that it is impossible to determine with certainty if a user perceives a local or a massive failure, from the user point of view. Nevertheless, it is possible to determine for each user whether it perceives a local failure, a massive one or whether it is impossible to determine. This characterization is optimal and can be run in parallel. Then, we propose a self-Organizing architecture for fault characterization. Entities of the system organize themselves in a two-Layered overlay that allows to gather together entities with similar perception. This gathering allows us to successfully apply our characterization. Finally, a probabilistic evaluation of the resilience to dynamism and malicious behaviors of this architecture is performed.
|
9 |
Conception basée modèle des systèmes temps réel et distribuésDe Saqui-Sannes, Pierre 07 July 2005 (has links) (PDF)
Les systèmes temps réel et distribués posent des problèmes complexes en termes de conception d'architecture et de description de comportements. De par leur criticité en vies humaines et leurs coûts de prototypage, ces systèmes ont motivé le développement d'une activité de recherche sur les langages de modélisation formelle et les techniques de validation basées modèle qui contribuent à la détection au plus tôt des erreurs de conception. Néanmoins, les langages formels ont eu un succès plus que limité dans l'industrie. L'arrivée du langage UML (Unified Modeling Language) a ouvert de nouveaux horizons pour l'intégration de langages de modélisation formelle dans une méthodologie de conception susceptible d'être mieux acceptée par les praticiens du domaine. En s'appuyant sur une expérience antérieure de la technique de description formelle Estelle et des extensions temporelles des réseaux de Petri, notre activité de recherche sur les cinq dernières années a débouché sur la production d'un profil UML nommé TURTLE (Timed UML and RT-LOTOS Environment). TURTLE surpasse UML 2.0 par ses extensions aux diagrammes d'analyse et de conception UML, sa sémantique formelle exprimée en RT-LOTOS, et ses outils de support (éditeur de diagrammes et outil de validation formelle combinant simulation et vérification basée sur une analyse daccessibilité). La méthodologie TURTLE trouve son champ d'application naturel dans la conception de systèmes temps réel et la validation d'architectures de communication en particulier. L'approche proposée a été appliquée avec succès à des systèmes satellitaires et des protocoles d'authentification.
|
10 |
P2P-MPI : A fault-tolerant Message Passing Interface Implementation for GridsRattanapoka, Choopan 22 April 2008 (has links) (PDF)
Cette thèse démontre la faisabilité d'un intergiciel destiné aux grilles de calcul, prenant en compte la dynamicité de ce type de plateforme, et les impératifs des programmes parallèles à passage de message. Pour cela, nous mettons en avant l'intérêt d'utiliser une architecture la plus distribuée possible : nous reprenons l'idée d'une infrastructure pair-à-pair pour l'organisation des ressources, qui facilite notamment la découverte des ressources, et nous retenons les détecteurs de défaillance distribués pour gérer la tolérance aux pannes. La dynamicité de ce type d'environnement est également un problème pour le modèle d'exécution sous-jacent à MPI, car la panne d'un seul processus entraine l'arrêt de l'application. La contribution de P2P-MPI dans ce domaine est la tolérance aux pannes par réplication. Nous pensons qu'elle est la mieux adaptée à une architecture pair-à-pair, les techniques classiques basées sur le check-point and restart nécessitant un ou des serveurs de sauvegardes. De plus, la réplication est totalement transparente à l'utilisateur et rejoint ainsi l'objectif de simplicité d'utilisation que nous nous sommes fixés. Nous pensons que garder un environnement très simple d'utilisation, entièrement maîtrisable par un utilisateur, est un des facteurs permettant d'augmenter le nombre de ressources disponibles sur la grille. Enfin, la contribution majeure de P2P-MPI est la librairie de communication proposée, qui est une implémentation de MPJ (MPI adapté à Java), et qui intègre la réplication des processus. Ce point particulier de notre travail plaide pour une collaboration étroite entre l'intergiciel, qui connaît l'état de la grille (détection des pannes par exemple) et la couche de communication qui peut adapter son comportement en connaissance de cause.
|
Page generated in 0.0529 seconds