44
Systèmes Répartis Chapitre I : Introduction Générale Amine DHRAIEF 1 ère année Master Pro Data Science

Chapitre I : Introduction Générale...Introduction Générale Amine DHRAIEF 1ère année Master Pro Data Science Contexte 21/09/2018 Systèmes Répartis 3 Historique 1945 → 1985

  • 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

Contexte

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 7

Et en Tunisie … ?● Source : Computerworld 17 Apr 1978

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 10

Loi de Moore

21/09/2018 Systèmes Répartis 11

Cumul de consommation des adresses IPv4

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 15

Définitions

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 21

Définition d’un système répartisde Leslie B. Lamport

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 25

Objectifs

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 42

Les pièges à éviter

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

21/09/2018 Systèmes Répartis 44

The End