Projet :
SOLIDOR

Précédent : Systèmes temps-réel
Remonter : Fondements scientifiques Suivant :
Informatique
mobile
Tolérance aux fautes
Le seul moyen dont on dispose pour tolérer la défaillance
d'une action tout en assurant la continuité du service est de
répliquer cette action sur plusieurs machines distinctes. Deux
stratégies de réplication sont utilisables.
- La réplication active où chaque calcul est
répliqué et exécuté simultanément sur n machines
distinctes. Les répliques doivent synchroniser leurs exécutions
à chaque fois qu'un message est reçu ou envoyé afin d'assurer
que toutes les répliques réalisant un même calcul reçoivent les
messages provenant d'autres processus dans le même ordre.
Plusieurs modes de défaillance d'une réplique existent, allant
de la défaillance par arrêt (défaillance la plus simple) à la
défaillance byzantine (défaillance la plus complexe). Dans le
cas des défaillances par arrêt, une réplique défaillante ne
produit plus aucun résultat. Disposer de n répliques sur
des machines distinctes permet donc de d'absorber la
défaillance simultanée de n - 1 machines. Dans le cas de
défaillances byzantines, une réplique défaillante continue de
produire des résultats mais ceux-ci sont erronés. Là, il est
nécessaire de procéder à un vote sur les résultats pour élire
le résultat correct produit par
(2n-1)/3
composants logiciels non défectueux (n
représente le nombre de répliques).
- La réplication passive où un composant logiciel
est répliqué en n exemplaires, mais une seule des
n répliques effectue le calcul. Les n - 1 autres
répliques sont passives et ne prennent la relève qui si la
réplique active est défaillante. Pour que cette stratégie
fonctionne, il est nécessaire que la réplique active transmette
aux répliques passives, à intervalle de temps régulier, son
état d'exécution. Cet état d'exécution composé d'une pile, de
données et de registres est stocké par chacune des répliques
passives et constitue un point de reprise. Si la
réplique active est défaillante, une des répliques passives est
activée et reprend l'exécution du calcul à partir du dernier
point de reprise enregistré. On dit que le processus effectue
un retour arrière. Recréer un état d'exécution simule une
remontée dans le temps en ramenant le calcul dans l'état qu'il
occupait avant la manifestation de la défaillance.
Enfin, ces deux stratégies de réplication s'accompagnent
obligatoirement d'un mécanisme d'échange atomique
d'information entre les processus, propriété indispensable à la
construction d'un système tolérant aux fautes.

Précédent : Systèmes temps-réel
Remonter : Fondements scientifiques Suivant :
Informatique
mobile