ExamSys2 Dist Master 2012 2013 EpreuveCor
ExamSys2 Dist Master 2012 2013 EpreuveCor
ExamSys2 Dist Master 2012 2013 EpreuveCor
Département Informatique
Filière : 1ère Année Master
Examen de rattrapage
Exercice 1 :
Question 1 : Rappelez brièvement qu'est ce qui motive le recours aux architectures parallèles.
Réponse :
Besoins d'application : Plusieurs applications nécessitent une capacité de traitement importante qui ne peut être fournie
que par une architecture parallèle (ex : prévisions météorologiques).
Limite de l'architecture mono-processeur.
Aptitude de certaines application au traitement parallèle (ex : calcul numérique matriciel).
(2.5 points)
Question 2 : La gestion des ressources dans un système réparti peut se faire selon deux méthodes : allocateur unique ou
plusieurs allocateurs. Quels sont les avantages et les inconvénients de chaque méthode ?
Réponse :
Avantages Inconvénients
Allocateur unique L’état des ressources est centralisé, il La panne du site bloquerait le système.
n’y a pas de problème de cohérence.
Plusieurs allocateurs En cas de panne d’un allocateur, le Trafic très important entre les sites
système continue de fonctionner avec allocateurs pour reconstituer l’état
les autres allocateurs. global des ressources du système.
(2.5 points)
Question 3 : Dans quels cas peut-on utiliser l'algorithme du banquier d'évitements des interblocages dans un système
distribué ?
Réponse :
Question 4 : Quel est le coût, en nombre de messages, pour l'entrée en Section Critique en utilisant l'algorithme de
Lamport et l'algorithme de Ricart/Agrawala ? Justifiez.
Réponse :
Page 1/3
Coût de l'algorithme de Ricart-Agrawala : 2*(N-1) messages, N étant le nombre de site.
N-1 messages de type Request.
N-1 messages de type ACK
Les messages de type Release n'existent pas dans l'algorithme de Ricart – Agrawala .
(2.5 Points).
Exercice 2 :
On considère un système distribué constitué de deux processus P1 et P2 situés sur deux sites différents qui sont
respectivement Site1 et Site2. P1 produit et envoie cycliquement une information « info » vers P2 à travers le réseau. Le
processus P2 effectue lui aussi un travail cyclique qui consiste à consommer les informations parvenues à son buffer.
Cependant, on impose la règle suivante : P2 doit consommer les informations dans le même ordre que leur envoi par
P1.
On suppose que la voie de communication est fiable, c'est-à-dire qu’il n’y a pas de perte de messages, cependant les
messages délivrés ne sont pas forcément dans l’ordre FIFO.
Travail à faire : On vous demande de proposer une méthode pour respecter la règle énoncée. Pour chacun des deux cas
suivants, vous devez expliquer clairement le principe de la méthode proposée, de décrire précisément vos déclarations et
d’écrire les codes des processus P1 et P2 :
On utilise le principe des horloges scalaires (logiques) : chaque information envoyée par P1 est estampillée avec la
valeur d’horloge H1. Du côté de P2, on utilise aussi une horloge logique H2 qui s’incrémente entre deux consommations.
On ne consomme une information que si H1=H2.
Processus P1 Processus P2
Entier : H1 ; Entier : H2 ;
Début Début
H1 :=0 ; H2 :=1 ;
cycle Cycle
Produire « info » ; ‘rechercher dans le buffer
H1=H1+1 ; l’information ayant l’estampille H1 =
Envoyer(P2, « info », H1) ; H2 ;
fincycle Si cette information existe
Fin. Alors
Consommer(« info ») ;
H2 :=H2+1
Finsi
fincycle
Fin.
(06 points)
Début Début
Produire « info » ; Cycle
Envoyer(P2, « info ») ; Tantque buffervide
cycle Faire
attendre message de P2 Fait ;
Produire « info » ; Consommer(« info ») ;
Envoyer(P2, « info ») ; Envoyer(P1,« poursuivre production »)
fincycle
Fin. fincycle
Fin.
(4 points)
Page 3/3