0% ont trouvé ce document utile (0 vote)
27 vues58 pages

Introduction aux systèmes répartis

Le document présente une introduction aux systèmes répartis, définissant ces systèmes comme des ensembles de machines autonomes interconnectées par un réseau sans mémoire partagée. Il aborde les avantages et inconvénients des systèmes répartis par rapport aux systèmes centralisés, ainsi que leurs applications variées dans des domaines tels que la robotique, les télécommunications et l'intelligence artificielle. Enfin, il souligne les caractéristiques des applications réparties, notamment la nécessité de transparence et d'abstraction dans leur conception.

Transféré par

Oumarou Saley Ibrahim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
27 vues58 pages

Introduction aux systèmes répartis

Le document présente une introduction aux systèmes répartis, définissant ces systèmes comme des ensembles de machines autonomes interconnectées par un réseau sans mémoire partagée. Il aborde les avantages et inconvénients des systèmes répartis par rapport aux systèmes centralisés, ainsi que leurs applications variées dans des domaines tels que la robotique, les télécommunications et l'intelligence artificielle. Enfin, il souligne les caractéristiques des applications réparties, notamment la nécessité de transparence et d'abstraction dans leur conception.

Transféré par

Oumarou Saley Ibrahim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

“ Chapitre 1

Introduction aux applications


réparties

M1 EMIG Genie Logiciel


Introduction
Systèmes répartis ?

Ø Un système réparti est un ensemble de composants


matériels (ordinateurs, capteurs, caméras, ….)
interconnecté entre eux par un réseau de communication
(qui communiquent entre eux via un réseau)

Ø Les différents composants ne se partagent pas une


mémoire centrale (pas de mémoire partagée).

2 September 24, 2024


Introduction
Système répartis ?
Ø Ensemble composé d’éléments reliés par un système de
communication ;

Les éléments ont des fonctions:

Ø de traitement (processeurs)
Ø de stockage (mémoire)
Ø et de relation avec le monde extérieur (capteurs, actionneurs,
périphériques..)

3 September 24, 2024


Introduction
Système répartis ?
Autres définition
Ø Tanenbaum (2012) : a défini un système réparti comme un système qui
s'exécute sur un ensemble de machines sans mémoire partagée, mais
l'utilisateur les voit comme une seule et unique machine.

Ø Coulouris et al(2012: un système réparti est défini comme étant un


ensemble de sites(machines) autonomes connectés par un réseau de
communication, et équipés d'un logiciel dédié à la coordination des
activités du système ainsi qu'au partage de ressources.

4 September 24, 2024


Introduction

Système centralisé ?

Un système informatique centralisé est un système dans lequel tous les


calculs sont effectués par un seul ordinateur, au même endroit.

Ø Tout est localisé sur la même machine et accessible par le programme


Ø L’exécution s’effectue sur une seule machine
Ø Accès local aux ressources (données, code, périphériques, mémoire...)

5 September 24, 2024


Introduction
Architecture centralisée et architecture répartie

6 September 24, 2024


Introduction

Architecture centralisée et architecture répartie

7 September 24, 2024


Introduction

En conclusion

Ø Système réparti: est un système composé de plusieurs


machines autonomes qui communiquent à
l'intermédiaire d'un réseau quelconque (filaire ou sans
fil), par l'échange de messages.

8 September 24, 2024


Pourquoi un systéme reparti ?

• Aspects économiques (rapport prix/performance)


• Adaptation de la structure d’un système à celle des applications
(géographique ou fonctionnelle)
• Besoin d’intégration (applications existantes)
• Besoin de communication et de partage d’information
• Réalisation de systèmes à haute disponibilité
• Partage de ressources (programmes, données, services)
• Réalisation de systèmes à grande capacité d’évolution

9 September 24, 2024


Pourquoi un systéme reparti ?

Systéme centralisé Systéme réparti


Un seul OS Differents OS
Espace mémoire partagé Mémoire individuelles
Pas de reseau Reseau, firewall

Service local Retrouvé le service ? Qui le propose ?


Un seul langage de programmation Differents langage
Les users travaillent sur une seule machine Les users ont l’impression de travailler sur une seule
machine: Transparence

10 September 24, 2024


Objectifs de la répartition

Très variés

§ Partage de ressources
§ Tolérance aux fautes (disponibilité, fiabilité...)
§ Plus de capacités de stockage
§ Plus de capacités de traitement
§ Répartition géographique de l’environnement du système informatique
§ Extensibilité et développement incrémental
§ Flexibilité
§ Réduction des coûts

11 September 24, 2024


Domaines d’applications

Très diversifiés

ü – Calcul scientifique
ü – Simulation distribuée
ü – Multimédia
ü – Téléconférence
ü – Travail coopératif
ü – Installations industrielles
ü – Robotique
ü – Télécommunications
ü – Bourse, finance
ü – Réalité virtuelle
ü – Intelligence artificielle, Multi-agents – Jeux en réseaux

12 September 24, 2024


Domaines d’applications

Coordination d’activités

• Systèmes de workflow
• Systèmes à agents

13 September 24, 2024


Domaines d’applications

Communica)on et partage d’informa)on

Ø Collecticiels : pour le travail coopératif, les bibliothèques, musées et magasins virtuels sur
Internet,la presse et le commerce électronique, etc.
Ø Édition coopérative.
Ø Téléconférence.
Ø Ingénierie concourante.

14 September 24, 2024


Domaines d’applications

Applications temps réel

• Contrôle de procédés industriels


• Localisation de mobiles

Toutes les applications qui nécessitent des utilisateurs ou des données réparties

15 September 24, 2024


Avantages de la répartition

Ø Sécurité
Ø Accélération des calculs
Ø Transparence
Ø Flexibilité
Ø Fiabilité
Ø Accès distant
Ø Redondance

16 September 24, 2024


Avantages de la répartition

Sécurité

Les applications sont conçues selon une approche modulaire


permettant d'isoler les données, et donc protéger les accès.

17 September 24, 2024


Avantages de la répartition

Accélération des calculs

un calcul peut être découpé en sous calculs réalisables en même


temps (en parallèle), le système réparti permet alors de répartir les
calculs sur les différents processus afin de les exécuter
simultanément.

Lorsqu'un site est surchargé, certaines tâches peuvent être


déplacées ou allouées à un site moins chargé (la répartition des
charges).

18 September 24, 2024


Avantages de la répartition

Transparence

L'utilisation des ressources n'influe pas sur leurs états.

19 September 24, 2024


Avantages de la répartition

Flexibilité

L'ajout ou la suppression d'un site est une opération simple, et


n'influe pas sur le fonctionnement total du système.

20 September 24, 2024


Avantages de la répartition

Fiabilité

Un des buts des systèmes répartis est d'obtenir des systèmes plus
fiables que les monoprocesseurs.

Si une machine tombe en panne, une autre machine devrait prendre


la relève, cette situation entraîne généralement la duplication des
données partagées pour accroître la robustesse du système.

21 September 24, 2024


Avantages de la répartition

Accès distant

Un même service peut être utilisé par plusieurs sites, situés à des
endroits différents.

22 September 24, 2024


Avantages de la répartition

Redondance

Des systèmes redondants permettent de palier une faute matérielle,


où de choisir le service équivalent avec le temps de réponse le plus
court.

23 September 24, 2024


Inconvénients de la répartition

Les inconvénients des systèmes répartis sont des (pseudos) inconvénients,


Ce sont des problèmes concernant surtout la communication,

- L'absence d'une horloge globale


- La lenteur de la communication
- La perte des messages

24 September 24, 2024


Inconvénients de la répartition

L'absence d'une horloge globale

Chaque noeud possède sa propre horloge pour dater les événements qui lui sont locaux.

Par conséquent, si les horloges indépendantes de chaque noeud ne sont pas


parfaitement synchronisées, l'ordre des événements n'est pas déductible à partir des
datations locales.

Cette difficulté conduira à définir des datations logiques qui permettent de corriger ce
problème.

25 September 24, 2024


Inconvénients de la répartition

La lenteur de la communication

malgré le degré de fiabilité offert par les réseaux de communication, et les vitesses de
transmission qu'ils proposent(avec l'arrivée des fibres optiques), les réseaux restent relativement,
et on dit bien relativement lents par rapport à la vitesse de calcul sur les machines, ce qui implique
un grand temps d'attente dans le cas d'un travail coopératif entre les processus, et donc on obtient
une perte concernant la performance du système.

26 September 24, 2024


Inconvénients de la répartition

La perte des messages

parfois, les réseaux de communication ne sont pas fiables, quelques messages transportés par ces
réseaux peuvent être perdus, et donc on doit réémettre ces messages, les protocoles de détection,
de perte, et la génération des nouveaux messages reste jusqu' à maintenant un des domaines de
recherche dans les systèmes répartis

27 September 24, 2024


Autres Inconvénients des applications
reparties

v La gestion du système est totalement décentralisée et distribuée

v Une mise en œuvre plus délicate

v Les applications réparties sont plus difficiles à à concevoir, à programmer, à déployer et à administrer

v Les applications réparties imposent un mode de développement spécifique, et alourdissent le test et le


déploiement du logiciel.

v Problèmes réseaux: Si problème au niveau du réseau, le système peut tomber en panne.

v Problème serveur: En générale un serveur est central au fonctionnement du système. Si le serveur


plante, le système ne fonctionne pas.
28 September 24, 2024
Distinction entre “système” et
“application” ?

Système
Gestion des ressources communes et de l’infrastructure, lié de manière étroite au matériel sous-
jacent.
Ex: Système d’exploitation : gestion de chaque élément

29 September 24, 2024


Distinction entre “système” et
“application” ?

Application
Réponse à un problème spécifique, fourniture de services à ses utilisateurs (qui peuvent être
d’autres applications). Utilise les services généraux fournis par le système.

La distinction n’est pas toujours évidente, car certaines applications peuvent directement travailler à
bas niveau (au contact du matériel). Exemple : systèmes embarqués, réseaux de capteurs

30 September 24, 2024


Programmation “classique” vs. Informatique Répartie.

•Programma'on classique : En programma+on classique lorsque qu’un


programme a besoin d’un service, il appelle une fonc+on d’une librairie, une
méthode d’un objet, etc.

•Informa'que Répar'e
•Proposer des méthodes et ou+ls pour simplifier le développement d’applica+ons réseau Client-Serveur,
en essayant de s’abstraire de l’aspect “distant” : proposer une programma+on “naturelle”
• Pour les applica+ons “lourdes” :
• Décomposer les applica+ons en ensembles de services
• Ra+onaliser la répar++on des services pour limiter les échanges d’informa+ons

31 September 24, 2024


Applications réparties: Rappels
Applica'on informa'que
v Une application informatique est un programme exécutable sur une machine ou plusieurs machines qui
représente la logique de traitement des données manipulées.

• Elle s’exécute en mémoire vive au dessus d’un système d’exploitation


• Avant exécution, elle est stockée sur un support persistant
• L’application émet un résultat sou forme de données soit affichées, soit enregistrées sur un disque

v Un grand nombre d’applications ne s’exécutent pas intégralement sur un seul nœud de calcul. Il s’agit
d’applications reparties (distribuées).

v Application repartie = traitements coopérants sur des données reparties.


32 September 24, 2024
Application réparties

Une application informatique est dite répartie lorsqu'elle met en jeu des parties qui s'exécutent sur
plusieurs machines reliées par un système de communication.

Applications réparties : Ensemble de processus (d’objets, d’agents, d’acteurs) qui : Communiquent


entre eux via un réseau, Évoluent de manière cohérente, Remplissent une fonction identifiable, Ne
sont pas forcément interdépendants.

33 September 24, 2024


Application réparties

Une application répartie est composée de plusieurs entités s'exécutant indépendamment et en


parallèle sur un ensemble d'ordinateurs connectés en réseau pour répondre à un problème
spécifique en utilisant les services généraux fournis par le système.

Les applications réparties ne se résument pas à l’échange de données en réseau. Mais mettent
en œuvre réellement une coopération des programmes entre eux.

34 September 24, 2024


Exemples d’applications réparties

Exemple recherche sur le web: un navigateur Internet

Exemple: -Echange sur Internet : Système de réservation d’avion et d’hôtel,

Échange à l’intérieur des réseaux d’entreprise: outils de production industrielle

o Réseaux sociaux o Jeux en ligne o Systèmes de traitement de données

o Applica;ons IoT (Internet des objets) o Systèmes bancaires et financiers

35 September 24, 2024


Application réparties

1. Besoins
2. Caractéristiques

36 September 24, 2024


Application réparties: Besoins

La construction d’applications réparties met en évidence plusieurs besoins


généraux:

v Transparence: Ce terme s’applique à la propriété d’indépendance, par rapport à


la localisation physique, pour l’accès aux informations et aux services.

v Abstraction: Ce terme désigne la séparation entre interface d’accès à un service et


la réalisation de ce service. (assemblage des composantes)

v Récupération de l’existant : ajout des capacités d’accès à distance ou


d’intercommunication à des applications existantes.

37 September 24, 2024


Caracté r istiques des applications ré p arties

Ø Diversite ́des applications réparties!

Ø Il est possible de les analyser selon une grille commune, qui permet de mettre en évidence les
aspects communs et les différences :

1. Organisation de l’application,
2. Coordination,
3. Communications,
4. Génie logiciel des applications réparties,
5. Sécurité,
6. Disponibilité.

38 September 24, 2024


Caractéristiques des applications
réparties

1. Organisation de l’application

Elle concerne les interactions entre les entités qui composent une application, qui peuvent prendre des
différentes formes :

par exemples.

•Client-serveur. Serveurs coopérants(P2P).

•Objets partagés (actifs ou passifs). Agents(logiciel autonome)

39 September 24, 2024


Caractéristiques des applications
réparties

1. Organisation de l’application

Il n’existe pas de modèle d’organisation unique couvrant toutes les applications réparties, mais
une grande diversité de schémas. Néanmoins, un petit nombre de techniques de base, au
niveau du système, permettent de mettre ces schémas en œuvre.

40 September 24, 2024


Caractéristiques des applications
réparties

2. Coordination

v Ensemble des méthodes et outils qui permettent aux composants d’une application
d’interagir en respectant les règles fixées.

v Il recouvre donc des notions liées à la synchronisation et à la communication.

41 September 24, 2024


Caractéristiques des applications
réparties

3. Communications

Le bon fonctionnement des applications impose des contraintes sur les performances de
communications.

Ø Les flots discrets: ces contraintes peuvent porter sur le débit, le temps de latence (décalage de
temps entre un stimulus et une réaction), le taux de pertes.

Ø Les flots continus: la bonne restitution des médias transportés (audio et vidéo) impose des
contraintes temporelles supplémentaires.

Le respect de ces contraintes fait partie de la "qualité de service" imposée par certaines classes
d’applications.
42 September 24, 2024
Caractéristiques des applications
réparties

4. Génie logiciel des applications réparties.

Applications de taille et de complexité souvent élevées, les aspects de génie logiciel sont importants.

Deux points sont à noter plus spécialement :

o Dans beaucoup de cas la construction d’une application répartie impose de réutiliser du logiciel existant,
qu’il serait trop coûteux de récrire. Cette réutilisation n’avait généralement pas été prévue lors de l’écriture
initiale du logiciel.

o Les applications réparties doivent s’adapter à une grande variété d’environnements ou de conditions
d’utilisation (renouvellement des matériels, évolution des réseaux, variations de la charge ou de la quantité
de ressources disponibles). On voit ainsi apparaître une fonction d’administration d’applications, qui doit
permettre de répondre à ces contraintes, notamment par interaction entre l’application et l’infrastructure
43 September 24, 2024
d’exécution.
Caractéristiques des applications
réparties

5. Sécurité

o Confidentialité

o Authentification

44 September 24, 2024


Caractéristiques des applications
réparties

6. Disponibilité

La disponibilité des services est une qualité essentielle, aussi bien pour les applications grand public
(pour des raisons de confort) que pour les applications professionnelles (pour des raisons de
productivité).

Duplication des serveurs/des services etc.

45 September 24, 2024


Travaux Dirigés & Travaux Pratiques

Prérequis

Ø POO

Ø UML

Ø JAVA

46 September 24, 2024


“ Construction d’application répartie

OUMAROU SALEY Ibrahim M1 EMIG Genie Logiciel


“ Rappels

Application répartie

M1 EMIG Genie Logiciel


Qu’est ce qu’un environnement réparti ?

Un environnement pour faciliter la construction


d’applications réparties

49 September 24, 2024


Qu’est ce qu’une application répartie ?

Il s’agit d’une application découpée en plusieurs unités

Ø Chaque unité peut être placée sur une machine différente

Ø Chaque unité peut s’exécuter sur un système différent

Ø Chaque unité peut être programmée dans un langage différent

50 September 24, 2024


Pourquoi des applications réparties?

1. Besoins propres des applications :


Communication, coopération
Partage d’information, accès à des ressources distantes
Répartition intrinsèque des applications

2. Possibilités techniques :
• Coût et performances des machines et des communications
• Interconnexion généralisée
• Interpénétration Informatique-télécom-télévision :
Ø Les applications informatiques utilisent les technologies télécom
Ø Les réseaux de télécom sont des systèmes informatiques
Ø La télévision devient numérique et interactive

51 September 24, 2024


Conception d’application ré p artie

Problème Définir une application complexe mettant en jeu


plusieurs sites, plusieurs acteurs, plusieurs
applications.

Spécifier l’architecture logicielle globale avant toute


Solution implémentation et limiter les dimensions
technologiques.

52 September 24, 2024


Spécification de l’architecture globale

o Fonctions de l’application

o Répartition

o Dimension technologique

o Speć ification au niveau d’un site par le deć oupage en composant

o Spécification inter-site

53 September 24, 2024


Spécification de l’architecture globale

Fonctions de l’application

Identification des acteurs et leurs fonctions (cas d’utilisation UML)

54 September 24, 2024


Spécification de l’architecture globale

Répartition
Identification des sites et/ou types de site : Rôle de chaque site et les communications inter-sites

55 September 24, 2024


Spécification de l’architecture globale

Dimension technologique
Choisir quelle technologie utilisée (Entreprise Java Bean, .Net, etc...) en prenant en considération les
Critères d’interopérabilité et les performances ...

56 September 24, 2024


Spécification de l’architecture globale

Spécification au niveau d’un site par le découpage en composant


Types de composants (session, web, entité, ...), Quels composants visibles ? Quels composants internes ?
Comment accéder aux composants ?

57 September 24, 2024


Spécification de l’architecture globale

Spécification inter-site
Communication entre composants inter-sites, Comment accéder aux composants : Spécifier et introduire
un ou plusieurs serveurs de noms Décrire une procédure d’enregistrement des composants à ces serveurs

58 September 24, 2024

Vous aimerez peut-être aussi