Vous êtes sur la page 1sur 1

‫ﺍﻟﺟﻣﻬﻭﺭﻳﺔ ﺍﻟﺟﺯﺍﺋﺭﻳﺔ ﺍﻟﺩﻳﻣﻘﺭﺍﻁﻳﺔ ﺍﻟﺷﻌﺑﻳﺔ‬

‫ﻭﺯﺍﺭﺓ ﺍﻟﺗﻌﻠﻳــﻡ ﺍﻟﻌـــﺎﻟﻲ ﻭ ﺍﻟﺑﺣـــﺙ ﺍﻟﻌﻠــــﻣﻲ‬


Université Mohamed Khider – Biskra ‫ ﺑﺳﻛــﺭﺓ‬- ‫ﺟﺎﻣﻌـﺔ ﻣﺣﻣـﺩ ﺧـﻳـﺿـﺭ‬
Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie ‫ﻛﻠﻳـــــﺔ ﺍﻟﻌـــﻠـــﻭﻡ ﺍﻟﺩﻗﻳﻘﻪ ﻭ ﻋﻠﻭﻡ ﺍﻟﻁﺑﻳﻌﺔ ﻭ ﺍﻟﺣﻳﺎﺓ‬
Département d'informatique ‫ﻗﺳــــﻡ ﺍﻹﻋﻼﻡ ﺍﻵﻟﻲ‬

Concours d’accès à la formation doctorale de troisième cycle


12/10/2013
Epreuve1 : Systèmes Distribués
08h30’ - 10h00’
Problème 1 (13 points):
A-
1- Dites pourquoi l’algorithme du banquier n’est pas utilisé pour traiter le problème d’interblocage dans les systèmes distribués ?
2- Un processus avec une transaction estampillé à 50 a besoin d'une ressource détenue par un processus estampillé à 100. Que se
passe- t- il dans le cas :
i. de l'algorithme attente-mort
ii. de l'algorithme blessure attente.
B- Soit 4 processus interconnectés via des canaux comme représenter sur la figure ci-dessous, et qui exécutent les séquences
de pseudo-code suivantes :

L’opération send(nb, Px) envoie la valeur de l’entier nb au processus Px.


L’opération nb = receive(Px) attend un message contenant un entier de la part du processus Px. L’entier reçu est placé dans nb.

1. Dessiner le chronogramme correspondant à l’exécution en parallèle des 4 processus.


2. Dater chacun des événements en utilisant la méthode de l’horloge de Lamport (scalaire).
3. Dater chacun des événements en utilisant la méthode de l’horloge de Mattern (vectorielle).
4. Donner l’ordre total global défini par la datation via la méthode de l’horloge de Lamport.
5. Soit la coupure C1 définie par la frontière contenant les événements numérotés 3 de tous les processus et la frontière
C2 définie par l’événement 5 de P1, le 4 de P2, le 4 de P3 et le 2 de P1. Ces coupures sont-elles cohérentes ? Justifier
le en datant les coupures.
6. Supposons que l’état de chaque processus ait été sauvegardé au moment de la coupure. Les valeurs des horloges de
Lamport sauvegardées avec chaque processus suffisent-elles pour décider si la combinaison de ces états locaux forme
un état global cohérent ? Comment peut-on détecter ces incohérences autrement ?
7. Montrer que la coupure C cohérente si et seulement si V H(C) = (V H(c1)[1], . . . , V H(cn)[n]).
Problème 2 (7 points):
Soit un graphe G(V, E) où V sont les nœuds et E sont les liens. On définit un ensemble dominant tout ensemble U inclus dans V
tel que chaque nœud V est soit un élément dans U soit un voisin à un élément dans U.
1- Sur le graphe suivant, donner l'ensemble U des nœuds qui forment un ensemble dominant. L'ensemble U que vous
donneriez doit être de taille minimale, c'est à dire contenir un nombre minimum de nœuds.

A
L I
B H

C J
K G
D
F
E
2- Ecrire un algorithme distribué qui permet de trouver une approximation d'un ensemble dominant de nœuds de taille
minimum dans un graphe qui n'est pas totalement connecté. (Le cas où le graphe est totalement connecté est trivial, il
suffit de prendre un seul nœud). On peut utiliser la liste des voisins de degrés 2 (i.e les voisins et les voisins des voisins).

Vous aimerez peut-être aussi