Vous êtes sur la page 1sur 6

Université Larbi Ben M’hidi Oum El Bouaghi Le 08/01/2019

Faculté des Sciences Exactes et des


Sciences de la nature et de la vie
Département de Mathématiques et d’Informatique
Niveau : Master 2 Architectures Distribuées
Matière : Architectures Distribuées

Contrôle n°1

1. On parle souvent de processus indépendants et coopératifs : quelle est la différence qui


existe entre les deux types de processus ? quelles sont les raisons qui favorisent
l’existence d’un environnent de coopération ? Comment assure-t-on cette coopération ? (2
pts)
2. Quels sont les avantages des processus légers (thread) ? (1 pt)
3. Quelles sont les caractéristiques d’un système distribué ? Quels sont les défis d'un système
distribué. (8.5 pts)
4. On distingue trois niveaux différents dans une application client/serveur : détaillez la
fonction de chaque niveau. Comment intégrer ces trois niveaux dans une architecture 2-
tiers ? donnez les avantages et les inconvénients de cette architecture (2-tiers). (6.5 pts)
5. Quels sont les caractéristiques et les avantages d’un réseau pair à pair ? (2 pts)

Bon courage
Corrigé Type

1. On parle souvent de processus indépendants ou coopératifs : quelle est la différence qui


existe entre les deux types de processus ? quelles sont les raisons qui favorisent
l’existence d’un environnent de coopération ? Comment assure-t-on cette coopération ? (2
pts)

La différence qui existe est qu’un processus indépendant lors de son exécution n’affecte pas et
ne sera pas affecté par l’exécution des autres processus par contre un processus coopératif lors
de son exécution affecte et sera affecté par l’exécution des autres processus. Autrement dit
tout processus qui partage les données avec d’autres processus est un processus coopératif.
(0.5 pt)
Les raisons qui favorisent l’existence d’un environnement de coopération sont :
− Partage d’information. (0.25 pt)
− Accélération de calcul. (0.25 pt)
− Modularité. (0.25 pt)
− Commodité. (0.25 pt)
La coopération est assurée par un mécanisme de communication interprocessus qui sera
réalisé par :
− Mémoire partagée. (0.25 pt)
− Passage de message. (0.25 pt)

2. Quels sont les avantages des processus légers (thread) ? (1 pt)

− Réactivité : le processus continue son s'exécution même si certaines de ses parties sont
bloquées. (0.25 pt)
− Partage de ressources : les threads partagent les ressources du processus ce qui facilite la
coopération. (0.25 pt)
− Economie d’espace mémoire et de temps. (0.25 pt)
− Évolutivité (résistance au facteur d’échelle) : le processus peut bénéficier des avantages
des architectures multiprocesseurs. (0.25 pt)

3. Quelles sont les caractéristiques d’un système distribué ? Quelles sont les challenges d'un
système distribué. (8.5 pts)

Les caractéristiques d’un système distribué : (3 pts)


− Ensemble composé d’éléments reliés par un système de communication ; les éléments ont
des fonctions de :
 traitement (processeurs), (0.25 pt)
 stockage (mémoire), (0.25 pt)
 relation avec le monde extérieur (capteurs, actionneurs). (0.25 pt)
− Architecture :
 Plusieurs processeurs Pas d’horloges communes. (0.25 pt)
 Plusieurs mémoires Pas de mémoire partagée. (0.25 pt)
 Réseau d’interconnexion et de communication. (0.25 pt)
− Fonctionnement collaboratif : des traitements coopérants sur des données distribuées pour
réaliser une tâche commune.
 La coopération entre les processus correspond à la communication entre eux et la
synchronisation de leurs évolutions. (0.25 pt)
 La distribution peut concerner les données comme les traitements (tâches). (0.25 pt)
− Absence d’état global :
 Pas de référence spatiale commune à cause de l’absence (dans la majorité des cas)
d’une mémoire partagée. (0.25 pt)
 Pas de référence temporelle commune à cause de l’existence de plusieurs processeurs
ayant chacun sa propre horloge. (0.25 pt)
− Existence d’un réseau :
 Non géré par le système d’exploitation. (0.25 pt)
 Le comportement du système distribué dépend de l’état du réseau. (0.25 pt)

Les challenges d’un système distribué: (5.5 pts)


 Tolérance aux pannes :
− Un système distribué doit pouvoir tolérer la panne des machines :
 Une machine tombe en panne. (0.25 pt)
 Une machine envoie des informations erronées. (0.25 pt)
 Une machine n’est plus atteignable (problème réseau). (0.25 pt)
 Hétérogénéité
− Comment s’affranchir des différences matérielles et logicielles des ressources du
système ?
− L’hétérogénéité peut provenir :
 Des machines utilisées (puissances de calcul, architectures matérielles, etc.).
(0.25 pt)
 Des types de représentation des données en mémoire (big et little Indian,
représentation des flottants ‘norme IEEE 128 et 64 bits’, entiers complémentés
à 1 et 2). (0.25 pt)
 Des divers systèmes d'exploitation tournant sur ces machines (Unix, Windows,
MacOs) (0.25 pt)
 Des langages de programmation différents. (0.25 pt)
 Des réseaux utilisés (réseaux de fibre optique, réseaux sans fil, la taille et
structure des trames, etc.). (0.25 pt)
 Sécurité
− La nature d'un système distribué fait qu'il est beaucoup plus sujet à des attaques :
− Les communications à travers le réseau peuvent être interceptées.
− On ne connaît pas toujours le partenaire distant avec qui on communique.
− Solutions :
 Confidentialité : éviter de divulguer le contenu d’un message par une tierce
partie (par le chiffrement des messages circulant à travers le réseau). (0.25 pt)
 Intégrité : éviter la corruption du contenu d’un message par une tierce partie
(par l’utilisation des fonctions de hachage). (0.25 pt)
− Authentification : sécuriser les connexions par l’authentification des
partenaires distants :
+ Identification des applications partenaires (par exemple par des mots de
passe). (0.25 pt)
+ Non-répudiation (s'assurer qu’un contrat signé via internet, ne peut être
remis en cause par l’une des parties) (signature électronique). (0.25 pt)
 Ouverture (openness)
− Un système distribué ouvert est essentiellement un système qui offre des
composants qui peuvent être facilement utilisés ou intégrés dans d'autres systèmes,
tout en étant lui-même souvent composé de composants issus d'ailleurs. (0.25 pt)
− Ouverture signifie que les composants doivent respecter les règles standards qui
décrivent la syntaxe et la sémantique de ce que ces composants ont à offrir (c'est-à-
dire, quels services ils fournissent). (025 pt)
 Evolutivité (scalability)
− Evolutivité ‘résister au facteur d’échelle’ signifie la capacité d’évolution d’un
système en fonction des besoins émergents, celle-ci peut être mesurée au moins
selon trois dimensions :
 Taille : un système peut être évolutif par rapport à sa taille, cela signifie que
nous pouvons facilement ajouter plus d'utilisateurs et de ressources au système
sans perte notable de performance. (0.25 pt)
 Géographie : un système est géographiquement évolutif est un système dans
lequel les utilisateurs et les ressources peuvent être éloignés, mais les latences
de communication peuvent à peine être remarquées. (0.25 pt)
 Administratif : un système est administrativement évolutif est un système qui
peut être facilement géré, même s'il s'étend sur plusieurs organisations
administratives indépendantes. (0.25 pt)
− Avoir un système résistant au facteur d’échelle :
 Le système demeure performant lors de l’augmentation du nombre
d’utilisateurs et de ressources gérées. (0.25 pt)
 Ce qui marche pour un utilisateur, marchera-t-il pour des milliers (voire des
millions) ? (0.25 pt)
 Le coût de l’augmentation est proportionnel au nombre d’utilisateurs ou
ressources ajoutés. (0.25 pt)
 Le maintien de bonnes performances ou une baisse raisonnable. (0.25 pt)
Transparence
− Un bon système distribué est un système qui a l’air d’être central (0.25 pt)

4. On distingue trois niveaux différents dans une application client/serveur : détaillez la


fonction de chaque niveau. Comment intégrer ces trois niveaux dans une architecture 2-
tiers ? donnez les avantages et les inconvénients de cette architecture. (6.5 pts)
 On distingue trois niveaux différents dans une application client/serveur : (2.25 pts)
− Niveau interface utilisateur (Présentation):
− La présentation est la partie la plus immédiatement visible pour l'utilisateur.
Elle a donc une importance primordiale pour rendre attrayante l'utilisation de
l'informatique. (0.25 pt)
− Partie d’une application client/serveur qui implémente l’interface utilisateur.
(0.25 pt)
− Ce niveau gère l’interaction de l’utilisateur avec l’application (formule les
requêtes, affichage textuel ou graphique, entrée de données, validation, etc.).
(0.25 pt)
− Niveau gestion de données :
− Partie de l’application correspondant au stockage et à l’accès aux données qui
sont destinées à être conservées ou consultées. (0.25 pt)
− Le niveau de données est matérialisé par (des fichiers, bases de données). (0.25
pt)
− Cas général les données sont du coté serveur. (0.25 pt)
− Niveau traitement (logique métier) :
− Traitements propres à l’application client/serveur (exemple : recherche, gestion
de stock, gestion de la paie, gestion des états, etc.). (0.25 pt)
− La logique applicative est la réalisation informatique du mode de
fonctionnement de l'entreprise. (0.25 pt)
− Cette logique constitue les traitements nécessaires sur l'information afin de la
rendre exploitable par chaque utilisateur. (0.25 pt)

Ces trois niveaux sont représentés dans l’architecture 2-tiers de la manière suivante : (2 pts)
− Client/serveur de présentation : (0.25 pt)
− Type 1 (Présentation distribuée) : (0.25 pt)
− Type 2 (Présentation distante) : (0.25 pt)
− Client/serveur de Traitements : (0.25 pt)
− Type 3 (traitement distribué) : (0.25 pt)
− Client/serveur de données : (0.25 pt)
− Type 4 (gestion distante de données) : (0.25 pt)
− Type 5 (Bases de données distribuées) : (0.25 pt)

Avantages et inconvénients de l’architecture 2-tiers : (2.25 pts)


− Avantages :
− Utilisation d’une interface utilisateur riche. (0.25 pt)
− Appropriation des applications par l'utilisateur. (0.25 pt)
− Introduction de la notion d'interopérabilité. (0.25 pt)
− Inconvénients :
− Le poste client supporte la charge de la grande majorité des traitements applicatifs.
(0.25 pt)
− Le poste client est fortement sollicité, il devient de plus en plus complexe et doit être
mis à jour régulièrement pour répondre aux besoins des utilisateurs. (0.25 pt)
− La conversation entre client et serveur est assez bruyante et s'adapte mal à des bandes
passantes étroites. De ce fait, ce type d'application est souvent cantonné au réseau
local de l'entreprise. (0.25 pt)
− Les applications se prêtent assez mal aux fortes montées en charge car il est difficile
de modifier l'architecture initiale. (0.25 pt)
− La relation étroite qui existe entre le programme client et l'organisation de la partie
serveur complique les évolutions de cette dernière. (0.25 pt)
− Ce type d'architecture est grandement rigidifié par les coûts et la complexité de sa
maintenance. (0.25 pt)

5. Quels sont les caractéristiques et les avantages d’un réseau pair à pair ? (2 pts)
 Un réseau P2P se caractérise par : (0.75 pt)
− Les pairs sont autonomes : pas d’autorité administrative. (0.25 pt)
− Le réseau est dynamique : une volatilité importante des pairs
(apparition/disparition imprévisible des pairs dans le réseau). (0.25 pt)
− Une collaboration directe entre les pairs : non à travers de serveurs bien connus.
(0.25 pt)
 Avantages des Pairs à Pairs : (1.25 pt)
− Répartition de la charge : les échanges sont gérés directement par les pairs, ce qui
élimine un des principaux problèmes des architectures clients/serveurs (le
problème de congestion des réseaux autour d’un serveur central devant répondre à
de très nombreuses demandes). (0.25 pt)
− Capacité de stockage : chaque pair ne possède qu’une partie des données du
réseau, qu’il partage avec les autres pairs (la capacité de stockage est ainsi
infiniment supérieure à celle d’un serveur traditionnel). (0.25 pt)
− Puissance de calcul : pour les utilisateurs moyens, chaque ordinateur utilise moins
de 20% de sa puissance de calcul. La technologie ‘pair à pair’ peut mutualiser cette
puissance non utilisée pour des recherches demandant des capacités considérable,
qu’un serveur isolé ne peut posséder. (0.25 pt)
− Résistance aux pannes : les données étant présentes sur de nombreux postes
différents, les pairs à pairs peuvent donc être utilisés pour effectuer facilement des
sauvegardes réparties à travers le réseau, évitant toutes pertes d’informations. (0.25
pt)
− Extensibilité : auto-configuration des pairs. Il est très facile de rajouter de
nouveaux pairs. Ceux-ci sont gérés dynamiquement. (0.25 pt)

Vous aimerez peut-être aussi