Upload
others
View
29
Download
0
Embed Size (px)
Citation preview
Systèmes Répartis
Chapitre I :
Introduction GénéraleAmine DHRAIEF
1ère année Master Pro Data Science
21/09/2018 Systèmes Répartis 3
Historique
1945 → 1985
Les ordinateurs étaient volumineux et chers
La plupart des organisations avaient très
peu d’ordinateurs
21/09/2018 Systèmes Répartis 4
Historique
1972 HP 3000Prix de vente $95,000
Prix avec l’inflation $541,209
21/09/2018 Systèmes Répartis 5
Historique
1975 IBM 5100 Portable ComputerPrix de vente $8,975
Prix avec l’inflation $39,555
21/09/2018 Systèmes Répartis 6
Historique
1983 Apple LisaPrix de vente $9,995
Prix avec l’inflation $23,794
21/09/2018 Systèmes Répartis 8
Et en Tunisie … ?
1er ordinateur en 1968
System/370 Model 135
De $475,000 à $1,068,000.
21/09/2018 Systèmes Répartis 9
Historique
1985→ ….
Miniaturisation :Développement
de micro-processeurs très rapides
Les réseauxInterconnexion des machines
par des LAN/WAN
21/09/2018 Systèmes Répartis 12
Évolution des besoins● Personnels :
– Génération Y– Besoin d’être connecté– Gourmand en ressource
● Entreprise :– Accès à distance– Collaboration– Plus de ressources
21/09/2018 Systèmes Répartis 13
Évolution des besoins personnels ● Génération Y : L'ensemble des personnes nées entre 1980 et
l'an 2000– Digital natives : jeunes lors de l’introduction de massive de
l’informatique grand publique.
● Besoins d’être connecté : identité numérique, extériorisation de soi, ...
● Gourmand en ressources : Pentium I (1993) 60MHz / 32 bits → Intel Pentium Core I7 (2017) (Coffe Lake) 4.7GHz / 64 bits
21/09/2018 Systèmes Répartis 14
Convergence entre technologies
& besoins
Relier les ressources informatique
par des réseaux
21/09/2018 Systèmes Répartis 16
Classification des systèmes informatiques Taxonomie de Flynn, 1966
● SISD (unique flux d'instructions, unique flux de données)
– Système mono-processeur
– Aucun degré de parallélisme
● MISD (multiples flux d'instructions, unique flux de données)
– Une même donnée est traitée par plusieurs unités de calcul en parallèle
● SIMD (unique flux d'instructions, multiples flux de données)
– Processeur vectorielle
– Parallélisme au niveau de la mémoire
● MIMD (multiples flux d'instructions, multiples flux de données)
– Plusieurs unités de calcul traitent des données différentes
– L'architecture parallèle la plus utilisée
21/09/2018 Systèmes Répartis 17
Classification des systèmes informatiques Taxonomie de Flynn, 1966
MIMD Multiple Instructions multiple data
● MIMD à mémoire partagée (fortement couplées)– Les processeurs accèdent à une mémoire commun– Machines parallèles
● MIMD à mémoire distribuée (faiblement couplées)– Chaque processeur dispose de sa propre mémoire, et n'a
pas accès à celle d'autres processeurs
→ Systèmes Répartis/Distribués
21/09/2018 Systèmes Répartis 18
Définition d’un système répartisdéfinition de Maarten van Steen & Andrew S.
Tanenbaum
« A distributed system is a collection of autonomous computing elements that appears to its users as a single coherent system. » Distributed Systems, Maarten van Steen & Andrew S. Tanenbaum
21/09/2018 Systèmes Répartis 19
Définitions d’un système répartisRecueil de définitions de Ludwik Czaja
● « Some informal definitions of distributed system emphasising various features, dependently on different perspectives … may be expressed as follows:– collection of autonomous computers cooperating so that to reach a common aims;– multicomputer system, where all computers work over the same or similar
problem(s);– set of independent computers linked by a network and managed by a distributed
software, that offers various facilities to users;– a system of independent computers that makes a user’s impression of work on a
single computer; – a set of autonomous computers (possibly of diverse architecture) interconnected
by a network of transmission channels and equipped by distributed operating system;
– set of distributed processes and their hardware environment (computers, transmission channels, switches, routers, etc.). Each of these processes may be a set of sequential processes (termed sometimes as threads), acting concurrently on several or one procesor—in a time sharing mode; »
Ludwik Czaja, Introduction to Distributed Computer Systems Principles and Features.
21/09/2018 Systèmes Répartis 20
Définition d’un système répartisde Leslie B. Lamport
« A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.» Leslie B. Lamport, Email message sent to a DEC SRC bulletin board at 12:23:29 PDT on 28 May 87.
21/09/2018 Systèmes Répartis 22
Proposition de définition
● On peut définir un système répartis comme une ensemble de ressources informatique, indépendantes, de différent types, reliées par un réseau de communication.
● L’objectif d’un tel système est de collaborer afin de réaliser une tâche commune.
21/09/2018 Systèmes Répartis 23
Remarques concernant les définitions
● Les systèmes informatiques → sont AUTONOMES
● Les utilisateurs → pensent qu’ils sont face à un système informatique UNIQUE
● Aucunes hypothèses n’est faites sur– Le type d’équipement (capteurs → super-calculateur)– Comment ils sont interconnecté
21/09/2018 Systèmes Répartis 24
Application Répartie● Application :
– « Un ensemble d’entités logicielles qui permet à un ordinateur ou à un système informatique d’assurer une tâche ou une fonction particulière » Pierre Châtel, Université Paris VIII
● Application Réparties– Constituée d’entités logicielles,– exécutées dans des environnement d’exécution (pile+tas)
séparés (ne partage pas le même espace mémoire)– développées dans des langages de programmation différents– situées sur des plates-formes distribués connectés via un réseau,
21/09/2018 Systèmes Répartis 26
Objectifs d’un système réparti
I- Accès simple aux ressources
II- Transparence
III- Ouverture
IV- Scalabilité
21/09/2018 Systèmes Répartis 27
Objectif I :Rendre les ressources accessibles
● Permettre aux applications ainsi qu’aux utilisateurs un accès contrôlé aux ressources.
● Ressources : – ordinateurs, serveurs, périphériques de stockages, fichiers,
imprimantes, capteurs…
● Raisons : économiques !– Partager des ressources très coûteuses comme un
supercalculateur.
21/09/2018 Systèmes Répartis 28
Objectif II :Transparence
● Accéder aux objets (ressources & processus) comme s’ils étaient disponible localement (la même machine & le même OS.)
21/09/2018 Systèmes Répartis 29
Types de transparences
Distributed Systems, Maarten van Steen & Andrew S. Tanenbaum
21/09/2018 Systèmes Répartis 30
Access Transparency● Cacher les différences dans la représentation des
données (par exemple : big endian, little endian) :– Big Endian : mot de poids en fort en tête (TCP/IP)– Little Endian : mot de poids faible en tête (Intel)
● Cacher les différences dans les architectures des machines– Systèmes d’exploitations– Systèmes de fichiers, convention de nommage des fichiers– ...
21/09/2018 Systèmes Répartis 31
Location Transparency● Un utilisateur n’arrive pas à déterminer la localisation
physique d’une ressource.
● Mécanisme de nommage logique : la localisation n’est pas encodées dans le nom– Exemple de nommage transparent à la localisation
● URL: http://www.abc.com/index.html ● Adresse MAC : 68:17:29:a2:ef:ea
– Exemple de nommage non transparent à la localisation :● Adresse IP 193.95.66.10 (193.95.0.0/17 AS2609 Tunisia BackBone AS)● Numéro de telephone+216 71 602 919
21/09/2018 Systèmes Répartis 32
Migration/Relocation Transparency● Migration Transparency
– Les ressources peuvent être déplacées sans pour autant affecter l’accès à ces ressources
● Relocation Transparency– Les ressources peuvent être déplacées pendant
qu’elles sont utilisées sans que les utilisateurs ou les applications ne se rendent compte.
21/09/2018 Systèmes Répartis 33
Replication Transparency
● Dissimuler le fait que plusieurs copies d’une même ressource existe– Toutes les copies doivent avoir le même identifiant
→ Supporte de facto la location transparency
21/09/2018 Systèmes Répartis 34
Concurrency Transparency
● L’accès concurrent (simultané) à une ressource partagée ne modifie pas la stabilité de cette ressource– Exemple : accès concurrent à un système de
fichier. Un utilisateur supprime un fichier alors qu’un autre crée un autre.
21/09/2018 Systèmes Répartis 35
Failure Transparency
● Si une panne affecte une ressource, la récupération de la panne se fait d’une manière totalement transparente à l’utilisateur.
21/09/2018 Systèmes Répartis 36
Objectif III :Ouverture
● Un système distribué ouvert si :– Ses composants peuvent être utilisés ou
intégrés dans d’autres systèmes– Utilise des composants qui à la base proviennent
d’autres systèmes
21/09/2018 Systèmes Répartis 37
Interopérabilité, portabilité, extensibilité
● Pour qu’un système réparti soit ouvert, ses composants doivent suivre des règles standards qui décrivent la syntaxe et la sémantique des services offerts par ces composants.– Syntaxe d’un service : nom de la fonction, types des paramètres utilisés,
la valeur de retour de la fonction.– Sémantique d’un service : la tâche accomplie par le service en question.
● Les services sont définis à travers des interfaces.– Les interfaces sont décrites à travers une IDL (Interface Definition
Language)
21/09/2018 Systèmes Répartis 38
Interopérabilité, portabilité, extensibilité
● Ainsi spécifiée, la définition d’une interface permet à un processus quelconque qui a besoin d’une certaine interface de dialoguer avec un processus qui offre cette interface.
→ Deux processus complément indépendants dialoguent à travers ces interfaces.
● Les services doivent ainsi être– Interopérable– Portable– Extensible
21/09/2018 Systèmes Répartis 39
Interopérabilité, portabilité, extensibilité
● Interopérabilité : l’implémentation des systèmes ou composants d’origines différentes peuvent exister et coopérer ensemble
● Portablilité : une application développée pour un système distribué A peut être exécutée sans aucunes modifications sur un système distribué B qui implémente les mêmes interfaces que A.
● Extensibilité: on peut ajouter de nouveaux composants sans affecter les composants existants.
21/09/2018 Systèmes Répartis 40
Objectif IV : Scalabilité
scalabilité
taille
Géographique
Administrative
21/09/2018 Systèmes Répartis 41
Objectif IV : Scalabilité● Un système répartie est dit scalable si :
– on peut ajouter des utilisateur ou des ressources au système répartis sans l’affecter → scalable selon la taille.
– on peut augmenter les distances entres les utilisateurs et les ressources → géographiquement scalable.
– On peut le gérer simplement même s’il s’étend sur plusieurs domaines administratifs → administrativement scalable.
21/09/2018 Systèmes Répartis 43
Quelques pièges à éviter lors du développement d’une application répartie.
● De fausse hypothèses faites par la plupart des développeur :
1)Le réseau est fiable
2)Le réseau est sécurisé
3)Le réseau est homogène
4)La topologie du réseau ne change pas
5)La latence est nulle
6)La bande passante est infinie
7)Le coût du transport est nulle
8)Il n’y qu’un seul administrateur