Le paradigme réparti
Un programme sur plusieurs machines : passage de messages, appel de procédure à distance, panne partielle, délai d'attente et nouvelle tentative, ordre d'arrivée non garanti et illusions du calcul réparti.
- 27 cartes
- 5 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Ranger et relier
- Sur le schéma
- Mises en situation
Quelques cartes du deck
Calcul réparti : de quoi s'agit-il ?
Voir la réponse
Façon de faire coopérer plusieurs machines reliées par un réseau pour réaliser un même traitement, sans mémoire ni horloge communes.
Tout ce que les machines savent les unes des autres passe par des messages, qui peuvent être lents, perdus ou dupliqués : c'est la difficulté du paradigme.
Un appel distant lève un
TimeoutError. Que sait l'appelant ?- Rien de sûr : la demande a pu être perdue, ou traitée sans que la réponse revienne
- La demande n'a pas été exécutée par le serveur
- Le serveur est arrêté et il faut basculer sur un autre
- Le réseau est coupé entre le client et le serveur
Voir la réponse
Rien de sûr : la demande a pu être perdue, ou traitée sans que la réponse revienne
Le délai dépassé signifie seulement qu'aucune réponse n'est arrivée à temps : requête perdue, serveur lent, serveur planté ou réponse perdue donnent le même signal. Il faut donc des opérations idempotentes avant de relancer.
Lors d'une …, l'appelant ne peut pas distinguer une machine en panne d'une machine simplement ….
Voir la réponse
Lors d'une panne partielle, l'appelant ne peut pas distinguer une machine en panne d'une machine simplement lente.
Dans les deux cas, aucune réponse n'arrive avant le délai d'attente. C'est ce qui oblige à concevoir les relances de façon sûre.
Appel de procédure à distance : de quoi s'agit-il ?
Voir la réponse
Technique qui permet d'appeler une fonction d'une autre machine avec la syntaxe d'un appel local ; une souche transforme les arguments en octets, les envoie, puis décode la réponse.
L'écriture est la même qu'un appel local, mais le comportement ne l'est pas : il y a un réseau au milieu, donc des délais, des pertes et des échecs partiels.