Abstract
En raison de diverses conditions de pannes, la tolérance aux pannes est devenue un
élément critique pour le calcul distribué afin que le système remplisse correctement sa
fonction même en présence de pannes.
L'exigence d'une fiabilité et d'une disponibilité élevée des logiciels est augmenté dans
divers domaines tels que la finance, le contrôle industriel, les télécommunications, etc.
La tolérance aux pannes est un ensemble des techniques de conception des systèmes
qui continuent de fonctionner même en présence de la panne de l'un de leurs
composants.
Dans ce papier on va détailler quelque techniques de tolérance aux pannes dans les
systèmes distribués
Replication
Definition
Dans la programmation concurrente , une opération (ou ensemble d'opérations)
est linéarisable se compose d'une liste ordonnée d'invocation et d' événements de réponse ( de
callbacks ), qui peut être prolongée par l' ajout d' événements de réponse tels que:
1. La liste peut être étendue à nouveau exprimée sous la forme d' une histoire séquentielle
(est sérialisable ), et
2. Cette histoire séquentielle est un sous-ensemble de la liste unextended originale.
Officieusement, cela signifie que que la liste non modifiée des événements est linéarisable si et
seulement si ses invocations étaient sérialisable , mais quelques - unes des réponses du
calendrier de série ne sont pas encore de retour.
Dans un système concurrent, les processus peuvent accéder à un objet partagé en même temps.
Étant donné que plusieurs processus accèdent à un seul objet, il peut se produire une situation
dans laquelle tout un processus accède à l'objet, un autre processus modifie son contenu. Cet
exemple démontre la nécessité d'linéarisabilité. Dans un système linéarisable bien que les
opérations se chevauchent sur un objet partagé, chaque opération semble avoir lieu
instantanément. Linéarisabilité est une condition forte de la décision correcte, ce qui limite ce que
les sorties sont possibles lorsqu'un objet est accessible par plusieurs processus simultanément. Il
est une propriété de sécurité qui assure que les opérations ne terminent pas d'une manière
inattendue ou imprévisible. Si un système est linéarisable permet au programmeur de raisonner
sur le système.
Pour la réplication passive, on distingue la copie primaire et les copies secondaires.
La copie primaire joue un rôle spécial, elle est la seule qui reçoit les requêtes et qui
effectue toutes les opérations.
En cas de défaillance de la copie primaire, une copie secondaire devient la nouvelle
copie primaire.
Pour assurer la cohérence, la copie primaire diffuse son nouvel état aux copies
secondaires après chaque modification.
Figure
Explication de figure
La figure 3.2 illustre ce principe. Le client envoie la requête uniquement à la copie
primaire q1. Celle-ci traite et exécute la requête, puis elle envoie le message de mise a
jour aux copies secondaires q2 et q3 .Après la mise à jour de leurs états, les copies
secondaire envoie un ack à la copie primaire. La copie primaire envoie la réponse au
client après réception des "ack" de toutes les copies secondaires.
Si la copie primaire ne tombe pas en panne, l'ordre et l'atomicité sont garantis.
Si elle tombe en panne on distingue 3 cas.
1) La copie primaire se plante avant l’envoie de mise a jour , dans ce cas le client
se repos en attendant la réponse, et il doit envoyer une nouvelle requête au
nouvelle copie primaire.
2) La copie primaire se plante l’ors de l’envoie de message de mise a jour.
3) La copie primaire se plante après l’envoie du réponse au client , dans ce cas une
nouvelle copie primaire sera sélectionner
La réplication active lesquelles toutes les copies jouent un rôle identique. Toutes les
copies reçoivent la même séquence ordonnée de requêtes, qui sont toutes traitées dans
le même ordre. Cette stratégie évite d’utiliser des points de reprise couteux. En
revanche, elle nécessite un mécanisme de diffusion atomique et requiert que
l’exécution des requêtes soit déterministe pour garantir la cohérence. •
– réception des requêttes : toutes les copies reçoivent la même sequence
1 – traitement des requêtes : toutes les copies traitent les requêtes de manière
déterministe 2 – émission des reponses : toutes les copies émettent la même séquence
de réponses.
Comparaison
La réplication active utilise plus de ressources CPU (car toutes les répliques gèrent
l'appel).
la communication de groupe est une infrastructure fournissant des primitives de
multidiffusion adéquates pour implémenter la réplication de sauvegarde principale ou
la réplication active.
il garantit plusieurs services tel que la gestion du groupe des répliques, le consensus,
l'ordonnancement des messages ou encore la mise à jour de l'état et de la reprise .
on distingue e types de groupes , les groupes dynamique et les groupes statiques
statique : Le nombre de répliques est fixé au lancement du système, il ne change pas
même en cas de défaillance d’une réplique
Dynamique : Le nombre de répliques peut changer au cours du fonctionnement du
système .