Cours 10 Flashcards

1
Q

Definir ce qui compose un systeme fiable.

A

• Disponibilite: etre pret a l’utilisation.
• Fiabilite: continuite de service.
• Surete: pas de consequences catastrophiques pour
l’environnement.
• Securite: prevention d’acces non autorises et/ou de la
manipulation de l’information (confidentialite, integrite,
disponibilite).
• Maintenabilite: refere a la facilite avec laquelle un systeme defaillant peut etre repare.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Definir une defaillance (panne).

A

Defaillance (panne): lorsque le comportement d’un systeme viole sa specification de service
• Les defaillances resultent de problemes inattendus internes au systeme qui se manifestent eventuellement dans le comportement externe du systeme.
• Ces problemes sont appeles erreurs et leurs causes mecaniques ou algorithmiques sont dites fautes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelles sont les 4 sources de fautes pouvant causer une defaillance?

A
  • Specification inadequate.
  • Erreurs de conception dans le logiciel.
  • Defaillance materielle.
  • Interference sur le sous-systeme de communication
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definir les classifications des fautes.

A

• Transitoire: se produit de maniere isolee (une fois et
disparaıt); rayonnement alpha qui perturbe un bit de memoire.
• Intermittente: se reproduit sporadiquement (transitoire et survient a plusieurs reprises); probleme de bruit, de mauvaise synchronisation, de couplage entre signaux, de chaleur…
• Permanente: persiste indefiniment (jusqu’`a reparation) apres son occurrence; disque brise, circuit brule…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Definir la classification des defaillances.

A

• detectee: le serveur repond avec un message d’erreur.
• plantage: serveur s’arrete, mais il fonctionnait correctement jusqu’alors.
• panne d’omission: serveur ne repond pas a une requete; bonne reponse ou pas de reponse (disque avec parite sur les blocs).
• panne de temporisation: la reponse survient en dehors de l’intervalle de temps reel specifie; delai excessif (commande de centrale nucleaire, commande de vol, transactions a haute frequence).
• panne de reponse: reponse est simplement incorrecte; capteur bruite, memoire corrompue.
• panne arbitraire (Byzantine): reponses arbitraires voire
malicieuses (testeur qui essaie de dejouer le systeme, attaque de securite).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelles sont les deux approches pour atteindre la fiabilite?

A

1) Eviter les fautes
• Prevention de fautes: comment prevenir l’occurrence ou l’introduction de fautes
• Elimination de fautes: comment reduire la presence (nombre et severite) de fautes
2) Accepter les fautes
• Tolerance aux fautes: comment fournir un service en depit des fautes
• Prevision de fautes: comment estimer la presence, la creation et les consequences des fautes

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definir le processus de prevention de fautes par evitement.

A

• Utilisation des composants les plus fiables en respectant les couts et contraintes de performance.
• Choix des meilleures techniques d’assemblage et
d’interconnexion des composants.
• Langages de programmation avec abstraction de donnee, modularite, securite.
• Environnement de developpement et methodologie structures aidant a gerer la complexite et ne rien oublier.
• Examiner les formes d’interferences.
• Specification rigoureuse des besoins, si pas formelle

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Definir le processus d’elimination des fautes.

A
  • La prevention ne peut eliminer la possibilite de fautes. Il faut detecter et eliminer les fautes. Prevoir un jeu de test le plus complet possible, dans des conditions de charge realistes.
  • Un test peut seulement etre utilise pour demontrer la presence de fautes, pas leur absence complete.
  • Il est parfois impossible de tester sous des conditions reelles.
  • La plupart des tests sont faits dans un mode de simulation, et il est difficile de garantir que la simulation est exacte.
  • Les erreurs introduites durant la specification des besoins peuvent ne pas se manifester jusqu’a ce que le systeme tombe en panne.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Definir la tolerance aux fautes.

A

• Recuperation de faute: si un delai de recuperation est
acceptable.
• Il suffit de pouvoir reprendre ou on avait laisse, apres avoir redemarre (et possiblement repare) le systeme.
• Requiert un stockage permanent fiable pour ne perdre aucune information. Copies de sauvegarde, cliche a intervalle regulier…
• Faire attention de bien tout sauver avant d’accepter une transaction.
• Masquer la presence de fautes en utilisant la redondance
• Redondance materielle: composants materiels ajoutes pour supporter la tolerance aux fautes a tous les niveaux
(alimentation electrique, processeurs, disques, reseau…).
• Redondance logicielle : inclut tous les programmes et
instructions utilises pour tolerer les fautes.
• Redondance temporelle: temps extra pour executer les taches (executer les instructions plusieurs fois) pour la tolerance aux fautes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quels sont les differents niveaux de tolerance aux fautes?

A

• Tolerance aux fautes complete: le systeme continue a
fonctionner en presence de fautes, sans perte significative de fonctionnalite ou de performance.
• Degradation graduelle: le systeme continue a fonctionner en presence de fautes, acceptant une degradation partielle des fonctionnalites ou de performance durant le recouvrement ou
la reparation.
• Arret securitaire: le systeme maintient son integrite tout en acceptant un arret temporaire de son fonctionnement.
• Niveau de tolerance aux fautes necessaire depend de
l’application.
• (La plupart des systemes critiques necessitent une tolerance complete, mais plusieurs se contentent d’une degradation graduelle.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quelles sont les phases de la tolerance aux fautes?

A
  • Detection d’erreurs: la presence des fautes est deduite en detectant une erreur.
  • Recouvrement d’erreurs: elimine les erreurs de telle facon qu’elles ne se propagent pas par des actions futures.
  • Recouvrement d’erreurs en aval: continuer a partir de l’etat errone en faisant des corrections selectives a l’´etat du systeme. (Remplacer un disque d´efectueux dans une unit´e RAID)
  • Recouvrement d’erreurs en amont: consiste a restaurer le systeme a un etat precedent sur et en executant une section alternative du programme. (Remplacer un disque defectueux et l’initialiser avec une copie de sauvegarde)
  • Point de recouvrement: point auquel un processus est restaure
  • Point de controle (checkpoint): etablissement d’un point de recouvrement (en sauvegardant l’etat approprie du systeme)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Definir un scenario de masquage hierarchique des fautes.

A

Un niveau detecte, reprend et masque les erreurs au niveau plus bas:
• Le client demande l’adresse IP d’un ordinateur.
• Le serveur de nom fait une requˆete r´ecursive `a d’autres serveurs et prend les serveurs alternatifs lorsqu’un serveur ne repond pas.
• Un serveur interroge decouvre une erreur sur un disque et lit plutot de son second disque en miroir.
• Le client a la reponse et ne sait rien des defaillances.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definir les differentes tolerances aux fautes materielles.

A

Statique : composants redondants utilises pour cacher les effets des fautes
• Exemple : Triple Modular Redundancy (TMR): 3 composants identiques et un circuit de vote majoritaire; les resultats sont compares et si un differe des deux autres il sera masque.
• Assume que la faute n’est pas commune (telle qu’une erreur de conception) mais elle peut etre transitoire ou causee par la deterioration du composant.
• Pour masquer les fautes de plus d’un composant il faut NMR (N-tuple Modular Redundancy).

Dynamique : redondance utilisee a l’interieur d’un composant indiquant si le resultat est errone.
• Fournit une technique de detection d’erreurs; le recouvrement doit etre fait par un autre composant

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Qu’est-ce qu’un groupe synchronise et un groupe non-synchronise?

A
  • Groupe synchronise: tous les serveurs doivent recevoir les memes mises a jour dans le meme ordre.
  • Groupe non synchronise: les serveurs de secours enregistrent les mises a jour dans un journal mais sans les traiter. Au besoin, ils utilisent ce journal pour se mettre a jour et prendre le relais avec un certain delai.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Definir la tolerance aux fautes logicielle.

A
  • Utilisee pour detecter les erreurs de conception
  • Statique: programmation N-Versions
  • Dynamique:
  • Detection et recouvrement
  • Blocs de recouvrement : recouvrement d’erreurs en amont
  • Exceptions : recouvrement d’erreurs en aval
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Definir la replication de donnees.

A
  • Maintien de copies d’un objet sur plusieurs systemes.
  • Peut ameliorer les performances du systeme (2x plus de bande passante de lecture pour deux disques en miroir, meme performance qu’un seul disque en ecriture).
  • Augmente la disponibilite en masquant les fautes et donc minimisant l’impact des pannes.
17
Q

Quels sont les points positifs de la replication.

A

Performance:
• Mise en cache des donnees accedees frequemment, ou la replication des donnees pres du point d’acces pour reduire le temps d’acces.
• Repartition des donnees sur plusieurs serveurs pour repartir la charge de travail.
• La replication d’objets statiques est triviale tandis que la replication d’objets dynamique requiert des mecanismes de controle de la concurrence et de maintient de la coherence (ajoute de la surcharge de traitement et de communication).

Disponibilite :
• Offrir une disponibilite du service le plus pres possible de 100%
• 2 types de pannes:
1) Serveur: replication de donnees sur des serveurs qui tombent en panne independamment des autres.
• Partition du reseau ou operations deconnectees: les
utilisateurs dans leurs deplacements se connectent/deconnectent aleatoirement au reseau.

18
Q

Quels sont les requis generaux pour la replication des donnes?

A

Transparence de la replication:
• Les utilisateurs voient des objets logiques, ils n’ont aucune connaissance des multiples copies physiques qui existent
• Ils accedent une instance de l’objet, peu importe laquelle, et recoivent un resultat unique

Coherence:
• Etant donne plusieurs copies physiques de l’objet et des acces concurrents, les copies doivent etre maintenues dans un etat coherent entre elles

19
Q

Definir le modele du systeme.

A
  • Les donnees dans le systeme sont considerees comme un ensemble d’objets logiques.
  • Chaque objet logique est implemente par un ensemble d’objets physiques appeles repliques.
  • La coherence de chacune des repliques depend des operations appliquees localement par le systeme sur lequel elles resident.
  • Les repliques peuvent etre incoherentes entre elles a un point donne dans le temps.
  • Le systeme en soi est asynchrone et peut tomber en panne.
20
Q

De quels trois elements est compose le modele architectural de base pour la replication?

A

• Les clients effectuent les requetes sur des objets repliques a travers les FE.
• Les FE agissent comme intermediaire pour les clients et s’occupent de contacter les RMs. Ils assurent la transparence pour les utilisateurs
• Les RMs maintiennent les repliques d’objets qui sont sous sa responsabilite
- Les objets peuvent se trouver repliques sur tout ou sur un sous-ensemble des RMs
- Les RMs offrent un service d’acces aux objets repliques au client (acces en lecture ou en mise a jour)

21
Q

Quelles sont les etapes de base pour l’acces aux objets repliques?

A
  1. Requete
    • La requete d’un client est prise en charge par le FE qui
    s’occupe de la relayer a un ou plusieurs RM (diffusion selective)
  2. Coordination
    • Les RMs decident d’accepter ou non la requete, lequel RM va servir la requete et dans quel ordre par rapport aux autres requetes (FIFO, causal, total)
  3. Execution
    • Le ou les RMs concernes realisent la requete (peut-etre
    partiellement pour permettre le recouvrement de l’ancien etat de l’objet)
  4. Accord
    • Les RMs se mettent d’accord sur les effets de la requete sur les differentes instances de l’objet replique (approche immediate ou paresseuse)
  5. Reponse
    • Un ou plusieurs RMs renvoient la reponse au FE ayant effectue la requete, qui lui-meme la donne au client concerne
22
Q

Definir un service tolerant aux fautes.

A
  • Un service a un comportement dit correct s’il fonctionne selon les specifications meme en presence de pannes
  • Les clients ne peuvent voir la diff´erence entre un service obtenu a partir de donnees repliquees et celui obtenu a partir d’une copie unique
  • On doit s’assurer que l’ensemble des repliques produit le meme comportement qu’une seule copie
23
Q

Definir le modele de replication passive.

A

• Dans ce modele, a tout moment il y a un RM actif (primaire) qui repond aux requetes des clients et des RMs esclaves (secondaires) qui servent de RMs de secours en cas de panne.
• Le resultat d’une operation effectuee sur le RM primaire est communique a tous les esclaves (ce qui permet de maintenir la coherence des donnees).
• Quand le RM primaire tombe en panne, un RM esclave prend la releve (apres une election, par exemple).
• Le systeme est linearisable puisque la sequence des operations est programmee et controlee par le RM primaire.
• Si le RM primaire tombe en panne, le systeme demeure
linearisable puisqu’un des RMs secondaires reprend
exactement la ou le RM primaire est tombe en panne.

24
Q

Definir le modele de replication active.

A

• Les RMs sont des machines a etat qui jouent exactement le meme role et sont organises en groupe.
• Les RMs debutent dans le meme etat, et changent d’etat concurremment, de telle maniere que leurs etats restent identiques.
• Si un RM tombe en panne, cela n’a aucun effet sur les
performances du systeme parce que les autres RMs peuvent prendre la releve de maniere transparente.
• Ce modele requiert un mecanisme de communication a
diffusion selective (multicast) fiable et totalement ordonne (pour que les RMs effectuent les memes operations dans le meme ordre).
• Supporte la coherence sequentielle mais pas la linearisation (car l’ordre total ne correspond pas ecessairement a l’ordre d’execution temporel des operations).

25
Q

Definir le mecanisme de transaction reparties avec replication.

A
  • Le protocole a deux phases pour completer une transaction doit s’etendre aux donnees repliquees qui doivent elles aussi changer de maniere atomique avec le reste.
  • Le coordonnateur de transaction parle au gestionnaire de copies qui agit a son niveau comme coordonnateur. Les messages pret, et dans une seconde phase completer ou annuler, sont relayes a toutes les copies avant de produire une reponse au coordonnateur. C’est un peu comme si le coordonnateur de transaction devait contacter toutes les copies.
  • Lecture sur un, ecriture sur tous: verrou en lecture sur un, ou verrou en ecriture sur tous (bloque si un verrou en lecture existe).
  • Copie primaire: tous les verrous sont pris sur la copie primaire, au moment d’accepter la transaction, toutes les mises a jour sont propagees aux copies.
  • Il faut faire attention si les copies disponibles pendant la transaction changent, que le tout demeure coherent.
  • Lorsque le reseau est partitionne, on peut continuer dans chaque partition et resoudre les conflits plus tard (optimiste), ou ne continuer que dans la partition qui a le quorum (si une partition a plus que la moitie et est donc la seule ainsi), ou en etre reduit a des lectures seulement puisqu’il n’est plus possible d’obtenir des verrous d’ecriture sur tous.