Systèmes Répartis: Horloges Logiques

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quelle est la première action prise par un processus Pi lors d'un événement local ?

  • Incrémente Mi[i,i] (correct)
  • Envoie un message à Pj
  • Incrémente Mj[i,j]
  • Délivre un message m

Quelles sont les conditions requises pour la délivrance d'un message m par un récepteur Pj ?

  • Mm[i,j] = Mj[i,j] + 1 et Mm[k,j] ≤ Mj[k,j] (correct)
  • Mm[i,j] ≤ Mj[i,j] + 1 et Mm[k,j] = Mj[k,j]
  • Mm[i,j] = Mj[k,j] et Mm[k,j] ≥ Mj[j,i]
  • Mm[i,j] = Mj[i,j] + 1 et Mm[k,j] ≥ Mj[k,j]

Que doit faire un processus émetteur Pi avant d'envoyer un message m ?

  • Délivrer tous les messages en attente
  • Attendre un accusé de réception
  • Incrémenter son horloge vectorielle Vi[i] (correct)
  • Incrémenter tous les éléments de son horloge vectorielle

Que se passe-t-il lorsque le message m est reçu par Pj ?

<p>Pj retarde la délivrance de m jusqu'à ce que les conditions soient remplies (C)</p> Signup and view all the answers

À quelle règle se rapporte la mise à jour de l'horloge vectorielle Vj lors de la réception d'un message ?

<p>Règle 3 (D)</p> Signup and view all the answers

Quelle option décrit correctement la seconde condition de la règle 2 du protocole ?

<p>Vj[k] doit être supérieur ou égal à Vm[k] (A)</p> Signup and view all the answers

Comment un message m est-il estampillé avant d'être envoyé ?

<p>Avec l'horloge vectorielle Vi[] (A)</p> Signup and view all the answers

Quel type de file d'attente est utilisé pour gérer les messages retardés ?

<p>File d'attente triée selon les estampilles (C)</p> Signup and view all the answers

Quel est le principal objectif d'une horloge logique dans les systèmes répartis ?

<p>Assurer le respect des dépendances causales (D)</p> Signup and view all the answers

Comment une horloge de Lamport initialise-t-elle les compteurs des processus ?

<p>Avec une valeur égale à 0 (C)</p> Signup and view all the answers

Qu'arrive-t-il à l'horloge d'un processus Pj à la réception d'un message estampillé avec Hi(émission) ?

<p>Hj prend la valeur maximale entre Hj et Hi(émission) plus 1 (A)</p> Signup and view all the answers

Quelle limitation a l'horloge de Lamport par rapport à l'ordre FIFO ?

<p>Elle ne peut pas toujours assurer l'ordre FIFO. (A)</p> Signup and view all the answers

Quel type d'ordonnancement assure l'horloge de Mattern ?

<p>Réciproque de la dépendance causale (A)</p> Signup and view all the answers

Dans quel contexte une horloge vectorielle est-elle utilisée ?

<p>Pour l'analyse des dépendances dans un processus local (C)</p> Signup and view all the answers

Que représente l'estampille d'un événement dans le système d'horloge de Lamport ?

<p>Un couple (Np, Nv) associant le numéro de processus et d'événement (D)</p> Signup and view all the answers

Comment l'ordre total est-il défini pour des événements dans le cadre de l'horloge de Lamport ?

<p>Si Hi(e) &lt; Hj(k) alors e précède k (D)</p> Signup and view all the answers

Que représente l'élément diagonal Mi[i,i] dans la matrice de horloge matricielle?

<p>Le nombre d'événements locaux que Pi a enregistrés. (D)</p> Signup and view all the answers

Quelle affirmation décrit correctement la limite de l'horloge de Mattern?

<p>Elle ne définit pas un ordre global total. (C)</p> Signup and view all the answers

Lorsqu'un message Vm est reçu par Pj, comment sont mis à jour les vecteurs temporels?

<p>Vj[k] est mis à jour au maximum avec Vm[k] pour k≠j. (C), Vj[j] est incrémenté de 1. (D)</p> Signup and view all the answers

Qu'est-ce qui caractérise un ordonnancement partiel entre deux vecteurs Vi et Vj?

<p>Vi et Vj ne sont pas comparables. (A), Vi[r] ≤ Vj[r] pour tous les r. (D)</p> Signup and view all the answers

Que signifie l'opération Vm dans le contexte de l'horloge de Mattern?

<p>L'estampille temporelle de l'émetteur Pi. (C)</p> Signup and view all the answers

Comment la matrice Mi aide-t-elle à comprendre l'état d'un processus?

<p>Elle mémorise les interactions de message entre les processus. (C)</p> Signup and view all the answers

Quels critères déterminent si deux vecteurs temporels Vi et Vj sont concurrents?

<p>Les conditions causales ne sont pas satisfaites. (A), Vi et Vj sont inégalement comparables. (B)</p> Signup and view all the answers

À chaque événement local sur le processus Pi, quelle opération est effectuée sur le vecteur Vi?

<p>Vi[i] est incrémenté de 1. (D)</p> Signup and view all the answers

Flashcards

Système distribué

Un système distribué est composé de plusieurs processus qui peuvent communiquer entre eux via des canaux de communication. Chaque nœud possède un seul processus et peut communiquer avec d'autres nœuds via des canaux.

Système synchrone / Asynchrone

Un système synchrone suppose que les processus sont synchronisés dans le temps et que la communication est instantanée. Un système asynchrone n'a pas de synchronisation temporelle et la communication peut être retardée.

État et horloge globales

Un événement est une action qui se produit dans un processus. L'état d'un système distribué est l'ensemble des événements qui se sont déjà produits.

Temps logique et horloge logique

Le temps logique est une mesure relative du temps dans un système distribué. Une horloge logique est un mécanisme utilisé pour ordonner les événements dans un système distribué en utilisant le temps logique.

Signup and view all the flashcards

Délivrance FIFO vs Délivrance causale

La délivrance FIFO garantit que les messages arrivant à un processus sont traités dans l'ordre d'envoi. La délivrance causale garantit que les messages causés par d'autres événements sont reçus avant les événements qui dépendent de ces messages.

Signup and view all the flashcards

Horloge scalaire (Lamport)

L'horloge scalaire de Lamport attribue une estampille à chaque événement, composée du numéro du processus et du numéro de l'événement. Elle assure l'ordonnancement partiel des événements, mais pas la délivrance causale.

Signup and view all the flashcards

Horloge vectorielle (Mattern)

L'horloge vectorielle de Mattern utilise un vecteur de taille égale au nombre de processus pour maintenir les estampilles des événements. Elle assure la dépendance causale et peut détecter les événements concurrents.

Signup and view all the flashcards

Horloge matricielle

Une horloge matricielle est une extension de l'horloge vectorielle qui utilise une matrice pour maintenir les estampilles des événements. Elle offre une plus grande précision pour l'ordonnancement et la détection des événements concurrents.

Signup and view all the flashcards

Initialisation de l'horloge matricielle

La valeur initiale de chaque élément de la matrice est 0.

Signup and view all the flashcards

Événement local dans une horloge matricielle

Quand un événement local se produit dans un processus Pi, la valeur Mi[i, i] est incrémentée de 1.

Signup and view all the flashcards

Envoi de message dans une horloge matricielle

Quand un message est envoyé de Pi à Pj, Mi[i, i] et Mi[i, j] sont incrémentées de 1.

Signup and view all the flashcards

Estampille de message dans une horloge matricielle

Le message m porte l'estampille matricielle de l'émetteur Pi, ce qui signifie que Mm = Mi.

Signup and view all the flashcards

Délivrance de message dans une horloge matricielle

Le récepteur Pj retarde le traitement du message m jusqu'à ce que deux conditions soient remplies.

Signup and view all the flashcards

Condition 1 de la délivrance de message

La première condition assure que Pj a reçu tous les messages de Pi précédant m.

Signup and view all the flashcards

Condition 2 de la délivrance de message

La deuxième condition garantit que Pj a reçu tous les messages envoyés avant l'envoi de m.

Signup and view all the flashcards

Horloge de Mattern

L'horloge de Mattern est un algorithme d'horloges logiques qui attribue des horodatages aux événements dans un système distribué, permettant ainsi de déterminer l'ordre partiel des événements.

Signup and view all the flashcards

Vecteur d'horloges

Chaque processus possède un vecteur d'horloges Vi. Vi[i] représente le compteur local pour Pi et Vi[j] représente la connaissance de Pi sur le nombre d'événements de Pj.

Signup and view all the flashcards

Mise à jour de l'horloge de Mattern

Lorsqu'un événement local se produit sur Pi, le compteur Vi[i] est incrémenté. Chaque message envoyé par Pi contient l'estampille Vi.

Signup and view all the flashcards

Réception d'un message

Lors de la réception d'un message Vm par Pj, Pj met à jour son vecteur d'horloges Vi. Vj[j] est incrémenté et Vj[k] prend la valeur maximale entre sa valeur actuelle et Vm[k] pour tout k différent de j.

Signup and view all the flashcards

Ordonnancement partiel

L'ordre partiel des événements peut être déduit à partir des horodatages. Vk: Vi[k] ≤ Vj[k] implique que l'événement de Pi est avant l'événement de Pj. Si Vi ≤ Vj et Vi[r] < Vj[r] alors Vi < Vj, signifiant que l'événement de Pi est avant l'événement de Pj. Si Vi < Vj et Vj < Vi sont tous deux faux, alors l'ordre est inconnu et les événements sont considérés comme parallèles. Les événements parallèles sont représentés par '||'.

Signup and view all the flashcards

Limitations de l'horloge de Mattern

Les horloges de Mattern ne permettent pas de définir un ordre global total pour tous les événements, ni de garantir une délivrance causale des messages. Par exemple, deux processus peuvent recevoir des messages sans que l'un n'ait connaissance de l'autre. L'ordre des événements est alors indéterminé.

Signup and view all the flashcards

Contenu de la matrice Mi

Chaque processus Pi maintient une matrice Mi[n,n]. Mi[i,i] représente le nombre d'événements qui se sont produits localement sur Pi. Mi[i,j] représente le nombre de messages que Pi a envoyés à Pj. Mi[j,j] est le nombre d'événements de Pj que Pi connaît. Mi[j,k] est le nombre de messages envoyés par Pj à Pk que Pi connaît.

Signup and view all the flashcards

Study Notes

Systèmes Répartis

  • Le sujet est les systèmes répartis, plus spécifiquement les horloges logiques dans ces systèmes.
  • Le document présente différents types d'horloges logiques.
  • Les systèmes sont décrits comme synchrones ou asynchrones.
  • On y discute de l'état et de l'horloge globale.

Horloge Scalaire (Horloge de Lamport)

  • L'horloge logique respecte les dépendances causales.
  • Une date (estampille) est associée à chaque événement (Np, Nv).
  • Np : numéro du processus.
  • Nv : numéro de l'événement.
  • Les événements d'un même processus ont des dates différentes.
  • Les dates d'envoi et de réception d'un même message sont différentes.

Horloge de Lamport

  • Un compteur entier Hi est conservé sur chaque processus Pi.
  • Un événement e sur Pi est daté par H(e) = Hi.
  • Initialisation : Hi = 0, pour tout i.
  • A chaque événement local e sur Pi : Hi(e) = Hi(e) + 1.
  • Chaque message est estampillé par la date d'émission sur Pi : Hi(émission)
  • A la réception de e sur Pj: Hj(réception) := max (Hj, Hi(émission)) + 1

Ordonnancement de Lamport

  • Ordonnancement partiel : e → k ⇒ Hi(e) < Hj(k)
  • Ordonnancement total : H(e) = H(k) ⇒ e?k
  • Ordonnancement artificiel des événements concurrents.
  • Ne permet pas d'assurer l'ordre FIFO ni la délivrance causale.

Horloge de Mattern

  • Horloge qui assure la réciproque de la dépendance causale.
  • Permet de savoir si deux événements sont concurrents.
  • Localement, chaque processus Pi a un vecteur Vi de taille égale au nombre de processus.
  • Vi[j] contient la valeur de l'horloge du processus Pj.

Horloge Matricielle

  • n processus dans le système.
  • Matrice Mi[n,n] pour chaque Pi.
  • Ligne i : informations sur les événements de Pi.
  • Mi[i,i]: nombre d'événements sur Pi.
  • Mi[i,j]: nombre de message envoyé par Pi à Pj.
  • Ligne j : informations que l'on sait sur les événements de Pj.
  • Mi[j,j]: nombre d'événements que l'on sait sur Pj.
  • Mi[j,k]: nombre de messages que l'on sait que Pj a envoyé à Pk.

Protocole Birman-Schiper-Stephenson

  • Les processus se transmettent les messages par diffusion.
  • L'implémentation du protocole est basée sur des règles.
  • Règle 1 : Avant diffusion, Pi incrémente son horloge vectorielle Vi.
  • Règle 2 : Le récepteur Pj retarde la livraison du message m jusqu'à deux conditions.
  • Règle 3 : La mise à jour de l'horloge vectorielle.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Use Quizgecko on...
Browser
Browser