Académique Documents
Professionnel Documents
Culture Documents
Sy Di Introduction
Sy Di Introduction
§ Introduction
définitions
problématiques
Systèmes Distribués (1) architectures de distribution
§ Distribution intra-applications
notion de processus
programmation multi-thread
Guillaume Hutzler
LaMI (Laboratoire de Méthodes Informatiques) § Distribution inter-applications et inter-machines
SyDRA (Systèmes Distribués, Réactifs et Adaptatifs) sockets
hutzler@lami.univ-evry.fr middlewares par appel de procédures distantes
middlewares par objets distribués (Java RMI, CORBA)
§ Conclusion
1 2
Introduction
Plan du cours Un exemple pour commencer : un agenda [M. Riveil]
§ Fonctions de base
§ Introduction Accès interactif à un calendrier
définitions Agenda de rendez-vous personnel
problématiques Répétition automatique de certains rendez-vous
architectures de distribution Service d’alarmes (fenêtre pop-up ou courrier)
§ Distribution intra-applications Fonction de recherche pour les rendez-vous
notion de processus Recherche d’une plage horaire disponible
programmation multi-thread
§ Distribution inter-applications et inter-machines
sockets
middlewares par appel de procédures distantes
middlewares par objets distribués (Java RMI, CORBA)
§ Conclusion
3 4
Introduction - Un exemple pour commencer : un agenda [M. Riveil] Introduction - Un exemple pour commencer : un agenda [M. Riveil]
Fonctions supplémentaires Analyse des besoins (1)
5 6
1
Introduction - Un exemple pour commencer : un agenda [M. Riveil] Introduction - Un exemple pour commencer : un agenda [M. Riveil]
Analyse des besoins (2) Analyse des besoins (3)
9 10
Introduction Introduction
Différentes formes de distribution Différentes types d’applications
11 12
2
Introduction Introduction
Différents niveaux de distribution Définition
15 16
17 18
3
Introduction / Objectifs et caractéristiques Introduction / Objectifs et caractéristiques
Sécurité Scalabilité
Capacité à assurer la sécurité des données qui transitent, Capacité à rester efficace en cas de forte
l’authentification des participants et à empêcher les intrusions augmentation des ressources et des utilisateurs
§ Sécurité des informations § Adapter le dimensionnement de l’application
Confidentialité ajout/duplication de composants
– protection contre les destinataires indésirables
– ex. : augmentation du nb de clients duplication des serveurs
Intégrité problème = coût de communication/synchronisation lié à
– protection contre l'
altération ou la corruption des données
l’augmentation du nb de processus
Authentification, signature électronique
– identification des partenaires § Implique la prise en compte
– non-déni d’envoi ou de réception
– messages authentifiés
du contrôle du coût des ressources physiques
– respect possible de l’anonymat
– idéalement, pour n utilisateurs, ressources en O(n)
Disponibilité du contrôle de la perte de performance
– protection contre les interférences aux moyens d’accès – idéalement, si volume de données proportionnel au nb d’utilisateurs ou
de ressources, temps d’accès < O(log n)
§ Risques liés à la sécurité de la prévention de la diminution des ressources logicielles
pénétration d’un Intranet via un firewall – ex. : nb d’adresses Internet limité par la représentation sur 32 bits
envoi sécurisé de messages systèmes de cryptage de la prévention des goulots d’étranglement
déni de service – décentralisation nécessaire
sécurité des codes mobiles
19 20
4
Introduction / Objectifs et caractéristiques Introduction
Transparence (2) Concepts matériels
La transparence de concurrence § Systèmes Multi-Processeurs (SMP)
– plusieurs processus doivent pouvoir opérer de manière concurrentielle
sans interférences entre eux mémoire partagée avec accès direct pour tous les CPUs
La transparence de réplication mémoire cache pour assurer un accès rapide aux données
– plusieurs instances des ressources doivent être déployées pour assurer et éviter les goulots d’étranglement entre les calculs
la fiabilité du système
§ Machines parallèles homogènes
La transparence de panne
– une panne ne doit pas bloquer le fonctionnement global du système noeuds de calcul montés dans des « racks » reliés par un
La transparence de mobilité réseau d’interconnexion unique et très haute performance
– les ressources et clients doivent pouvoir être mobiles sans affecter le ex. : super-calculateurs, clusters
fonctionnement global
§ Machines parallèles hétérogènes
La transparence de performance
– le système doit pouvoir être reconfigurable pour assurer les montées ordinateurs variés en termes de processeurs, de mémoire,
en charge de bande passante, etc.
La transparence d'
échelle généralement associés à une couche logicielle type
– le système et les applications doivent pouvoir supporter les middleware
changements d' échelles sans modification interne des algorithmes par
exemple
25 26
27 28
§ Fonctionnement
serveur serveur
le client émet un message contenant une requête à de BD BD de calcul
destination d’un serveur
le serveur exécute le service associé à la requête émise par tiers serveur
le client tiers client
le serveur retourne au client un message contenant le
résultat du service effectué
client a
service 1 Autres exemples de serveurs
interface
– serveur de fichiers
Serveur ... – serveur de noms
– serveur Web
client b service n
– serveur d’impression
– etc.
29 30
5
Introduction - Modèles d’architecture Introduction - Modèles d’architecture
Le modèle client-serveur (3) Le modèle client-serveur – Remarques
requêtes sélection
du service
beaucoup plus compliquées
réponses
31 32
6
Introduction - Modèles d’architecture Introduction - Modèles d’architecture - Modèles du « meta-computing »
Modèles du « meta-computing » P2P et « Internet computing »
37 38
Introduction - Modèles d’architecture - Modèles du « meta-computing » Introduction - Modèles d’architecture - Modèles du « meta-computing »
Avantages du P2P Clusters
réduction du coût global par répartition ensemble d' ordinateurs complets (processeur, mémoire,
accroissement de la scalabilité et de la sûreté de fonctionnement périphériques d'E/S) en général interconnectés par
– pas d'
autorité centrale
agrégation des ressources et interopérabilité des systèmes l'
intermédiaire d'
un LAN
accroissement de l'autonomie utilisé comme une seule ressource de calcul unifiée
– les utilisateurs ne dépendent pas d'
un seul fournisseur centralisé les composants d' un cluster sont typiquement des stations de
anonymat et respect de la vie privée travail ou des PCs et sont généralement homogènes
très grande dynamicité premier cluster « Beowulf » créé en 1994 pour la NASA
– les ressources entrent et sortent du système de manière totalement continue
– la communication ne s' en trouve généralement pas affectée. § Architecture
§ « Internet Computing » tiers d'
accès = fournit les services d'accès et d'authentification
applications P2P parallélisables tiers de gestion = responsable des fonctionnalités basiques du
– une même tâche est effectuée sur chaque Peer avec différents paramètres cluster (service de fichiers, gestion des sauvegardes, ...)
utiliser les ressources inutilisées des noeuds tiers de calcul = fournit la puissance de calcul du cluster
si un noeud détecte une inactivité, il informe un client maître – travaux exécutés sur un ou plusieurs noeuds
activité complètement transparente pour l' utilisateur deux services critiques
§ Exemples d'implantations – « Batch Queing System » = reçoit les demandes de travaux
P2P pur : KaZaa, FreeHeaven, JXTA, Gnutella, Freenet – « Job Scheduler » = détermine l'
ordre d'exécution des travaux en fonction de la
charge processeur moyenne, la charge mémoire moyenne, ...
P2P hybride : Napster
Internet Computing : SETI@Home, RSA-135
39 40
Introduction - Modèles d’architecture - Modèles du « meta-computing » Introduction - Modèles d’architecture - Modèles du « meta-computing »
Grilles Agents autonomes [Wooldridge]
partage de ressources et de puissance de calcul dans de très § Définition
larges organisations multi-institutionnelles
entités matérielles ou logicielles dotées des propriétés suivantes
infrastructure capable d'unifier diverses ressources – autonomie
met en oeuvre un grand nombre de ressources hétérogènes les agents agissent sans l’intervention directe d’humains ou d’autres agents,
peuvent s' accroître de quelques ressources à plusieurs millions et ont le contrôle de leurs actions et de leur état interne
– capacité sociale
probabilité de ressources défaillantes élevée les agents interagissent avec d’autres agents (et éventuellement des
§ Architecture humains) grâce à des langages de communication agent
– reactivité
une fabrique de grille les agents perçoiv ent leur environnement (le monde physique, un utilisateur
– toutes les ressources (PCs, SANs, clusters,...) distribués géographiquement via une interface graphique, un ensemble d’autres agents, Internet, une
un middleware de grille combinaison de tout cela), et répondent en permanence aux
– offre les services de base (gestion des processus distants, co-allocation des changements qui s’y produisent
ressources, accès au stockage, ...) – pro-activité
un environnement de développement de grille les agents n’agissent pas seulement en réponse aux sollicitations de
– offre des services de très haut niveau permettant aux développeurs de l’environnement mais peuvent exhiber un comportement orienté par un
développer des applications et des brokers agissant de manière globale but en prenant l’initiative d’agir
des applications de grille et des portails de grille § Caractéristiques
ex. : Globus, Legion, CERN Data Grid ou Unicore
à la frontière des systèmes distribués et de l’IA
inspiration sociologique
41 42
7
Introduction Introduction - Modèle de communication - les middlewares
Modèle de communication - les middlewares Positionnement du middleware
Transport Transport
Service de
Réseau Réseau
transport des
données Données Données
Physique Physique
43 44
Introduction - Modèle de communication - les middlewares Introduction - Modèle de communication - les middlewares
Services du middleware Différentes approches possibles
§ Disponibilité sur différentes machines § considérer tous les composants en tant que fichiers
§ Fiabilité du transfert périphérique traités en tant que fichiers : Plan 9
assurance que le message atteindra le destinataire systèmes de fichiers distribués : NFS
en un seul exemplaire pb = transparence limitée à l’échange de fichiers
même en cas de panne d’une machine ou de liens réseau
§ Adaptation au trafic
§ appel de procédures à distance : RPC
variation du nb d’applications, du nb et du type de machines appel d’une fonction dont l’implantation est sur une autre
ressource
§ Support de différents schémas de communication
communication 1-1, 1-n § objets distribués : RMI, CORBA, DCOM, etc.
communication synchrone/asynchrone dissociation entre l’interface et l’implantation
§ Service de nommage seule l’interface est distribuée
conversion d’un nom en adresse physique § échange de messages : JMS
§ Support de la notion de transaction envoi de messages entre les participants
si plusieurs entités appartiennent à une transaction, toutes doivent
pouvoir exécuter leur travail ou alors aucune d’elles § agents mobiles : Aglet, AgentTcl, etc.
§ etc. le code à exécuter et les données se déplacent d’une
ressource à une autre sur le réseau
45 46
Introduction - Modèle de communication - les middlewares Introduction - Modèle de communication - les middlewares
Echange de messages : JMS Appel de procédure à distance : RPC
8
Introduction - Modèle de communication - les middlewares Introduction - Modèle de communication - les middlewares
Objets distribués (Java RMI, CORBA, DCOM, etc.) Agents mobiles (Aglet, MOA, AgentTcl, etc.)
§ Objets distribués § Code mobile
encapsulation des attributs et des méthodes programme pouvant se déplacer d’un site à un autre sur
séparation entre les interfaces et les objets les un réseau
implémentant ex. : Postscript, SQL, applets, etc.
l’interface est placée sur une machine tandis que l'
objet lui- caractéristique = code interprétable
même réside sur une autre
§ Principe § Motivations
quand un client s'
associe à un objet distribué rapprocher le traitement des données
– une implantation de l'interface de l'
objet appelée proxy est chargé – réduire le volume de données échangées sur le réseau
dans l'
espace d' adressage du client – partage de charge
– ce proxy assure l'
invocation des méthodes en communiquant avec function shipping versus data shipping
l'
implantation réelle de l'
objet qui peut se trouver n'
importe où dans le
système au moyen d' un squelette agissant comme un médiateur
§ Important
l’état du système n' est pas distribué : il réside sur une machine et
une seule
seules les interfaces des objets rendues disponibles sont
accessibles par les processus tournant sur les autres machines.
49 50
51 52