Académique Documents
Professionnel Documents
Culture Documents
1
Plan:
1.Introduction
2.Définition
3. Classification
4. Tolérance aux fautes
5.Critères de tolérance aux pannes
6. Réplication de données
7. Le consensus en réparti
8.Limtes de tolérance aux pannes(exemples)
9.Conclusion
2
1.Introduction:
. Ils existent plusieurs définitions d'un système réparti qui se diffèrent d'un auteur à un
autre.
Tanenbaum [Tan94] a défini un système réparti comme un système qui s'exécute sur un
ensemble de machines sans mémoire partagée, mais l'utilisateur les voit comme une
seule et unique machine.
Dans une autre définition, un système réparti est défini comme étant un ensemble de
sites autonomes connectés par un réseau de communication, et équipés d'un logiciel
dédié à la coordination des activités du système ainsi qu'au partage de ressources
[Cou94].
Nous pouvons dire donc qu'un système réparti est un système composé de plusieurs
machines autonomes qui communiquent à l'intermédiaire d'un réseau quelconque (filaire
ou sans fil), par l'échange de messages.
3
1.Introduction:
La tolérance aux pannes désigne une méthode de conception permettant à un
système de continuer à fonctionner, éventuellement de manière réduite (on dit
aussi en « mode dégradé »), au lieu de tomber complètement en panne, lorsque
l'un de ses composants ne fonctionne plus correctement.
Le terme se réfère essentiellement à la capacité d'un système à permettre des
pannes ou des dysfonctionnements, et cette capacité peut être fournie par un
logiciel, du matériel ou une combinaison des deux.
4
2.Définition:
Défaillance (panne): lorsque le comportement d'un système viole sa spécification de service
• Les défaillances résultent de problèmes inattendus internes au système qui
se manifestent éventuellement dans le comportement externe du système.
• Ces problèmes sont appelés erreurs et leurs causes mécaniques ou algorithmiques sont
dites fautes.
• Quatre sources de fautes peuvent causer la défaillance d'un système:
• Spécification inadéquate.
• Erreurs de conception dans le logiciel.
• Défaillance matérielle.
• Interférence sur le sous-système de communication
5
3.Classification:
Transitoire: se produit de manière isolée (une fois et disparaît); rayonnement alpha qui perturbe un
bit de mémoire.
Permanente: persiste indéfiniment (jusqu'à réparation) après son occurrence; disque brisé, circuit
brûlé. . .
6
3.Classification:
Classification des défaillances:
détectée: le serveur répond avec un message d'erreur (disque avec parité incorrecte sur un bloc).
plantage: serveur s'arrête, mais il fonctionnait correctement jusqu'alors. panne d'omission: serveur
ne répond pas à une requête; bonne réponse ou pas de réponse (contrôleur de disque brûlé).
panne de temporisation: la réponse survient en dehors de l'intervalle de temps réel spécifié; délai
panne de réponse: réponse est simplement incorrecte; capteur bruité, mémoire corrompue.
panne arbitraire (Byzantine): réponses arbitraires voire malicieuses (testeur qui essaie de déjouer
• Utilisation des composants les plus ables en respectant les coûts et contraintes de
performance.
• Choix des meilleures techniques d'assemblage et d'interconnexion des composants.
• Langages de programmation avec abstraction de donnée, modularité, sécurité.
2 Élimination de fautes:
• La prévention ne peut éliminer la possibilité de fautes. Il faut détecter et éliminer les
fautes. Prévoir un jeu de test le plus complet possible, dans des conditions de charge
réalistes.
• Les erreurs introduites durant la spécication des besoins peuvent ne pas se
manifester jusqu'à ce que le système tombe en panne.
8
Accepter les fautes
*1 BIST – *2 TMR –
BIST signifie Build in Self Test. Le TMR est la triple redondance
système effectue le test de lui- modulaire. Trois copies
même après un certain temps redondantes des composants
encore et encore, c’est la technique critiques sont générées et ces trois
BIST pour la tolérance aux pannes copies sont exécutées
matérielles. Lorsque le système simultanément. Le vote du résultat
détecte un défaut, il désactive le de toutes les copies redondantes
composant défectueux et active le est effectué et le résultat
redondant de celui-ci. Le système majoritaire est sélectionné. Il peut
se reconfigure essentiellement en tolérer l’apparition d’un seul défaut
cas d’apparition d’un défaut. à la fois..
10
11
Techniques de tolérance aux pannes logicielles : les techniques de tolérance aux
pannes logicielles sont utilisées pour rendre le logiciel fiable en cas d’occurrence de pannes
et de pannes. Il existe trois techniques utilisées dans la tolérance aux pannes logicielles. Les
deux premières techniques sont courantes et sont essentiellement une adaptation des
techniques de tolérance aux pannes matérielles .
Programmation N-version –
Dans la programmation N-version, N versions de
logiciel sont développées par N individus ou
groupes de développeurs. La programmation en
version N est similaire à la TMR dans la
technique de tolérance aux pannes matérielle.
Dans la programmation en version N, toutes les
copies redondantes sont exécutées
simultanément et le résultat obtenu est différent
de chaque traitement. L’idée de la
programmation n-version est essentiellement
d’obtenir toutes les erreurs pendant le
développement uniquement.
12
Blocs de récupération
Dans le bloc de récupération, toutes les copies redondantes ne sont pas exécutées
simultanément et ces copies sont exécutées une par une. La technique du bloc de
récupération ne peut être utilisée que lorsque les délais de tâche sont supérieurs au temps de
calcul de la tâche.
13
Phases de la tolérance aux fautes
14
Méthodes de recouvrement d'erreurs
15
Traitement de fautes et continuité de service
Ce critère s'exprime soit en un nombre moyen d'heures entre panne (en anglais MTBF, ou mean
time between failure), soit en un nombre d'heures de fonctionnement avant la fin de vie de la
machine. On lui associe en général un autre paramètre, le MTTR (mean time to repair), le temps
moyen de réparation. La combinaison des deux permet d'établir le taux de disponibilité prévisible.
17
6. Réplication
Réplication de données
Maintien de copies d'un objet sur plusieurs systèmes.
Peut améliorer les performances du système (2x plus de bande passante de
lecture pour deux disques en miroir, même performance qu'un seul disque en
écriture).
Augmente la disponibilité en masquant les fautes et donc minimisant l'impact
des pannes.
18
Effets positifs de la réplication
Performance:
● Mise en cache des données accédées fréquemment, ou la réplication
des données près du point d'accès pour réduire le temps d'accès.
● Répartition des données sur plusieurs serveurs pour répartir la charge
de travail.
● La réplication d'objets statiques est triviale tandis que la réplication
d'objets dynamique requiert des mécanismes de contrôle de la
concurrence et de maintient de la cohérence (ajoute de la surcharge de
traitement et de communication).
19
Disponibilité:
Offrir une disponibilité du service le plus près possible de 100%
2 types de pannes:
Serveur: réplication de données sur des serveurs qui tombent en
panne indépendamment des autres.
Partition du réseau ou opérations déconnectées: les utilisateurs
dans leurs déplacements se connectent/déconnectent
aléatoirement au réseau.
20
Modèle architectural pour la réplication Le système se compose de trois éléments :
Les clients effectuent les requêtes sur des objets
répliqués à travers les FE (Front End).
Les FE agissent comme intermédiaire pour les
clients et s'occupent de contacter les RMs (Replica
Manager). Ils assurent la transparence pour les
utilisateurs
Les RMs maintiennent les répliques d'objets qui
sont sous sa responsabilité
Les objets peuvent se trouver répliqués sur tout ou
sur un sous-ensemble des RMs
Les RMs offrent un service d'accès aux objets
répliqués au
client (accès en lecture ou en mise à jour) 21
Modèle de réplication passive
24
Modèle de réplication active
• Les RMs sont des machines à état qui jouent exactement le même rôle et
sont organisés en groupe.
• Les RMs débutent dans le même état, et changent d'état concurremment, de
telle manière que leurs états restent identiques.
• Si un RM tombe en panne, cela n'a aucun effet sur les performances du
système parce que les autres RMs peuvent prendre la relève de manière
transparente.
• Ce modèle requiert un mécanisme de communication à diffusion sélective
(multicast) able et totalement ordonné (pour que les RMs effectuent les mêmes
opérations dans le même ordre).
• Supporte la cohérence séquentielle mais pas la linéarisation (car l'ordre total
ne correspond pas nécessairement à l'ordre d'exécution temporel des
opérations).
25
26
Exemple de réplication active
27
7. Le consensus en réparti
Plusieurs processus, corrects ou fautifs, échangent des messages
. Chaque processus doit prendre une décision (e.g. qui est le serveur primaire).
. Intégrité: si tous les processus corrects proposent la même décision, cette décision
doit l'emporter.
28
Difficultés
29
Algorithme de Paxos
30
Par exemple, si on veut élire (établir un consensus) un serveur primaire, il faut
obtenir une majorité parmi les accepteurs.
Chaque proposition a un numéro de séquence et une valeur.
Première proposition reçue par un accepteur, il promet de ne pas accepter une
proposition antérieure et mémorise cette proposition.
Proposition antérieures reçues par un accepteur, il promet mais retourne la plus
récente proposition reçue.
Le proposeur choisit la proposition la plus récente déjà reçue par un accepteur et
demande à chaque accepteur de l'accepter.
Si une majorité d'accepteurs acceptent, le consensus est obtenu
31
Exemple de l'algorithme de Paxos
32
33
8 .Les limites de tolérance aux pannes
L'appareil Therac 25
Lors d'une entrée du mode rayons X par erreur par l'opérateur, qu'il change tout
de suite en mode faisceau d'électrons, la grande puissance était sélectionnée
sans qu'il n'y ait de filtre pour rayons X en place.
• Le patient pouvait recevoir 100 fois la dose prévue .
34
Ordinateurs dans la navette spatiale
La fusée Ariane 5
35
9. Conclusion
type de panne.
36
37