Objectifs du cours Modèles et Approches Formels de Systèmes Distribués



Documents pareils
Conception des systèmes répartis

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

CORBA haute performance

Introduction aux applications réparties

Le modèle client-serveur

Rapport d activité. Mathieu Souchaud Juin 2007

Intégration de systèmes client - serveur Des approches client-serveur à l urbanisation Quelques transparents introductifs

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

NOTIONS DE RESEAUX INFORMATIQUES

Groupe Eyrolles, 2004 ISBN :

ITC Corporate Connect

Cours Bases de données

1. Introduction à la distribution des traitements et des données

Parallélisme et Répartition

1 LE L S S ERV R EURS Si 5

Cours CCNA 1. Exercices

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

MEAD : temps réel et tolérance aux pannes pour CORBA

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication.

Systèmes et algorithmes répartis

ASCOM IP-DECT CONVERGENCE DES SOLUTIONS VOIP ASCOM

Sujet 2 : Interconnexion de réseaux IP (routeurs CISCO). Sujet 3 : Implémentation d un serveur VPN avec OpenVPN.

SOA : une brique de la 4 ième génération de l architecture informatique? Hervé Crespel Président du club urba-ea

Cours n 12. Technologies WAN 2nd partie

Algorithmes de Transmission et de Recherche de l Information dans les Réseaux de Communication. Philippe Robert INRIA Paris-Rocquencourt

Sécurité des Postes Clients

Présentation Internet

VoIP : Introduction à la sécurité. VoIP : Introduction à la sécurité

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

NFP111 Systèmes et Applications Réparties

Fiches micro-informatique SECURITE LOGIQUE LOGIxx

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

ACCESSNET -T IP Technique système TETRA d Hytera.

CHARTE INFORMATIQUE LGL

Contributions à l expérimentation sur les systèmes distribués de grande taille

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Performance et usage. La différence NETGEAR - R7000. Streaming HD illimitée

Fiche d identité produit

La tête dans les nuages

FICHE PRODUIT COREYE CACHE Architecture technique En bref Plateforme Clients Web Coreye Cache applicative Références Principe de fonctionnement

Software Engineering and Middleware A Roadmap

Concilier mobilité et sécurité pour les postes nomades

WEA Un Gérant d'objets Persistants pour des environnements distribués

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr

Vers un nouveau modèle de sécurité

MARS La mise en place d un réseau informatique facilite la communication interne d une entreprise. # #

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Architectures n-tiers Intergiciels à objets et services web

z Fiche d identité produit

Module BD et sites WEB

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Master Informatique et Systèmes. Architecture des Systèmes d Information. 03 Architecture Logicielle et Technique

Réseaux M2 CCI SIRR. Introduction / Généralités

La haute disponibilité de la CHAINE DE

Le passage à l échelle de serveur J2EE : le cas des EJB

Informatique Générale Les réseaux

Juillet Fax sur IP & Virtualisation

FAMILLE EMC RECOVERPOINT

Technicien Supérieur de Support en Informatique

Administration de systèmes

Prise en compte des ressources dans les composants logiciels parallèles

Solutions informatiques (SI) Semestre 1

Catalogue des formations pour vos collaborateurs, pour vos clients,

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

1.Introduction - Modèle en couches - OSI TCP/IP

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Environnements de Développement

Cloud computing Votre informatique à la demande

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

CAS IT-Interceptor. Formation «Certificate of Advanced Studies»

1 Introduction à l infrastructure Active Directory et réseau

Systèmes d informations nouvelles générations. Répartition, Parallèlisation, hétérogénéité dans les SGBD. Exemple d application d un futur proche

Introduction à la conception de systèmes d information

Parcours en deuxième année

>#? " $: $A; 4% 6 $7 -/8 $+.,.,$9:$ ;,<=</.2,0+5;,/ ! " # $%!& *$$ $%!& *! # +$

Cisco Certified Network Associate

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François

CORBA. (Common Request Broker Architecture)

Description des UE s du M2

Projet Global Mise à jour: la technologie

L3 informatique Réseaux : Configuration d une interface réseau

Services Cahier des charges

Mise en route d'un Routeur/Pare-Feu

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

MULTITEL, votre partenaire de recherche et d innovation

18 TCP Les protocoles de domaines d applications

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Réseaux Mobiles et Haut Débit

Découvrez notre solution Alternative Citrix / TSE

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Des applications locales à l infonuagique: comment faire la transition?

Nouvelles Plateformes Technologiques

Introduction aux Technologies de l Internet

Services partagés Canada. Communications convergentes Séance III

Services partagés Canada. Séance II sur les communications convergentes

WIFI ÉVOLUTIVITÉ - SÉCURITÉ - MOBILITÉ

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Charte d installation des réseaux sans-fils à l INSA de Lyon

Transcription:

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Mohamed Mosbah LaBRI ENSEIRB - Université Bordeaux 1 mosbah@labri.fr dept-info.labri.fr/~mosbah/mafsd.html Connaître les caractéristiques d un système distribué (SD) Comprendre les concepts et les paradigmes fondamentaux d un SD, au delà des technologies Etudier certains problèmes fondamentaux (élection, arbre recouvrant, exclusion mutuelle, pannes) Pouvoir raisonner dans un environnement distribué. Par exemple concevoir des applications distribuées, les tester, les prouver, les valider et les implanter. Exemples de questions aborbés dans ce cours Comment décrire une exécution répartie? Comment déterminer des propriétés globales à partir d observations locales? Comment coordonner des opérations en l absence d horloge commune? Quelles sont les critères de qualité pour une application distribuée? Comment garantir la cohérence (ou la sécurité) d informations distribuées? Pas sûr que vous aurez toutes les réponses. Plan du cours Introduction aux systèmes distribués Modèles de l algorithmique distribuée Calculs locaux et calcul distribué d arbre recouvrant Algorithmes d Election Algorithmes de Rendez-Vous (RDV), algorithme probabiliste d élection locale Terminaison distribuée Tolérance aux pannes, auto-stabilisation Implémentation: Plate-forme Visidia Cours 1: Introduction aux systèmes distribués I/ Introduction à l informatique distribuée L informatique répartie : état de fait de plusieurs applications, et une mutation Besoin propre des applications Intégration : applications séparées, ressources de calcul, ressources de gestion de données, etc Nouvelles applications: informatique omniprésente Possibilités techniques Interconnexion généralisée : convergence informatique-télécom Performance et coût des machines et des réseaux 1

Les progrès technologiques Avant les années 80, les ordinateurs étaient encombrants et chers (les systèmes centralisés) A partir de la mi-80, deux nouveautés: Microprocesseurs (moins chers et très rapide) LANs and WANs Les ordinateurs en réseaux non seulement faisables, mais simples. Technologie + besoins évolution technologique banalisation et capillarité des réseaux de télécommunications performance des voies de télécommunication (débit et fiabilité) rapport coût/performance des stations convergence informatique et téléphonie Applications distribuées évolution des besoins structure des entreprises et des organisations : communication et partage (ex. Intranet) accès universel à l information (ex. Web) informatique distribuée grand public (ex. vidéo interactive) II/ Définitions d un SD Définition [Tanenbaum]: Un ensemble d ordinateurs indépendants qui apparaît à un utilisateur comme un système unique et cohérent Les machines sont autonomes Les utilisateurs ont l impression d utiliser un seul système. Définition [Lamport] A distributed system is one on which I can t do my work some computer has failed that I never heard of. Un système réparti est un système qui vous empêche de travailler quand une machine dont vous n avez jamais entendu parler tombe en panne. Définition (pour ce cours) Un système distribué est un ensemble d entités autonomes de calcul (ordinateurs, PDA, processeurs, processus, processus léger etc.) interconnectées et qui peuvent communiquer. Exemples: réseau physique de machines Un logiciel avec plusieurs processus sur une même machine. Pourquoi des systèmes répartis? Aspects économiques (rapport prix/performance) Adaptation de la structure d un système à celle des applications (géographique ou fonctionnelle) Besoin d intégration (applications existantes) Besoin de communication et de partage d information Réalisation de systèmes à haute disponibilité Partage de ressources (programmes, données, services) Réalisation de systèmes à grande capacité d évolution 2

Exemples: WWW Contrôle du trafic aérien Système de courtage Banques Super calcul distribué Système de fichier distribué DNS Systèmes Pair-à-pair (P2P) Quelques domaines d application des systèmes répartis CFAO, Ingénierie simultanée Coopération d équipes pour la conception d un produit Production coopérative de documents Partage cohérent d information Gestion intégrée des informations d'une entreprise Intégration de l existant Contrôle et organisation d activités en temps réel Centres de documentation, bibliothèques Recherche, navigation, visualisation multimédia Systèmes d aide à la formation Propriétés Le système doit pouvoir fonctionner (même en cas de pannes de certains composants), et donner un résultat correct Le système doit pouvoir résister à des attaques contre sa sécurité (confidentialité et intégrité, déni de service, ) Le système doit pouvoir s adapter à des changements (modification de composants, sacalabilité, etc) Le système doit préserver ses performances III/ Objectifs d un système distribué Transparence (Masquer la répartition) Uniformité des accès locaux et distants La séparation physique entre machines et les différences matériels/logiciels pour les accès sont invisibles par l utilisateur. Localisation des ressources non perceptible (nom logique ex: URL http://www.labri.fr/ ) Migration des ressources possible sans interférence avec la localisation physique (ex. transférer un objet uniquement par son nom logique sans modification de ce nom et sans modification de l environnement d un utilisateur) Réplication de ressources non visible Concurrence d accès aux ressources non perceptible (ex. accès à un même fichier ou une table dans une base de données: mécanisme de verrou ou de transaction) - Invisibilité du parallélisme offert par l environnement d exécution - Tolérance aux pannes permettant à un utilisateur de ne pas s interrompre (ou même se rendre compte) à cause d une panne d une ressource Ouverture Services offerts selon des règles standards qui décrivent la syntaxe et la sémantique de ces services (Interfaces publiées, ex. IDL) Interopérabilité des matériels (de fournisseurs différents) Portabilité Flexibilité (facilité d utilisation et de configuration) Extensibilité (ajout/maj de composants sans en affecter les autres) 3

Mise à l échelle (scalability) fonctionne efficacement dans différentes échelles: Deux postes de travail et un serveur de fichiers Réseau local avec plusieurs centaines de postes de travail et serveurs de fichiers Plusieurs réseaux locaux reliés pour former un Internet 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) Intégrité (protection contre les falsification et les corruptions) Disponibilité (accès aux ressources) e.g. commerce électronique, banque en ligne. IV/ Systèmes distribués vs parallèles Systèmes Parallèles. Une machine multiprocesseurs avec un environnement du type SIMD (tous les processeurs 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 Systèmes distribués. processus indépendants sur des machines distinctes et communiquant par échange de messages asynchrones (en général, des réseaux faiblement couplés). Caractéristiques du parallélisme/distribué Objectifs: optimiser les solutions d un problème (e.g. calcul scientifique, calcul matriciel, tri) Calcul de complexité : temps et accès mémoire (pas le temps de communication ou nombre de messages) La topologie est généralement fixe (grille, hypercube, grappes) Pas de consensus sur ces définitions 4

V/ Intergiciel (Middleware) Le middleware (intergiciel) est la couche logicielle située entre les couches basses (systèmes d'exploitation, protocoles de communication) et les applications dans un système informatique réparti (CORBA, EJB, COM, etc.). Buts: Fournir une interface ou API de haut niveau aux applications Masquer l hétérogénéité des systèmes matériels et logiciels sou jacents Rendre la répartition aussi invisible (transparente) que possible Faciliter la programmation répartie (développement, évolution, réutilisation, portabilité des applications) http://www.objectweb.org/ Couches logicielles et matérielles dans un SD (le middleware) Applications, services Middleware système d exploitation Réseau, matériel, APIs haut niveau APIs bas niveau VI/ Voies d études des systèmes distribués Approche «descriptive» Etude de modèles de conception d applications réparties (client-serveur, objets répartis, composants répartis, architecture) Etude de diverses classes de systèmes, intergiciels (middleware) et applications, et de leurs modes d organisation et de fonctionnement Approche «fondamentale» : algorithmes distribués Etude des principes de base: problèmes fondamentaux, solutions connues, limites «intrinsèques» Exemples : Election d un chef; Structure de diffusion (arbre recouvrant), Exclusion mutuelle, Nommage, Détection de la terminaison Une application pratique Les virus sur nos machines Solution actuelle: protection individuelle (de sa machine). Limites: vulnérabilité, «oubli», mise à jour régulière, solution locale mais non globale Alternative: développer des stratégies globale de «destruction de virus» Difficultés Pas de connaissance de l état global Absence de temps universel (ou horloge globale) Non déterminisme (lié souvent au problème du synchronisme) Et surtout pas de modèle «universel» et standard pour l algorithmique distribuée 5

1 Site de diffusion DVB Reception TV classique Zone Zone TV TV Zone TV CarteDVB-T Est-ce que ca fonctionne? Sécurité? RéceptionTV DVB-T Handover/ mobilité WiFi RéceptionTV en modeip WiMAX sur PDA... Carteà puce WiFi WiMAX Serveurd'adaptation... & de diffusion RéseauLocal IP RéceptionTV en modeip (DomaineIP) sur portable DVB Cable Reception TVclassique+ Internet (Web +Mail) RéceptionTV en modeip Exemples de problèmes fondamentaux Comment décrire une exécution répartie? Comment déterminer des propriétés globales à partir d observations locales? Comment coordonner des opérations en l absence d horloge commune? Quelles sont les critères de qualité pour une application distribuée? Comment garantir la cohérence (ou la sécurité) d informations distribuées? Vers des modèles Modéliser pour représenter un système en simplifiant divers aspect du réel pour maîtriser la complexité pour observer et comprendre le comportement du système réel pour prédire ou aider à commander le comportement d un système pour prouver ce comportement à l aide de techniques formelles Nécessite de simplifier et maîtriser la complexité des systèmes et des algorithmes distribués Difficulté de l algorithmique distribuée / centralisé: Pas de connaissance de l état global Absence de temps universel (ou horloge globale) Non déterminisme (lié souvent au problème du synchronisme) Et surtout pas de modèle «universel» et standard pour l algorithmique distribuée Synchrone Modèles de communication synchrone /asynchrone Communication asynchrone: mail: on se voit à 12h 10H on se voit à 12h 11h:15 10h45 on se voit à 12h est-ce qu il sait que j ai lu sa réponse ack 11h:45 Même notion de temps, transmission instantanée, généralement bornée 12h15 ack ack est-ce qu il sait que j ai ack 6

Communication asynchrone: 10H 11h:15 est-ce qu il sait que j ai lu sa réponse 12h15 mail: on se voit à 12h ack ack ack 10h45 11h:45 est-ce qu il sait que j ai ack Modélisation d un système distribué 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) Les réseaux anonymes /avec identités anonymes: pas d identités (numéros distincts. e.g. IP) avec identités (chaque sommet possède un identité (un numéro) unique) En général, il est plus facile de construire un algo sur des graphes avec identités. L état d un processus est codé par une étiquette: Le changement d état : changement d étiquette Les algorithmes : arbre recouvrant, élection, terminaison, exclusion mutuelle. 7