0% ont trouvé ce document utile (0 vote)
178 vues47 pages

SysDist 01

Ce document présente un cours sur les systèmes distribués et le Big Data. Il décrit les objectifs, le contenu prévu et les terminologies clés du cours comme les architectures, modèles de communication, middleware et technologies Big Data.

Transféré par

Raja Bs
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)
178 vues47 pages

SysDist 01

Ce document présente un cours sur les systèmes distribués et le Big Data. Il décrit les objectifs, le contenu prévu et les terminologies clés du cours comme les architectures, modèles de communication, middleware et technologies Big Data.

Transféré par

Raja Bs
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

Systèmes Distribués et Big Data

Houda BENALI
houda_benali@[Link]
Institut supérieur des sciences appliquées et de technologie
de Mateur
A-U: 2021/2022
Objectifs du cours

Présenter les principes importants concernant les systèmes répartis


 Architecture

 Modèles de communication

 Middleware

Maîtriser la programmation d’applications réparties

MP-SSR2–ISSATM -2021/2022
 Système de fichiers

 Big Data et technologies en relation

 Études de cas

Systèmes Distribués et Big Data Houda Benali 1 1


Contenu du cours prévu
 Chapitre 1 : Introduction aux systèmes distribués
 Caractéristiques de Systèmes distribués
 Architecture des Systèmes distribués
 Modèles de communication
 Chapitre 2 : Middleware pour les systèmes distribués
 Appel de procédures à distance (RPC)
 Appel de méthodes à distance (RMI vs CORBA)
 Etude de cas : Concurrence en JAVA et JAVA-RMI

MP-SSR2–ISSATM -2021/2022
 Bus de communication DDS et modèle Producteur-Consommateur
 Etude de cas : Middleware DDS et JMS
 The Web as a Platform
 Etude de cas : REST JAX-RS.

Systèmes Distribués et Big Data Houda Benali 2 2


Contenu du cours prévu
 Chapitre 3 : Système de gestion de fichiers distribué
 Rappel : SGF classique
 SGFR :
 Objetctifs
 Défis
 Classification
 Etude de cas : NFS et XtreemFS

 Chapitre 4 : Introduction au Big Data

MP-SSR2–ISSATM -2021/2022
 Rappel sur les bases de données et les entrepôts de données
 Définition et taxonomie
 Le marché et les enjeux
 Rôle et Valeur ajoutée dans l‘entreprise

Systèmes Distribués et Big Data Houda Benali 3 3


Contenu du cours prévu
 Chapitre 5: Ecosystème Hadoop et MapReduce
 Hadoop File System (HDFS)
 Principe et algorithmes du MapReduce
 Hadoop et MapReduce
 YARN et MapReduce

 Chapitre 6: Interrogation de Big Data avec Hive et sciences de


données

MP-SSR2–ISSATM -2021/2022
 Transition de SQL à HiveQL
 Analyse de données distribuées et Machine Learning
 Étude de cas : Hadoop et MapReduce

Systèmes Distribués et Big Data Houda Benali 4 4


1
Terminologies
 Systèmes vs. Applications?
 Système: gestion des ressources communes et de l’infrastructure, lié de manière
étroite au matériel sous-jacent
 Système d’exploitation : gestion de chaque élément

 Système de communication : échange d’information entre les éléments


 cachent la complexité du matériel et des communications, fournissent des services communs de
plus haut niveau d’abstraction

MP-SSR2–ISSATM -2021/2022
 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

Systèmes Distribués et Big Data Houda Benali 7 7


Terminologies
 Service et interface
 Un service est « un comportement défini par contrat, qui peut être implémenté et
fourni par un composant pour être utilisé par un autre composant, sur la base
exclusive du contrat »

 Mise en œuvre

 Un service est accessible via une ou plusieurs interfaces

MP-SSR2–ISSATM -2021/2022
 Une interface décrit l’interaction entre client et fournisseur du service

 Point de vue opérationnel : définition des opérations et structures de données qui concourent à la
réalisation du service

 Point de vue contractuel : définition du contrat entre client et fournisseur

Systèmes Distribués et Big Data Houda Benali 8 8


Terminologies
 Service et interface

 La fourniture d'un service met en jeu deux interfaces


 Interface requise (coté client)
 Interface fournie (coté fournisseur )

MP-SSR2–ISSATM -2021/2022
 Le contrat spécifie la conformité entre ces deux interfaces
 Au delà de l'interface, chaque partie est une "boîte noire" pour l'autre (principe
d'encapsulation)
 Conséquence : client ou fournisseur peuvent être remplacés du moment que le composant
remplaçant respecte le contrat (est conforme)

Systèmes Distribués et Big Data Houda Benali 9 9


Terminologies
 Interfaces et Protocoles
 L’exemple d’une requête sur le web permet d’identifier divers “niveaux” d’échange
entre le client et le serveur
 Niveau de l’application: le client clique sur un lien, le serveur renvoie une page web
 Niveau des messages: le client envoie un message contenant une URL, le serveur renvoie un
message contenant un fichier HTML
 Niveau des paquets: le message du client est fragmenté en paquets, les différents routeurs les
acheminent vers le serveur (idem pour le retour)
 Niveau de la transmission physique: pour envoyer les trame, chaque bit (0 ou 1) est

MP-SSR2–ISSATM -2021/2022
transmis comme un signal électrique sur la ligne
 Chaque niveau offre un service au niveau supérieur
 Les notions de protocoles et d’interfaces visent à représenter ce mode de
fonctionnement
Analogie: deux personne peuvent dialoguer même si elles ne parlent pas la même
langue (via un interprète)
Systèmes Distribués et Big Data Houda Benali 1010
Terminologies
 Interfaces et Protocoles
 Définition de Protocole: ensemble de conventions définissant les échanges entre
des entités qui coopèrent pour réaliser un service
 Relation entre protocoles et interfaces
 Une interface définit l’accès à un service, un protocole définit la réalisation d’un service.
 Protocoles en couches:
 La construction d’un protocole utilise souvent des protocoles de niveau inférieur (plus
élémentaires), en accédant à leurs interfaces.

MP-SSR2–ISSATM -2021/2022
 Exemple de protocole: protocole d’internet: TCP/IP

Systèmes Distribués et Big Data Houda Benali 1111


Motivations
 La répartition est un état de fait pour un nombre important d’applications
 Développement des réseaux (Internet, réseaux sans fil)

 Intégration d’applications existantes initialement séparées

 Pénétration de l’informatique dans des nouveaux domaines d’application


 Intégration d'objets du monde réel (informatique omniprésente (ubiquitous computing), IoT)

 Intégration entre informatique et télécommunications

 L'informatique dans les nuages (cloud computing) : l'accès pour tous aux ressources/services informatiques

MP-SSR2–ISSATM -2021/2022
 Le parallélisme est la réponse aux besoins croissants des applications
 Puissance de traitement

 Gestion de grandes masses de données (Big Data)

 Intégration et mise en commun de ressources

Systèmes Distribués et Big Data Houda Benali 1212


Historique
 Classification des systèmes informatiques (Flynn, 1992)
 Systèmes monoprocesseur dits SISD (une Seule Instruction manipulant une Seule Donnée)

 Machines dites vectorielles SIMD (une Seule Instruction qui porte sur des Données

multiples) : Machine Cray

 Machines dites pipe-line MISD (plusieurs Instructions manipulant une Seule Donnée)

 Les machines MIMD (Multiples Instructions qui porte sur des Données multiples) : deux

MP-SSR2–ISSATM -2021/2022
classes de systèmes multiprocesseurs

 Fortement couplés (machines parallèles)

 Faiblement couplés (systèmes répartis)

Systèmes Distribués et Big Data Houda Benali 1313


Qu’est ce qu’un Système Réparti ?

 Définition:
 Collection de machines autonomes (UCi, MCi, disques)

 Faiblement couplées (c-à-d pas de partage de mémoire– chaque


machine dispose de sa propre mémoire locale).

MP-SSR2–ISSATM -2021/2022
 Interconnectées au moyen d’un réseau.

 Coopération par échanges de messages.

Systèmes Distribués et Big Data Houda Benali 1414


Qu’est ce qu’un Système Réparti ?
Un système réparti fait apparaître un ensemble de machines indépendantes
comme une machine unique (virtuelle incluant toutes les ressources)
Transparence

Vue Physique Vue logique


(Sites + Réseau) (Une seule machine)

MP-SSR2–ISSATM -2021/2022
Systèmes Distribués et Big Data Houda Benali 1515
Qu’est ce qu’un Système Réparti ?
 Un ensemble de ressources informatiques
 Autonomes : peuvent travailler seul ou en collaboration

 Indépendants: pas besoins d’informations provenant d’autres ressources

 De différents types : des ordinateurs, des smart phones, des tablettes, des capteurs…

 Reliées par un réseau de communication

 Objectif : collaboration pour réaliser une tâche commune

MP-SSR2–ISSATM -2021/2022
 Caractéristiques: aucun partage de
 Mémoire
 D’horloge
 Impossible d’avoir un état global instantané

Systèmes Distribués et Big Data Houda Benali 1616


Les Systèmes Répartis -Nouveaux Problèmes
 Du centralisé vers le réparti...

MP-SSR2–ISSATM -2021/2022
 Nouveaux problèmes !!!
 Localisation/nommage, interopérabilité, communication, ...

Systèmes Distribués et Big Data Houda Benali 1818


État du système et datation des événements
 En l'absence d’une mémoire commune et d’une référence de temps
commune, la définition d'un ordre global pour les événements d'un
système réparti repose sur des mécanismes de datation logique
(horloges logiques) pour :
 définir la notion d'état d'un système réparti

 réaliser des mécanismes pour l'observation de cet état

MP-SSR2–ISSATM -2021/2022
 définir les notions liées à la cohérence d'informations réparties, en vue de la gestion
globale de ces informations (conservation d'informations dupliquées, gestion de
caches multiples, etc.).

Systèmes Distribués et Big Data Houda Benali 1919


Désignation
 Des problèmes spécifiques :
 la grande taille de l'espace des noms

 l'évolution permanente de l'ensemble des objets désignés et de leur


localisation

 Solution :

MP-SSR2–ISSATM -2021/2022
 l'usage de caches et d'indicateurs, qui permettent de maintenir une
désignation indépendante de la localisation physique tout en permettant
une recherche efficace

Systèmes Distribués et Big Data Houda Benali 2020


Communications et exécution répartie
 En utilisant les outils primitifs fournis par la communication par
message, des fonctions de communication de plus haut niveau ont été
définies :
 appel de procédure à distance

 gestion répartie d'objets

MP-SSR2–ISSATM -2021/2022
 agents mobiles communicants

Systèmes Distribués et Big Data Houda Benali 2121


Sécurité et protection
 La sécurité d'un système réparti vise à garantir :
 le maintien de la confidentialité et de l'intégrité de l'information

 le respect des règles d'accès aux services.

 Les méthodes utilisées reposent sur


 l'usage de barrières de protection (matérielles et logicielles, comme les "pare-feu"

MP-SSR2–ISSATM -2021/2022
("firewalls"), ou purement logicielles, comme les domaines de protection)

 des protocoles d'authentification utilisant la cryptographie.

Systèmes Distribués et Big Data Houda Benali 2222


Transparence
 Propriété d'indépendance, par rapport à la localisation physique, pour l'accès aux
informations et aux services.
 Plusieurs formes de transparence (ISO 1995)
 d’accès: cacher la différence des représentations des données et comment une ressource est accédée
 de localisation: cacher l’endroit où une ressource est localisée
 de migration: cacher qu’une ressource peut bouger vers une autre localisation
 de relocalisation: cacher qu’une ressource peut bouger vers une autre localisation pendant son
utilisation
 de réplication: cacher qu’une ressource est répliquée

MP-SSR2–ISSATM -2021/2022
 de concurrence: cacher qu’une ressource peut être partagée par plusieurs utilisateurs compétitifs
 de panne (Fault tolerance): cacher une panne et un recouvrement d’une ressource
 de persistance (Persistency): cacher qu’une ressource (logicielle) est dans une mémoire volatile ou
sur disque
 Les transparences à l’accès et à la localisation sont les plus appliquées
Systèmes Distribués et Big Data Houda Benali 2424
Abstraction
 Séparation entre interface d'accès à un service et la réalisation de ce service.
 Les interfaces sont souvent écrites en IDL (Interface Definition Language)

 Permet d’avoir:
 une ouverture du système

 une flexibilité (facile à configurer)

 une extensibilité (facile à modifier)

MP-SSR2–ISSATM -2021/2022
 une interopérabilité: deux composants ou deux implémentations différentes d’un même
système de deux constructeurs différents peuvent coexister et travailler ensemble
 une portabilité: une application peut être exécutée dans deux systèmes distribués
différents et ce sans modification
Systèmes Distribués et Big Data Houda Benali 2525
Capacité d’évolution, ou d’extension (scalability)
 Objectif: faire face à l'évolution des besoins, aux modifications de
l'environnement (systèmes, outils, infrastructure de communications), et à la
croissance de la demande.
 Cette évolution doit se faire de manière continue et sans interruption du
service
 La scalabilité est mesurée selon au moins 3 dimensions:

MP-SSR2–ISSATM -2021/2022
 Selon la taille: nombre de ressources et d’utilisateurs

 De manière géographique: distance entre les ressources

 De manière administrative: nombre d’administrateurs

Systèmes Distribués et Big Data Houda Benali 2626


Taxonomie des Systèmes distribués
 une classification des systèmes distribués en des catégories pour :
 Faciliter leur compréhension

 Faciliter leur étude

 Taxonomie à trois niveaux


 Niveau matériel

MP-SSR2–ISSATM -2021/2022
 Niveau système d’exploitation

 Niveau application

Systèmes Distribués et Big Data Houda Benali 2828


Taxonomie des Systèmes distribués : Niveau matériel
⁃ D’un point de vue très abstrait,
un ordinateur est composé de
deux entités :
 Mémoire
 Processeur
⁃ Classification
 Systèmes multiprocesseurs
basés bus
 Systèmes multiprocesseurs
basés switch
 Systèmes à mémoires

MP-SSR2–ISSATM -2021/2022
locales (multiordinateurs)
basés bus
 Systèmes à mémoires
locales (multiordinateurs)
basés switch

Systèmes Distribués et Big Data Houda Benali 2929


Taxonomie des Systèmes distribués : Niveau SE
 Deux catégories :
 Les systèmes fortement couplés

 maintenir une vue globale unique des ressources qu’il gèrent

 rendre la répartition physique transparente au niveau des applications

 les systèmes faiblement couplés

MP-SSR2–ISSATM -2021/2022
 une collection de plateformes où chacune dispose de son propre système d’exploitation

 Les systèmes d’exploitation coopèrent pour rendre leurs services et leurs ressources

disponibles les uns aux autres

Systèmes Distribués et Big Data Houda Benali 3030


Taxonomie des Systèmes distribués : Niveau SE

 Trois types :
 Les systèmes d’exploitation multiprocesseurs

 Les systèmes d’exploitation distribués (SED)

 Les systèmes d’exploitation réseaux (SER)

MP-SSR2–ISSATM -2021/2022
Systèmes Distribués et Big Data Houda Benali 3131
Taxonomie des Systèmes distribués : Niveau SE
 Les systèmes d’exploitation multiprocesseurs : Principe
 Tous les programmes sont stockés dans la mémoire partagée

 Une file d’attente unique des processus exécutable se trouve dans la mémoire
partagée

 L'ordonnanceur travaille en section critique pour éviter que deux processeurs ne

MP-SSR2–ISSATM -2021/2022
choisissent le même processus à exécuter.

Systèmes Distribués et Big Data Houda Benali 3232


Taxonomie des Systèmes distribués : Niveau SE
 SED : Principe

MP-SSR2–ISSATM -2021/2022
Systèmes Distribués et Big Data Houda Benali 3333
Taxonomie des Systèmes distribués : Niveau SE
 SED : Principe
 Architecture matérielle multi-ordinateurs
 Chaque nœud du réseau possède un système d’exploitation qui permet de gérer les
ressources locales : mémoire, processeur, disque, …
 Sur chaque noyau on greffe une couche commune qui implémente une machine
virtuelle capable d’exécuter des tâches parallèles et concurrentes.
 Cette couche peut faire apparaitre tout le système d’ordinateurs comme une machine

MP-SSR2–ISSATM -2021/2022
multiprocesseur en implémentant une mémoire partagée. Elle permet de :
 affecter une tâche à un processeur,
 masquer les pannes matérielles,
 assurer la transparence à la localisation et la communication interprocessus.

Systèmes Distribués et Big Data Houda Benali 3434


Taxonomie des Systèmes distribués : Niveau SE
 SED : Caractéristiques
 possède un mécanisme de communication interprocessus unique et global
 permet le dialogue entre deux processus quelconques
 possède un système de protection unique et global
 possède un mécanisme de gestion de processus unique
 possède un noyau de système d’exploitation identique implanté sur toutes les

MP-SSR2–ISSATM -2021/2022
machines
 possède un mécanisme de gestion de mémoire identique

Systèmes Distribués et Big Data Houda Benali 3535


Taxonomie des Systèmes distribués : Niveau SE
 SER : Principe
 Il s’agit de réseaux où chaque nœud est une plateforme matérielle différente sur

laquelle s’exécute un système d’exploitation différent.


 Pour Systèmes faiblement couplés (Loosely coupled systems) et Architecture

matérielle multi-ordinateurs

MP-SSR2–ISSATM -2021/2022
Systèmes Distribués et Big Data Houda Benali 3636
Taxonomie des Systèmes distribués : Niveau SE
 SER : Caractéristiques
 Un SER (au contraire d’un SED) assume que le matériel de base n’est pas homogène et
n’exige pas être géré comme un seul système
 Le SER manipule un groupe de systèmes monoprocesseur connectés par réseau, chacun a
son propre SE et un ensemble de services (une couche) qui implémentent les fonctions du
SER
 Utilisateur doit connaître l’emplacement des ressources sur les machines distantes

MP-SSR2–ISSATM -2021/2022
 Accès aux ressources d’une autre machine se fait par le biais d’un accès distant (remote
login)
 Utilisateurs gèrent leur fichiers et leurs emplacements et gèrent les transferts de
fichiers par eux mêmes

Systèmes Distribués et Big Data Houda Benali 3737


Taxonomie des Systèmes distribués : Niveau SE
 Systèmes distribués et SEs
 Rappel : Système Distribué (SD) : une collection d’ordinateurs indépendants qui

apparaît à ses utilisateurs comme un seul système cohérent


 Ni SED et ni SER sont qualifiés pour réaliser un SD
 Un SED n’est pas censé manipuler une collection d’ordinateurs indépendants, et
 Un SER ne fournit pas une vue d’un système unique (single system view)

MP-SSR2–ISSATM -2021/2022
 Est-il possible de développer un SE qui joint le meilleur des deux mondes ?
 On exige un système qui possède:
 La possibilité d’extension (scalability) et ouverture (openness) des SER, et
 La transparence et facilité d’utilisation des SED
 Besoin d’une couche intermédiaire : MIDDLEWARE utilisée dans les SERs

Systèmes Distribués et Big Data Houda Benali 3838


Taxonomie des Systèmes distribués : Niveau SE
 Notion d’intergiciel (Middleware) : motivations
 Dans un système reparti, l’interface fournie par les systèmes d’exploitation est
encore trop complexe pour être utilisée directement par les applications.
 Hétérogénéité
 Complexité des mécanismes (bas niveau)
 Nécessité de gérer (et de masquer, au moins partiellement) la répartition
 Solution
 Introduire une couche de logiciel intermédiaire (repartie) entre les niveaux bas

MP-SSR2–ISSATM -2021/2022
(systèmes et communication) et le niveau haut (applications) : c'est l’intergiciel
 L'intergiciel joue un rôle analogue a celui d'un "super-système d'exploitation"
pour un système reparti

Systèmes Distribués et Big Data Houda Benali 3939


Taxonomie des Systèmes distribués : Niveau Application

 Comment structurer l’application ?


 3 niveaux (en anglais « tiers ») d’abstraction d’une application
typique:
1. Présentation (IHM)
 Interaction de l’application avec l’utilisateur (doit être conviviale et
ergonomique)
2. Logique applicative/métier(traitements)

MP-SSR2–ISSATM -2021/2022
 Tâches à réaliser avec l’application (locales/globales)
3. Données persistantes (SGBD)
 Mécanismes permettant la gestion des informations stockées par
l’application

Systèmes Distribués et Big Data Houda Benali 4040


Taxonomie des Systèmes distribués : Niveau Application

 « Où » découper l’application ?

MP-SSR2–ISSATM -2021/2022
Systèmes Distribués et Big Data Houda Benali 4141
Taxonomie des Systèmes distribués : Niveau Application
 Modèle de communication Client/Serveur : le modèle de base le plus
dominant
 Communication synchrone
 Connexion permanente des 2 parties
 Modèle primitif: par passage de messages
 Modèle évolué: par appel de procédure/méthodes à distance
 client-serveur "traditionnel": RPC

MP-SSR2–ISSATM -2021/2022
 client-serveur "à objets" : RMI, Corba
 client-serveur "de données"

 Serveurs coopérants
 Interface serveur unique

Systèmes Distribués et Big Data Houda Benali 4242


Taxonomie des Systèmes distribués : Niveau Application
 Modèle de communication par événements: principes des canaux de
communication

 Concepts de base: événements, réactions


 Réaction: traitements associés à l’occurrence d’un événement
 Principe d’attachement: association dynamique entre un nom d’événement et une

MP-SSR2–ISSATM -2021/2022
réaction
 Communication anonyme: indépendance entre l’émetteur et les “consommateurs”
d’un événement
 Deux modes « push » / « pull »
 Exemple de domaine d’application : Diffusion de logiciels et d’informations sur le
web

Systèmes Distribués et Big Data Houda Benali 4343


Taxonomie des Systèmes distribués : Niveau Application

 Modèle de communication par messages:


 Mode de communication: Synchrone/Asynchrone
 Routage de Message
 par l’identité de l’application
 Message Passing (communication par messages) : synchrone
 Message Queuing (communication par file de message): asynchrone
 par le contenu/sujet du message (Publish/Subscribe) : Asynchrone

Message Passing Message Queuing Publish/Subscribe

MP-SSR2–ISSATM -2021/2022
Systèmes Distribués et Big Data Houda Benali 4444
Taxonomie des Systèmes distribués : Niveau Application

 Modèle de communication par code mobile :


 définition: programmes pouvant se déplacer d’un site à un autre
 Function shipping vs. Code shipping

 Motivation
 Rapprocher le traitement des données
 Réduire le volume des données échangées sur le réseau

MP-SSR2–ISSATM -2021/2022
 Caractéristiques
 Code interprétable

 Prendre en considération le problème de la sécurité

 Exemple : Web/Javascript

Systèmes Distribués et Big Data Houda Benali 4545


Références
[1] Nathalie BUDAN, Benoit TEDESCHI et Stéphane VAUBOURG, Nouvelles Technologies Réseau:
Les réseaux peer-to-peer, Fonctionnement, exemples, limites, Cours Informatique Réseaux pour 3ème
année, 2003
[2] Djamel MESLATI, Systèmes distribués: principes et concepts, cours 1ère année master en
Informatique, Université Bedji Mokhtar, Annaba, 2010
[3] N. Le Thanh, Principes des systèmes d’exploitation, cours Systèmes distribués, Faculté de sciences –
UNSA, 1995
[4] Clarisse Rocher, Présentation en ligne: "Introduction aux systèmes distribués",

MP-SSR2–ISSATM -2021/2022
[Link]
[5] Marianne Dubourg, Présentation en ligne: "Rappels sur les systèmes d’exploitation",
[Link]
[6] Faïza NAJJAR et Nadia Ben Azzouna, cours Systèmes et applications répartis, ENSI, 2012/2013

Systèmes Distribués et Big Data Houda Benali 4646

Vous aimerez peut-être aussi