Cours INF8480 - Examen final automne 2023 Matricule:
POLYTECHNIQUE MONTRÉAL
Département de génie informatique et génie logiciel
Cours INF8480: Systèmes répartis et infonuagique (Automne 2023)
3 crédits (3-1.5-4.5)
EXAMEN FINAL
DATE: Vendredi le 15 décembre 2023
HEURE: 9h30 à 12h00
DUREE: 2H30
NOTE: Aucune documentation permise sauf un aide-memoire, préparé par l’étudiant, qui consiste en une feuille
de format lettre manuscrite recto verso, calculatrice non programmable permise
Ce questionnaire comprend 5 questions pour 20 points
Polytechnique Montréal page 1 sur 2 Département de génie informatique et génie logiciel
Cours INF8480 - Examen final automne 2023 Matricule:
Question 1 (4 points)
a) Un client utilise le service DNS et peut contacter 4 serveurs différents. Chaque serveur a une probabilité d’être
disponible de 0.6. i) Si ces serveurs présentent des pannes par omission, combien de serveurs en panne peut-on
tolérer et quelle est la probabilité que le service soit disponible au client? ii) Si les pannes sont de type réponse
aléatoire et le client prend un vote parmi les réponses des 4 serveurs, combien de serveurs en panne peut-on tolérer,
et que devient la disponibilité du service? (2 points)
b) i) Quelles sont les différences entre les services de noms DNS et LDAP? ii) Quelle est la relation entre les services
de noms LDAP et X.500, lequel est le plus populaire? (2 points)
Question 2 (5 points)
a) Un client C envoie un message au serveur S pour lui demander l’heure exacte. Ce message est envoyé à 16h05m00.200s
et la réponse est reçue à 16h05m00.662s, heure du client. La réponse indique que l’heure exacte du serveur, au
moment où il a répondu, était de 16h05m06.222s. i) En utilisant l’algorithme de Christian, calculez le décalage
à appliquer à l’heure du client et donnez l’intervalle d’incertitude sur cette valeur de décalage? ii) Si le serveur
avait fourni l’information additionnelle suivante, réception de la demande à 16h05m06.111 et envoi de la réponse
à 16h05m06.333s, en utilisant l’algorithme de NTP qui tire parti de cette information, que deviendrait le calcul de
décalage et l’intervalle d’incertitude associé? (2 points)
b) Un groupe de 21 processus, p1 à p21 , utilisent un serveur central d’exclusion mutuelle. Les 21 processus demandent
en même temps (e.g., à 16h00m00.000s) un même verrou v1 . i) Que peut-on dire de l’ordre dans lequel ces 21
processus obtiendront le verrou? ii) Combien de messages seront échangés au total pour que tous ces processus
obtiennent éventuellement le verrour demandé? On suppose qu’il n’y a pas de message perdu. (2 points)
c) Le soleil est à son zénith à 12h00, temps universel coordonné, au centre du fuseau horaire, et cela ne varie pas
vraiment d’une année à l’autre. Est-ce parce que la durée d’une rotation est exactement de 24h x 60min x 60s et
ne varie jamais? Est-ce parce que la durée des secondes est ajustée pour compenser les variations dans la durée des
rotations? Est-ce une autre raison? (1 point)
Question 3 (4 points)
a) Les transactions T1, T2, T3 et T4 s’exécutent en même temps et leurs opérations de lecture et d’écriture sur des
variables (x1, x2, x3, x4, x5 et x6) sont entrelacées. Les lectures d’une transaction sont effectuées sur les versions
courantes des variables, et les écritures d’une transaction sont effectuées sur une version provisoire des variables
pour la transaction. Lorsque la transaction se termine et est acceptée, la version provisoire des variables écrites par
la transaction devient la version courante. Une validation de la cohérence par contrôle optimiste de la concurrence
est effectuée pour accepter ou non chaque transaction. Il faut tenir compte des transactions précédentes qui ont été
validées (et ignorer celles qui ne l’ont pas été) pour savoir si chacune des transactions est acceptée ou non. Lesquelles
des transactions T1, T2, T3 et T4 pourraient être validées, si une validation en reculant était utilisée pour vérifier la
cohérence des transactions? Pour chaque transaction non validée, donnez la ou les variables en conflit. (2 points)
1 T1: Begin 13 T3: Write(x4)
2 T1: Read(x5) 14 T1: End
3 T1: Write(x4) 15 T3: Write(x6)
4 T1: Read(x1) 16 T4: Read(x4)
5 T2: Begin 17 T2: Read(x5)
6 T1: Read(x2) 18 T2: End
7 T2: Write(x6) 19 T4: Read(x5)
8 T3: Begin 20 T4: Write(x6)
9 T3: Write(x4) 21 T3: End
10 T3: Write(x3) 22 T4: Read(x3)
11 T4: Begin 23 T4: Write(x5)
12 T3: Read(x4) 24 T4: End
Polytechnique Montréal page 1 sur 2 Département de génie informatique et génie logiciel
Cours INF8480 - Examen final automne 2023 Matricule:
b) Une transaction répartie T, gérée par le coordonnateur s0, veut écrire les variables a=25 sur le serveur s1, b=33 sur
le serveur s2, c=14 sur le serveur s3 et d=9 sur le serveur s4. Cette transaction répartie est commise en utilisant
le protocole de fin de transaction atomique à deux phases. i) Quelles seront les entrées ajoutées au journal du
coordonnateur et des serveurs s1 et s2, en lien avec cette transaction T? ii) Qu’est-ce qui arrive si s1 plante et
redémarre avant la première phase de fin de transaction? Après la première phase? (2 points)
Question 4 (4 points)
a) Une compagnie, qui offre des services infonuagiques, met gratuitement à la disposition des usagers un service
de fichiers (semblable à Google drive). Cette compagnie opère 30 000 serveurs, constitués en 10 000 groupes de 3
serveurs en redondance. En effet, les fichiers de chaque usager sont dupliqués sur 3 serveurs différents, les 3 serveurs
d’un groupe, pour assurer une bonne tolérance aux pannes. Chaque serveur contient une unité RAID de 3 disques.
Pour chaque serveur, la probabilité de panne, hormis les disques, est de 0.2. Pour chaque disque, la probabilité de
panne est de 0.3, et l’unité RAID peut tolérer un disque en panne sur les 3. i) Quelle est la probabilité qu’un serveur
donné soit disponible? ii) Quelle est la probabilité, pour un usager donné, que ses fichiers soient disponibles? iii)
Quelle est l’équation (par exemple en fonction de la réponse à i ou ii) qui donne la probabilité que le service soit
entièrement disponible pour tous les usagers? (2 points)
b) Lors du TP 4, vous avez été amené à configurer un serveur DNS pour la gestion de la zone "polymtl.ca". Dans les
TPs précédents, le fichier "hosts" a été souvent utilisé pour faciliter la communication entre les différents conteneurs.
Pouvez-vous décrire de manière détaillée comment la mise en place d’un service DNS est plus avantageuse que
l’utilisation du fichier hosts? Quelles sont les limites de l’utilisation du fichier "hosts"? (2 points)
Question 5 (3 points)
a) Qu’est-ce que le développement durable? Dans une approche d’étude du cycle de vie, quelles sont les phases pour
lesquelles faire l’étude et quels sont les 4 principaux aspects à évaluer? (1 point)
b) Quelles sont les responsabilités de l’ingénieur concernant les aspects de développement durable d’un projet? Quels
sont les lois et règlements applicables au développement durable pour un ingénieur? (1 point)
c) Pour un projet de centre de données, quels sont les deux éléments qui en général ont le plus gros impact sur
l’environnement? (1 point)
Le professeur: Michel Dagenais
Polytechnique Montréal page 2 sur 2 Département de génie informatique et génie logiciel