Objectifs du cours. Modèles et Approches Formels pour les Systèmes Distribués. I/ Introduction aux systèmes distribués



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

Conception des systèmes répartis

Parallélisme et Répartition

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

NOTIONS DE RESEAUX INFORMATIQUES

Le modèle client-serveur

SOMMAIRE. 3. Comment Faire? Description détaillée des étapes de configuration en fonction du logiciel de messagerie... 3

GER helpdesk permet de traiter et d optimiser la gestion de vos interventions au sein de chaque bureaux.

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

Le cadre des Web Services Partie 1 : Introduction

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Mise en route d'un Routeur/Pare-Feu

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

DFL-210, DFL-800, DFL-1600, DFL-2500 Comment configurer une connexion VPN IPSec site à site

Consolidation de stockage

AGROBASE : un système de gestion de données expérimentales

Micro-ordinateurs, informations, idées, trucs et astuces utiliser le Bureau à distance

Introduction aux applications réparties

Etape 1 : Connexion de l antenne WiFi et mise en route

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

Travail collaboratif. Glossaire

NET BOX DATA Télégestion d'équipements via Internet & Intranet

Présentation Internet

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

Agence web en Suisse romande CH-1260 Nyon

Fonctionnement d Internet

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

Cisco Certified Voice Professional. Comprendre la QoS

Cours CCNA 1. Exercices

Cours des réseaux Informatiques ( )

CONFIGURATION FIREWALL

Architectures n-tiers Intergiciels à objets et services web

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

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

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

La VOIP :Les protocoles H.323 et SIP

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

NetCrunch 6. Superviser

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

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

DG-ADAJ: Une plateforme Desktop Grid

UCOPIA SOLUTION EXPRESS

Evolution de l infrastructure transport

CONTEC CO., LTD. Novembre 2010

Sommaire. Couverture de zone de surveillance dans les réseaux de capteurs. De quoi parle-t-on ici (1/2)? Objectif. De quoi parle-t-on ici (2/2)?

Principe de la messagerie électronique

NFP111 Systèmes et Applications Réparties

CORBA haute performance

Système de vidéosurveillance Guide de configuration

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

14.1. Paiements et achats en ligne

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

Network WPA. Projecteur portable NEC NP905/NP901W Guide de configuration. Security WPA. Méthode d authentification supportée

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Pare-feu VPN sans fil N Cisco RV120W

INTRUSION SUR INTERNET

Aperçu technique Projet «Internet à l école» (SAI)

Interaction entre réseaux sociaux et sites web

Comprendre le Wi Fi. Patrick VINCENT

Configuration du modem D-Link ADSL2+

GRIDKIT: Pluggable Overlay Networks for Grid Computing

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

Qu est ce qu Internet. Qu est-ce qu un réseau? Internet : à quoi ça sert? présentation des services. Exemple de configuration. Rôles des éléments

BAP E Gestionnaire de parc informatique et télécommunications MI2 / MI3 Ouverts au titre de 2010 Arrêté du 7/04/10 - J.

Prolival Cloud Services

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Introduction aux Technologies de l Internet

THÈSE. présentée à TÉLÉCOM PARISTECH. pour obtenir le grade de. DOCTEUR de TÉLÉCOM PARISTECH. Mention Informatique et Réseaux. par.

Accéder à ZeCoffre via FTP

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

TP : STATION BLANI 2000 SIMULATION DU RESEAU INFORMATIQUE

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

Plan. Department of Informatics

Serveurs de noms Protocoles HTTP et FTP

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

Edition de sites Jahia 6.6

Le travail collaboratif et l'intelligence collective

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

SIP. Sommaire. Internet Multimédia

Informatique Générale Les réseaux

Introduction aux algorithmes répartis

Déploiement d un serveur courriel dédié pour entreprise

WinBooks Logistics 5.0

There are no translations available.

Tutoriel réalisé par luo. Version du 22/02/14

JAB, une backdoor pour réseau Win32 inconnu

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

FileMaker Server 12. publication Web personnalisée avec XML

Petite définition : Présentation :

Programmation Internet Cours 4

Cedric Dumoulin (C) The Java EE 7 Tutorial

REPETEUR SANS FIL N 300MBPS

Linux sécurité des réseaux

Formation Site Web. Menu du jour. Le web comment ça marche? Créer un site web Une solution proposée pour débuter La suite?

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Configuration des routes statiques, routes flottantes et leur distribution.

Transcription:

Modèles et Approches Formels pour les Systèmes Distribués M. Mosbah mosbah@labri.fr www.labri.fr/visidia/ Objectifs du cours Connaître les caractéristiques d un système distribué (SD) Comprendre les concepts et les paradigmes fondamentaux d un SD (les dessous) Au delà des technologies, maîtriser «le distribué» dans le cadre d un modèle formel qui offre une abstraction et une simplicité Bien comprendre l algorithmique distribuée( élection, arbre recouvrant, exclusion mutuelle, etc) Pouvoir raisonner dans un environnement distribué Prouver la correction et la validité d un algorithme distribué Concevoir des algorithmes distribués Manipuler et implémenter ces algorithmes. et surtout avoir beaucoup de recul par rapport aux technologies. I/ Introduction aux systèmes distribués Les réseaux d ordinateurs sont partout!!! Internet, réseaux de téléphones mobiles, réseaux locaux, etc. Les progrès technologiques des ordinateurs et le haut débit permettent aux différentes applications sur des ordinateurs distincts (et distants) de coopérer pour effectuer des tâches coordonnées. 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. 2

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 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 3

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) 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 ( En janvier 03, le nombre de machines reliés à Internet est de : 171 638 297) 4

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). Pas de consensus sur ces définitions 5

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) V/ Interlogiciel (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 6

VI/ Où sont les problèmes? Quel est le nombre d emails qui circulent sur Internet? Y a t-il un algorithme pour détecter la terminaison distribuée d une application? Comment modéliser et exprimer les algorithmes distribués? Comment les prouver? Comment les analyser, calculer leur complexité, les classifier etc? Pour écrire une appli. Distribuée, un système distribue, il faut d abord un algorithme... 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 ok ok 10h45 ok on se voit à 12h est-ce qu il sait que j ai lu sa réponse ack ok 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 ok 7

Représentation : abstraction un graphe 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. 8