Cours de fiabilité logicielle



TP 5 : RAFT (partie 3/3)

Retour sur l’Élection

Élection élémentaire

On considère les scénarios suivants avec 5 processus :

  1. la temporisation (timeout) de 4 se termine vite, celle de 5 bien plus tard. 5 reçoit un message de 4 après la fin de sa temporisation.

  2. la temporisation de 4 et celle de 5 se termine quasiment en même temps, et chacun reçoit 1 seul vote des autres processus.

Question 1 : Mettre en œuvre chacun des scénarios, que constatez-vous ?

Règnes

Question 2 : Dans le simulateur, comment sont représentés les “règnes” (terms dans l’article) des différentes élections ?

Question 3 : Dans quelle(s) circonstance(s) un ÉLU peut-il voir son règne se terminer ?

Question 4 : Proposer et mettre en œuvre un ou des scenarios permettant d’aboutir à une situation aussi proche que possible de celle de la Figure 6 de l’article.

Question 5 : Quel est le langage avec lequel le simulateur est implémenté ? Sur combien de bits est codée la valeur entière du numéro de terme dans le simulateur ?

Question 6 : Est-ce que cela vous parait suffisant ?

Partie 2 : Réplication de Journal

Requêtes

Question 7 : Comment est définie une requête dans le contexte du simulateur ?

Question 8 : Pourquoi est-ce local à chaque serveur ?

Journal

Question 9 : Quels sont les paramètres et états possibles pour une entrée de journal ?

Question 10 : Où cela apparaît-il dans le simulateur ?

Transmission

Question 11 : Proposer des scenarios pour lesquels la transmission du journal nécessite au moins deux messages envoyés par l’ÉLU.

Propositions en dissensus

Question 12 : Simuler une exécution correspondant à 5 processus où les entrées (proposées) du journal sont différentes (Question 11 du TD 5).

Consensus

Question 13 : En laissant terminer sans intervention la simulation précédente, expliquer comment on passe du dissensus au consensus, c’est-à-dire comment sont validées certaines des propositions.

Partie 3 : Sûreté

Transition

Question 14 : Dans le cas des scenarios précédent, mettre en évidence la robustesse du mécanisme en perturbant l’exécution le plus possible (crashs, reprises et pertes de message).

Question 15 : Si votre scenario contient suffisamment de pannes et défaillances répétées, que risque-t-on ?

Élection améliorée

Question 16 : Afin de garantir la sûreté, quelles sont les restrictions sur les processus qui peuvent être élus ?

Question 17 : Mettre en évidence sur plusieurs scenarios différents, les règles de comparaison utilisées.

Compte-Rendu

Il est attendu un compte rendu détaillé pour ce TP qui est à faire seul ou en binôme (mêmes équipes que les précédents TP). Ce compte rendu contiendra vos réponses aux questions ainsi qu’éventuellement des expérimentations supplémentaires que vous auriez faites. Le compte rendu devra être un unique fichier pdf à déposer sur AMETICE avant le 16 février 2023 à 23 h 59. Le fichier devra préciser le nom complet ou les deux noms complets des personnes ayant participé à sa rédaction. Un point important sera accordé aux aspects explicatifs et synthétiques dans votre compte rendu.