Académique Documents
Professionnel Documents
Culture Documents
Cours 1
Cours 1
1
Technologie + besoins
Les progrès technologiques évolution évolution
technologique des besoins
• Avant les années 80, les ordinateurs étaient banalisation et capillarité structure des entreprises et des
encombrants et chers (les systèmes centralisés) des réseaux de télécommunications organisations : communication
et partage (ex. Intranet)
performance des voies de
télécommunication accès universel à l’information (ex.
• A partir de la mi-80, deux nouveautés: (débit et fiabilité) Web)
rapport coût/performance des
– Microprocesseurs (moins chers et très rapide) stations informatique distribuée “grand
– LANs and WANs public”
convergence informatique et (ex. vidéo interactive)
téléphonie
• Les ordinateurs en réseaux non seulement
faisables, mais simples.
Applications distribuées
• Les machines sont autonomes Un système réparti est un système qui vous
empêche de travailler quand une machine dont
• Les utilisateurs ont l’impression d’utiliser vous n’avez jamais entendu parler tombe en
un seul système. panne.
2
Pourquoi des systèmes répartis ?
Définition (pour ce cours)
• Aspects économiques (rapport prix/performance)
• Un système distribué est un ensemble d’entités • Adaptation de la structure d’un système à celle des
autonomes de calcul (ordinateurs, PDA, applications (géographique ou fonctionnelle)
processeurs, processus, processus léger etc.) • Besoin d’intégration (applications existantes)
interconnectées et qui peuvent communiquer. • Besoin de communication et de partage
• Exemples: d’information
– réseau physique de machines • Réalisation de systèmes à haute disponibilité
– Un logiciel avec plusieurs processus sur une même • Partage de ressources (programmes, données,
machine. services)
• Réalisation de systèmes à grande capacité
d’évolution
3
– Réplication de ressources non visible
III/ Objectifs d’un système – Concurrence d’accès aux ressources non
•
distribué
Transparence (Masquer la répartition)
perceptible
(ex. accès à un même fichier ou une table dans une
– Uniformité des accès locaux et distants base de données: mécanisme de verrou ou de
La séparation physique entre machines et les transaction)
différences matériels/logiciels pour les accès sont
invisibles par l’utilisateur.
- Invisibilité du parallélisme offert par
l’environnement d’exécution
– Localisation des ressources non perceptible
(nom logique ex: URL http://www.labri.fr/ ) - Tolérance aux pannes permettant à un
– Migration des ressources possible sans utilisateur de ne pas s’interrompre (ou même se
interférence avec la localisation physique rendre compte) à cause d’une panne d’une
(ex. transférer un objet uniquement par son nom ressource
logique sans modification de ce nom et sans
modification de l’environnement d’un utilisateur)
4
• Tolérance aux pannes
– Pannes franches
– Pannes byzantines
– Détection de pannes (difficulté et même
impossibilité de détection pour certains
systèmes, suspicion de machines) e.g.
connexion par un navigateur à un serveur
distant qui répond pas !!
– Correction d’erreurs (de fichiers/messages
corrompus)
– Reprise sur pannes (techniques de
journalisation dans les BD)
(éventuellement système dégradé)
• Sécurité
– Confidentialité (authentification) IV/ Systèmes distribués vs
– Intégrité (protection contre les falsification et parallèles
les corruptions)
– Disponibilité (accès aux ressources) Systèmes Parallèles. Une machine multiprocesseurs avec un
environnement du type SIMD (tous les processeurs
e.g. commerce électronique, banque en ligne. exécutent le même programme et ont une vision uniforme
de l’état global du système).
Extensible à un réseau de machines asynchrones fortement
couplées
5
Caractéristiques du
V/ Interlogiciel (Middleware)
parallélisme/distribué
• Objectifs: optimiser les solutions d’un • Le middleware (intergiciel) est la couche
problème (e.g. calcul scientifique, calcul logicielle située entre les couches basses
matriciel, tri) (systèmes d'exploitation, protocoles de
• Calcul de complexité : temps et accès communication) et les applications dans un
mémoire (pas le temps de communication système informatique réparti (CORBA,
ou nombre de messages) EJB, COM, etc.).
• La topologie est généralement fixe (grille,
hypercube, grappes)
6
VI/ Où sont les problèmes ? • Nécessite de simplifier et maîtriser la
complexité des systèmes et des algorithmes
• Quel est le nombre d ’emails qui circulent sur distribués
Internet ? • Difficulté de l’algorithmique distribuée /
• Y ’a t-il un algorithme pour détecter la centralisé:
terminaison distribuée d ’une application ? – Pas de connaissance de l’état global
– Absence de temps universel (ou horloge globale)
• Comment modéliser et exprimer les
– Non déterminisme (lié souvent au problème du
algorithmes distribués ? Comment les prouver ? synchronisme)
• Comment les analyser, calculer leur complexité, – Et surtout pas de modèle « universel » et standard
les classifier etc…? pour l’algorithmique distribuée
• Pour écrire une appli. Distribuée, un système
distribue, il faut d ’abord un algorithme...
10H
on se voit à 12h 10h45
ok ok
11h:15
7
Représentation : abstraction Modélisation d ’un système distribué
un graphe • Système distribuée : graphe (non orienté,
connexe, simple)
• sommet : processus
• arête : canal de communication
• algorithme distribué local : algorithme qui
s’exécute sur chaque sommet (en utilisant
uniquement le contexte local)