Vous êtes sur la page 1sur 3

Université Constantine 2 Abdelhamid Mehri

Faculté des Nouvelles Technologies de l’Information et de la Communication


Département d’Informatique Fondamentale et ses Applications Date : Avril 2021
Matière DARE 2020/2021 Durée : 1h

Documents non autorisés

Corrigé -Examen final


Partie1 (7 points) :

Q1 : Dans la matière DARE que vous venez de terminer ; donner une architecture des concepts à connaitre est qui
forment son contenue. (1 pt offert)

1. Introduction générale
2. Programmation des sockets
3. Middlewares
4. Java RMI

Q2 : Parmi les caractéristiques des systèmes centralisés, on distingue la centralisation des traitements, des données et
des utilisateurs. (1 pt)
1. Expliquer l’aventage de la centralisation des données.
2. Donner deux limites majeures des systemes centralisés.
3. Quelles caractéristiques restent t ils ?

Lorsqu’on parle des systèmes centralisés, toutes les caractéristiques se focalisent autour d’une même machine:
Centralisation de données: maintenance, une meilleure protection et maintient la cohérence et l’intégrité des données.
Centralisation des traitements : maintenance, unicité des versions déployées (un seul site à mettre à jour…), diminue
le trafic du réseau de l’application elle-même.
Centralisation des utilisateurs (présentations) : meilleure façon de connaître et d’identifier les utilisateurs. Cette
relation de proximité facilitera d’une part l’assistance aux utilisateurs et d’autre part leur formation.
L’existence d’un état global et cohérent.
L’existence d’une Horloge globale ce qui implique un ordre total des taches.

Q3 : Un système distribués permet de réaliser des systèmes à haute disponibilité ; comment cela est possible ? (1 pt)

Objectif majeur et Réalisation de systèmes à haute disponibilité,


o possibilité de duplication/réplication
o Code mobile
o L’existence de plusieurs nœuds permet la continuité du service sous réserve d’une bonne
conception du système.

Q4 : Scalability (Passage à l’échelle) peut être mesurée selon au moins trois dimensions différentes, citez les. (1 pt)

Scalability (Passage à l’échelle)

L'évolutivité d'un système peut être mesurée selon au moins trois dimensions différentes.
Un système peut être évolutif en ce qui concerne sa taille, ce qui signifie que nous pouvons facilement ajouter plus
d'utilisateurs et de ressources au système.
Un système géographiquement évolutif est un système dans lequel les utilisateurs et les ressources peuvent être très
distants.
Un système peut être évolutif d’un point de vue administratif, il peut toujours être facile à gérer même s’il appartient
à de nombreuses organisations administratives indépendantes.

Q5 : Quelle différence entre la Scalability (Passage à l’échelle) et l’ouverture ? (1 pt offert)

Q6 : Quelle différence entre les clusters et les grilles de calcul, par rapport au calcul distribué. (1 pt)
1
Les clusters :
Ensemble de nœuds identiques ayant le même OS connectés par un réseau local high speed (ex : InniBand)
Architecture caractérisée par une certaine homogénéité. Utilisés pour la programmation parallèle : un même
programme est exécuté en parallèle sur plusieurs machines (SPMD).

Les grilles :
 Système d'un ensemble de machines qui sont ou pas dédiées
 Machines peuvent être éloignées (distribution physique)
 Architectures hétérogènes : au niveau hardware, système, calcul, données, applications, etc.
Types de grilles :
 Desktop Grid
 Resource Grid
 Service Grid

Q7 : Donnez quelques caractéristiques du Cloud Computing. (1 pt)

L'informatique en nuage est un modèle pratique, à la demande et universel, permettant d'établir un accès par le réseau
à un réservoir partagé de ressources informatiques configurables (par exemple, réseaux, serveurs, stockage,
applications et services) qui peuvent être rapidement mobilisées et mises à disposition en minimisant les efforts de
gestion et les contacts avec le fournisseur de services

Partie2 (9 points) :

On vous demande de développer une application répartie permettant d’utiliser les ressources de plusieurs serveurs
afin d’effectuer des calculs complexes demandés par des clients.
Q8 : Citez quatre types de communications pour les systèmes distribués. (2 pts)
1. Communication par messages
2. Communication par mémoire commune
3. Communication par évènements et notifications
4. Communication de groupe
5. Communication par flux
6. Appel de procédures à distance
7. Invocation de méthodes à distance

Q9 : Faites une comparaison de deux d’entre eux (en utilisant les critères suivants). (1 pt)

Critères de comparaison Type de communication1 Type de communication2


Synchronisme/Asynchronisme
Communication bloquante/non bloquante
Facilité de mise en œuvre
Réutilisation des outils existants (Langage…)
Utilisation de Protocoles spécifiques
Représentation de l’information (Continue/Discrète)

Q10 : Comment est assurée la synchronisation dans la communication par message ? (0.5 pt)
1. Des primitives de connexion et d’acquittement

Q11 : Comment est assurée la synchronisation dans la communication par mémoire partagée ? (0.5 pt)
1. Les mécanismes classiques tels les sémaphores

Q12 : Dans la communication par évènements et notifications (publish/suscribe) la gestion des évènements par le
BROKER peut prendre plusieurs formes. Citez deux d’entre elles. (2 pts)

- Hub and spoke


- Snowflake
- Bus de Messages

2
Q13 : L’architecture matérielle des systèmes distribués MIMD (Multiples flux d'instructions et multiples flux de
données) est l’architecture la plus utilisée. Expliquer brièvement ? (1 pt)

L’architecture matérielle MIMD : C’est l'architecture parallèle la plus utilisée. La communication entre les
différents processeurs se fait soit par mémoire centrale partagée, soit par échange de messages.
Les multiprocesseurs (MIMD à mémoire partagée) échangent leurs données à la vitesse de la mémoire
partagée. Les multi-calculateurs (MIMD à mémoire distribuée) où chaque CPU a sa propre mémoire et
son propre système d'exploitation. Dans ce cas il y a nécessité d’un middleware pour la synchronisation et
la communication. Tous les systèmes distribués sont de type MIMD

Q14 : L'un des problèmes que l'on peut rencontrer dans un système distribué est la gestion de l'hétérogénéité. A quels
niveaux peut-on trouver de l’hétérogénéité ? Citer quelques solutions. (2 pts)

On peut trouver l’hétérogénéité à différents niveaux.


 Niveau des réseaux: réseaux de différents types.
 Niveau du matériel informatique: codage des données différent suivant les architectures.
 Niveau des systèmes d’exploitation: protocoles standards mais APIs différentes d’un OS à l’autre
 Niveau des langages de programmation: différences pour le codage des caractères ou les structures de
données
Solutions :
 Middleware: est une couche logicielle qui masque l’hétérogénéité des réseaux, matériels, systèmes
d’exploitation et langage de programmation, Exemple CORBA : Common Object Request Broker
Architecture ou Java RMI.
 Code mobile: Code qui peut être transmis d’un ordinateur à l’autre et exécuté à la destination
Exemple applets.
 Machine virtuelle: Une autre façon de faire en sorte que le code soit exécutable indépendamment du
matériel.
Partie3 (4 points) :

Une société veut concevoir un système qui consiste en plusieurs capteurs de gaz de monoxyde de carbone (pour
prévenir les accidents de chauffage), places dans différents endroits, et gérés à distance par un nœud central. Chaque
capteur envoie toutes les dix secondes la mesure de la qualité de l'air à un nœud central. Ce dernier affiche les valeurs
collectées dans un afficheur ou les met à disposition d'autres applications. En plus, il les enregistre dans une base de
données locale. On vous demande de d’envelopper l'application qui fait fonctionner ce système. Vous avez choisi de
considérer une architecture client/serveur pour la future application.

Q15 : Représentez cette architecture schématiquement. (Facultatif +1 pt)

Q16 : Qui va jouer le rôle du serveur et quel est le service offert ? (2 pts)

Il est à noter que plusieurs cas de figures peuvent se présenter. Les réponses suivantes sont valides en prenant
le nœud central comme l’un des serveurs.
Le nœud central et éventuellement un serveur de bases de données peuvent jouer le rôle de serveur.
Le service offert est l’affichage des mesures de la qualité de l’air (ou leur mise à disposition à d’autres
applications).

Q17 : Combien de tiers comporte votre application et lesquels ? (2 pts)

L’application peut comporter trois tiers qui sont le nœud central, le serveur de bases de données, et les
applications tierces. D’autres architectures peuvent évidemment être considérées.

Q18 : Vous avez choisi de développer l'application en utilisant les sockets. Quels sockets choisir, TCP ou UDP?
Pourquoi (facultatif)? (+2 pts)

Les deux modes, connectée (orienté connexion) et non connecté (sans connexion) peuvent être considérés.
Le premier sert à l’´échange de données telles que l’historique des mesures de CO, et le deuxième est utilisé
pour transmettre les mesures elles-mêmes.

Vous aimerez peut-être aussi