Cours 8 Flashcards

1
Q

Definir la problematique du temps dans les systemes repartis.

A

• Le temps est tres important dans les systemes repartis. On veut savoir avec precision quand un evenement est arrive.
• Il n’y a pas d’horloge globale pour mesurer le temps a travers le systeme reparti, etant donne le delai pour envoyer par reseau une lecture de temps.
• Algorithmes de synchronisation servent a maintenir la
coherence des donnees reparties, eliminer les mises a jour redondantes, verifier l’authenticite des requetes envoyees au serveur, coordonner certaines operations, tracer l’execution du systeme…

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

Definir comment les horloges fonctionnent dans les ordinateurs.

A

• Horloge d’ordinateur: cristal au quartz qui vibre a une
frequence precise (e.g. `a plus ou moins 10−6), avec une
interruption apres un certain nombre d’oscillations, ce qui genere un tic.
• L’horloge est obtenue par un calcul d’un temps initial (heure lue du circuit RTC memorise avec une pile): temps lu au demarrage + nombre de tics depuis ce temps initial x duree d’un tic.
• Les cristaux different d’un ordinateur a l’autre, ce qui cause une desynchronisation entre les systemes multi-ordinateurs, appelee derive des horloges (clock skew).

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

Definir la problematique de la synchronisation.

A
  • Le temps de propagation est limite par la vitesse de la lumiere.
  • Delais lies a la preemption et au traitement des interruptions pour recevoir un message de synchronisation.
  • Le GPS (Global Positionning System) donne l’heure juste a 1us pres a travers le monde. La difference d’heure recue entre les satellites est causee par la distance et donne la position par triangulation.
  • Plusieurs ordinateurs (20 a 30) sont connectes a des horloges atomiques ou GPS et agissent comme serveurs de temps primaires. On compte quelques milliers de serveurs de temps secondaires qui prennent l’heure des serveurs primaires via l’Internet. La precision est typiquement de 30ms ou mieux 99% du temps.
  • Avec une horloge calibrable, il est possible d’obtenir une precision de 1ms sur plusieurs heures.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Definir la synchronisation par la methode de Christian.

A

• Methode basee sur la synchronisation externe ;
• Elle utilise un serveur central de temps (Time server) qui est connecte a un peripherique recevant des signaux d’une source UTC ;
• Le processus P peut mesurer le temps de reponse a sa
requete, Tr, et affecte a son horloge t + Tr / 2.

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

Definir la synchronisation par l’algorithme de Berkeley.

A
  • Un coordonnateur (maıtre) interroge les autres ordinateurs (esclaves) dont les horloges sont a synchroniser.
  • Les esclaves envoient la valeur de leur horloge au maıtre.
  • Le maıtre estime leur temp local en observant le delai d’un aller-retour.
  • Il calcule la moyenne des valeurs recues et de sa propre valeur.
  • Le maıtre renvoie les ajustements necessaires aux esclaves.
  • Si le maıtre tombe en panne, un autre est elu comme maıtre.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Definir le network time protocol (NTP).

A
  • Defini en 1995 dans le RFC 958.
  • Le service NTP est fourni par un reseau de serveurs localises a travers l’Internet.
  • Serveurs primaires connectes directement a une source de temps UTC.
  • Serveurs secondaires synchronises avec les serveurs primaires.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Definir le modele de synchronisation des serveurs (j’imagine que c’est relie a NTP?).

A

Diffusion selective - multicast:
• Utilise dans des LANs a haut debit.
• Un ou plusieurs serveurs diffusent le temps aux demons s’executant sur d’autres ordinateurs connectes au LAN.
• Les demons qui recoivent les messages affectent a leur horloge les valeurs recues en considerant un faible delai.
Appel de procedure:
• Un serveur accepte les requetes des autres ordinateurs ;
• Renvoie une reponse contenant une estampille (valeur de l’horloge locale).
• Offre une meilleure precision.

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

Definir le concept d’evenement dans un systeme reparti.

A

• Un evenement e est l’occurrence d’une seule action.
• Un evenement modifie l’etat d’un processus : L’ordre total unique des ´ev`enements est not´e : • e → e’
si l’evenement e est survenu avant e’ dans Pi
• L’historique de Pi est une s´erie d’evenements survenus dans Pi et ordonnes par la relation :
History(Pi) = hi = … CHECKER LES NOTES

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

Definir le concept d’horloges logiques.

A
  • Souvent, seul l’ordre entre les evenements importe.
  • Dans un meme processus, les evenements sont numerotes avec un compteur.
  • Lors d’un envoi de message, la correspondance est faite entre le decompte de l’envoyeur et celui du receveur (Te < Tr).
  • En l’absence de messages, on ne peut rien dire sur l’ordre reel entre deux evenements dans des processus differents. On les considere concurrents.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Definir les vecteurs de compteurs d’evenements.

A

• Vecteur de N entiers initialises a 0 dans chacun des N
processus.
• A chaque evenement dans le processus i, Vi[i] est incremente.
• A chaque message envoye par le processus i, Vi est inclus.
• Lorsque le processus i recoit un vecteur dans un message, il prend pour chaque entree de son vecteur le maximum entre l’entree presente et celle recue (fusion des vecteurs).
• Chaque entree dans le vecteur du processus i indique le dernier evenement dans un autre processus qui peut avoir influence le processus i (lien de causalite).

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

Definir l’etat global d’un systeme reparti et a quoi il sert.

A

• Pour verifier si une des proprietes particulieres est verifiee ou non durant son execution.
• Ramasse-miettes (garbage collection), un objet doit etre supprime s’il n’est plus rejoignable.
• Interblocage reparti s’il y a un cycle dans le graphe d’attente de plusieurs processus.
• L’´etat global est important mais difficile a obtenir sans tout figer.
• Une propriete est stable si une fois atteinte elle demeure vraie (e.g. interblocage).
• Un systeme est securitaire pour une propriete si cette
propriete reste verifiee independamment de l’ordre dans lequel les evenements non relies causalement surviennent (e.g. jamais d’interblocage).
• Un systeme est vivace pour une certaine propriete si elle devient eventuellement vraie, independamment de l’ordre dans lequel les evenements non relies causalement surviennent (e.g. une demande de verrou doit etre satisfaite).

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

Definir ce qu’est un cliche coherent de l’etat global.

A
  • Une coupe (cut) est un sous-ensemble de l’etat global.
  • Une coupe C est coherente si pour chaque evenement e qu’elle inclut, tous les evenements qui sont survenus avant la coupe sont inclus
  • ∀e ∈ C, f → e ⇒ f ∈ C
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Definir l’algorithme pour l’obtention d’une coupe coherente.

A

• Un processus memorise son etat, envoie un message
demandant la memorisation aux autres processus connectes en sortie, et enregistre tous les messages recus d’autres processus qui n’ont pas encore memorise leur etat.
• Un processus qui re¸coit l’ordre de memorisation fait de meme.
• A la fin, l’etat global est l’etat de chaque processus plus les messages memorises (deja envoyes avant que le processus d’origine n’ait memorise son etat mais recus apres que le processus courant ait memorise son etat).

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

Definir le calcul d’un cliche coherent possible.

A

• Il est possible d’enregistrer les evenements (changements d’etat) de tous les processus. Chaque processus envoie une trace a un moniteur central avec pour chaque evenement un vecteur de compteurs d’evenements.
• Un etat global est defini par un numero de dernier evenement pour chaque processus implique. Cet etat est coherent si pour chaque dernier evenement les entrees des vecteurs de compteurs d’evenements sont inferieures ou egales au dernier evenement inclus pour le processus correspondant.
• Dans un systeme synchrone, un etat est coherent si les
differences entre les temps des evenements sont inferieures a l’imprecision des horloges.

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

Definir les proprietes d’un cliche coherent possible.

A
  • Construire un treillis d’etats globaux possibles (coherents).
  • Traverser le treillis un niveau a la fois.
  • Si un des etats globaux possibles rejoint a une propriete, cette propriete est possible.
  • Si on arrete a chaque etat global possible pour lequel la propriete est vraie et qu’on ne puisse ainsi arriver a l’etat final, cette propriete est necessairement vraie.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Pourquoi l’exclusion mutuelle est-elle necessaire?

A

Exclusion mutuelle est necessaire pour :
• Prevenir les interferences ;
• Assurer la coherence en cas d’acces simultanes aux ressources

17
Q

Definir les elements constituants la synchronisation par exclusion mutuelle repartie.

A
  • Surete: un seul client a la fois obtient le verrou.
  • Vivacite: personne n’est laisse pour compte, chaque client voit eventuellement sa requete satisfaite.
  • Ordre: premier arrive, premier servi, si un client A fait une demande, envoie un message a B, et B fait une demande, l’ordre logique dit que la demande de A arrive avant celle de B. Elle devrait etre servie en premier.
18
Q

Donner un exemple de fonctionnement des verrous avec un serveur central.

A
  • Un client envoie une demande de verrou, le serveur attend que le verrou soit libre, le donne au client, et le client le relache eventuellement, ce qui permet au serveur de le donner a un autre client.
  • Si le serveur est en panne, election d’un nouveau serveur (majorite de clients), et verification de tous les clients pour voir qui possede des verrous ou a soumis une requete (probleme si clients non rejoignables en raison de division du reseau).
  • Exemple: serveur lockd sous NFS.
19
Q

Definir comment fonctionne un anneau de jeton.

A
  • Le verrou passe de processus en processus constamment.
  • Inutile lorsque personne ne requiert le verrou.
  • Probleme des qu’un client fait defaut.
  • Ne respecte pas premier arrive, premier servi.
20
Q

Definir le principe d’exclusion par envoi a tous.

A

• Envoyer une requete a tous.
• Recevoir le O.K. de tous.
• Si on a le verrou, attendre d’en avoir termine avant de
repondre O.K.
• Si on veut le verrou et notre demande est anterieure
(estampille de temps), attendre le verrou et d’en avoir fini avant de repondre O.K.
• Demande n messages (ou 2n - 2 sans message a tous).
• Tous les clients doivent etre actifs.
• Moins bon que serveur central.

21
Q

Definir l’election en anneau.

A
  • Un participant envoie son message d’election avec son ID.
  • Le prochain participant envoie max(ID re¸cu, ID) a son voisin.
  • Si un participant recoit un message avec son ID, il se declare elu et propage la nouvelle.
  • Ceci prend un maximum de 3n - 1 messages (ID maximum n - 1, se decouvrir elu n, propager la nouvelle n).
22
Q

Definir l’election hierarchique.

A

• Lorsqu’un nouvel ordinateur est connecte, ou si le
coordonnateur ne peut etre rejoint, declencher une election.
• Envoyer un message d’election a ceux de plus haute priorite.
• Pas de reponse, il se proclame coordonnateur et le signale a tous.
• Une reponse, il attend un message de proclamation qui devrait suivre.
• Demande n-1 messages dans le meilleur des cas, n x n si tous les processus declenchent une election en meme temps.

23
Q

Definir le consensus en reparti.

A

• Plusieurs processus, corrects ou fautifs, echangent des
messages.
• Chaque processus doit prendre une decision (e.g. qui est le serveur maıtre).
• Terminaison: eventuellement tous les processus corrects arrivent a une decision.
• Consensus: tous les processus corrects terminent avec la meme decision.
• Integrite: si tous les processus corrects proposent la meme decision, cette decision doit l’emporter.
• Chaque processus correct communique sa proposition et celle deja connue d’autres processus au groupe. Chaque processus accumule les propositions des autres et se soumet a la proposition majoritaire.

24
Q

Quelles sont les difficulte des consensus en reparti?

A

• Le coordonnateur elu importe peu, l’important est d’avoir un consensus!
• L’´election hierarchique produit un elu dans chaque partition du reseau, ce qui n’est pas acceptable si on doit avoir un coordonnateur unique (verrou, base de donnee).
• Exiger un vote a majorite? Ceci assure qu’un seul
coordonnateur peut etre elu.
• Chaque candidat va chercher des votes. Que faire en cas de resultat minoritaire? Peut-on changer son vote?

25
Q

Definir l’algorithme de Paxos.

A
  • Le consensus en reparti est tres difficile a assurer en presence de defaillances, messages asynchrones, partitionnement de reseau…
  • Propose par Lamport en 1989 et publie dans une revue, apres avoir ete entierement revise, seulement en 1998.
  • Complexe, utilise surtout pour les questions fondamentales (e.g., elire un serveur maıtre de maniere securitaire, ensuite le serveur maıtre peut coordonner le reste).
  • Par exemple, si on veut elire (etablir un consensus) un serveur maıtre, il faut obtenir une majorite parmi les accepteurs.
  • Chaque proposition a un numero de sequence et une valeur.
  • Premiere proposition recue par un accepteur, il promet de ne pas accepter une proposition anterieure et memorise cette proposition.
  • Proposition anterieures recues par un accepteur, il promet mais retourne la plus recente proposition recue.
  • Le proposeur choisit la proposition la plus recente deja recue par un accepteur et demande a chaque accepteur de l’accepter.
  • Si une majorite d’accepteurs acceptent, le consensus est obtenu.