of 63 /63
Introduction aux systèmes répartis Frank Singhoff Bureau C-203 Université de Brest, France LISyC/EA 3883 [email protected] UE systèmes répartis, Université de Brest – Page 1/63

Introduction aux systèmes répartis

Embed Size (px)

Text of Introduction aux systèmes répartis

  • Introduction aux systmes rpartisFrank Singhoff

    Bureau C-203

    Universit de Brest, France

    LISyC/EA 3883

    [email protected]

    UE systmes rpartis, Universit de Brest Page 1/63

  • Sommaire

    1. Principes gnraux sur les systmes rpartis.

    2. Paradigmes et services de communication.

    3. Principaux problmes de coordination et de cohrencede donne.

    4. Conclusion, synthse.

    5. Rfrences.

    6. Acronymes.

    UE systmes rpartis, Universit de Brest Page 2/63

  • Sommaire

    Prsentation, dfinitions.

    Principaux problmes soulevs et services offerts parun systme rparti.

    UE systmes rpartis, Universit de Brest Page 3/63

  • Prsentation, dfinitions

    "Un systme rparti est un ensemble de machinesautonomes connectes par un rseau, et quipes dunlogiciel ddi la coordination des activits du systmeainsi quau partage de ses ressources." Coulouris et al.[COU 94].

    "Un systme rparti est un systme qui sexcute sur unensemble de machines sans mmoire partage, mais quepourtant lutilisateur voit comme une seule et uniquemachine." Tanenbaum [TAN 94].

    Systmes fortement et faiblement coupls.

    Notion dimage unique du systme = systmegnralement incomplet.

    UE systmes rpartis, Universit de Brest Page 4/63

  • Pourquoi un systme rparti ?

    1. Partage des ressources (donnes, applications, priphriqueschers). Optimisation de leur utilisation (ex : au LIP6, machines etprocesseurs libres 69% et 93% du temps).

    2. Tolrance aux pannes (fiabilit, disponibilit).

    3. Contraintes physiques (ex : avionique, usines automatises).

    4. Interconnexion de machines ddies (ex : MVS-CICS + PCwindows).

    5. Facilite la communication entre utilisateurs.

    6. Concurrence, paralllisme = efficacit.

    7. Prix des processeurs de petite puissance infrieur ceux de grandepuissance = raisons conomiques.

    8. Flexibilit, facilit dextension du systme (matriels, logiciels).Sauvegarde de lexistant.

    UE systmes rpartis, Universit de Brest Page 5/63

  • Ce quoffre un systme rparti

    1. Transparence la localisation = dsignation. Lutilisateur ignorela situation gographique des ressources. Transparence lamigration.

    2. Transparence daccs. Lutilisateur accde une ressource localeou distante dune faon identique.

    3. Transparence lhtrognit. Lutilisateur na pas se soucierdes diffrences matrielles ou logicielles des ressources quil utilise.Notion dinteroprabilit.

    4. Transparence aux pannes (rseaux, machines, logiciels). Lespannes et rincarnations sont caches lutilisateur. Transparence la rplication.

    5. Transparence lextension des ressources. Extension ourduction du systme sans occasionner de gne pour lutilisateur(sauf performance).

    UE systmes rpartis, Universit de Brest Page 6/63

  • Exemple 1 : le systme UNIX

    printcap

    hostprintcaphost

    passwdpasswd

    tetris

    pacman

    /jeux

    Transparence daccs et la localisation : NFS, le servicedimpression. NIS : transparence la localisation mais pas daccs(ypcat).

    Dsignation : nom de machine + port. Pas indpendante deladressage.

    Interoprabilit : RPC (XDR), IP.

    UE systmes rpartis, Universit de Brest Page 7/63

  • Exemple 2 : le Web

    (machinevirtuelle)

    Disque

    Processus

    Bytecode Java, fichier texte Netscape

    httpd

    GET

    Transparence la localisation : liens hypertexte.

    Transparence daccs : URL (site 6= adresse IP).

    Dsignation : URL, DNS Internet.

    Interoprabilit : Java bytecode et machine virtuelle, pages HTML,Web Services (J2EE, .NET).

    UE systmes rpartis, Universit de Brest Page 8/63

  • Sommaire

    Prsentation, dfinitions.

    Principaux problmes soulevs et services offerts parun systme rparti.

    UE systmes rpartis, Universit de Brest Page 9/63

  • Cohrence et synchronisation (1)

    Architecture :

    1. Centralise = 1 horloge. Ordre total.

    2. Rpartie = plusieurs horloges non synchronises +communications asynchrones =plus dtat globalfacilement calculable et prsence dindterminismelogique.

    Problmes : partage de donnes rparties etcoordination rpartie.

    Solutions : algorithmes ddis dlection, dexclusionmutuelle, de consensus, de terminaison, etc.

    UE systmes rpartis, Universit de Brest Page 10/63

  • Cohrence et synchronisation (2)

    Exemple 1 : partage de donnes rparties

    Echanges demail = consensus rparti

    Rponses reues avant les questions.

    Exemple 2 : coordination rpartie

    Mise au point dun programme : comment arrterplusieurs processus rpartis simultanment ? =synchronisation.

    Comment rexcuter une application ? =indterminisme logique.

    UE systmes rpartis, Universit de Brest Page 11/63

  • Dsigner les ressources du systme

    "Dsigner un objet consiste lui affecter un nom permettant de lui fairerfrence" [MAR 88].

    Nom indpendant de la localisation gographique (pannes,migrations) et du temps.

    Nom = ressource = rutilisation.

    Adresse 6= nom. Translation nom = adresse = service delocalisation (chane de rfrences, diffusion, fonctionnelle, serveur delocalisation).

    Espace de nommage/adressage, contexte (ex : dsignationhirarchique).

    Serveur centralis ou par type de ressource (systme de fichiers) ;performance, rsistance aux pannes, facilit de ralisation,rpartition ou non du catalogue (cohrence).

    UE systmes rpartis, Universit de Brest Page 12/63

  • Support de lhtrognit

    Services interoprables : comment saffranchir des diffrencesmatrielles et logicielles des machines du systme ?

    Sources dhtrognit :

    1. La reprsentation des donnes en mmoire :

    Le problme des petits indiens (systmes big indian et littleindian).

    Reprsentation des flottants (ex : PC sur 80 bits, norme IEEE en64 et 128 bits).

    Entiers complments 1 ou 2.

    Alignement des donnes en mmoire.

    2. Les langages de programmation, les excutables, les systmesdexploitation.

    3. Les protocoles de communication.

    UE systmes rpartis, Universit de Brest Page 13/63

  • Transparence aux pannes (1)

    Objectif : cacher lutilisateur loccurrence de pannes.Reste un problme difficile dans un systme asynchrone.

    Un systme distribu est un systme avec lequel je nepeux rien faire car une machine que je ne connais pas esten panne". Lamport.

    Type de pannes : pannes temporelles, pannes dites"silencieuses" (crash), pannes byzantines.

    Solutions par points de reprise globaux = commentprendre un tat cohrent du systme (message dufutur).

    Solutions base de redondance.

    UE systmes rpartis, Universit de Brest Page 14/63

  • Transparence aux pannes (2)

    Redondance active :

    Voteur

    Composant

    actif

    Composant

    actif

    Composant

    actif

    Sortie

    Entre

    Entre

    Entre

    Groupe de serveurs + vote (consensus).

    Application dterministe.

    Consensus impossible dans un systme asynchrone.

    UE systmes rpartis, Universit de Brest Page 15/63

  • Transparence aux pannes (3)

    Redondance passive :

    Composant

    actif

    Composant

    passif

    Composant

    passif

    Entre

    Etat Etat

    Sortie

    Matre/esclaves (journalisation).

    Application non dterministe mais systmes coteux.

    Quoi et comment journaliser ?

    UE systmes rpartis, Universit de Brest Page 16/63

  • Autres problmes importants

    Scurit. Accs aux donnes confidentielles.Authentification. Utilisation des ressources(priphriques, logiciels licencis). Malveillance.

    Performance (ncessite de faire au moins aussi bienquun systme centralis) =mcanismes ajoutspour la tolrance aux pannes, la scurit, latransparence, etc.

    Passage lchelle (algorithmes centraliss).

    Administration (ex : NFS).

    Etc.

    UE systmes rpartis, Universit de Brest Page 17/63

  • Rsum : services offerts

    En plus des services classiquement rencontrs dans unsystme, le systme rparti doit donc offrir :

    Services de dsignation et de localisation.

    Services de communication.

    Services de synchronisation.

    Services de tolrance aux pannes.

    Services de scurit.

    UE systmes rpartis, Universit de Brest Page 18/63

  • Aspects architecturaux

    O se trouvent ces services ?

    Dans la couche transport (UNIX + TCP/IP).

    Dans le langage de programmation (Ada 95, Java RMI).

    Dans le "Middleware"/intergiciel (CORBA, RPC, .NET).Logiciel se situant entre le systme dexploitation et lesapplications.

    Dans le systme dexploitation (Chorus, Mach,Amoeba) =micro-noyau.

    UE systmes rpartis, Universit de Brest Page 19/63

  • Sommaire

    1. Principes gnraux sur les systmes rpartis.

    2. Paradigmes et services de communication.

    3. Principaux problmes de coordination et de cohrencede donne.

    4. Conclusion, synthse.

    5. Rfrences.

    6. Acronymes.

    UE systmes rpartis, Universit de Brest Page 20/63

  • Sommaire

    1. Paradigmes de coopration.

    2. Services de communication.

    UE systmes rpartis, Universit de Brest Page 21/63

  • Paradigme client/serveur (1)

    Client

    Rponse

    Requte

    Service

    Serveur

    Notion de client, service et serveur (ex : service dimpression, debase de donnes) [ORF 95].

    Interaction synchrone entre le client et le serveur : le client est bloqutant que le serveur na pas rpondu.

    Serveur concurrent (processus, thread) ; ex : ftp.

    Serveur avec ou sans tat.

    Extensibilit, intgration de produits divers.

    Diffusion, flots de donnes.UE systmes rpartis, Universit de Brest Page 22/63

  • Paradigme client/serveur (2)

    Client/serveur : extension naturelle de la notion deservice dans un environnement centralis ... mais.

    Pannes possibles : perte de la requte ou de la rponse,panne du serveur ou du client.

    Notion de smantique des oprations :

    Exactement une fois.

    Au moins une fois (opration idempotente).

    Au plus une fois.

    Rincarnation du serveur si serveur avec tat(synchronisation, journalisation).

    UE systmes rpartis, Universit de Brest Page 23/63

  • Paradigme des agents mobiles

    Migration

    Site de cration

    Site B

    Agent

    Site A

    Migration

    Agent autonome se dplaant au grs des machines pour raliserses tches [BER 99]. Possde un tat.

    Asynchrone = mieux adapt que le client/serveur destraitements longs.

    Exemple : recherche sur le Web, administration rseaux = moinsde transfert de donnes.

    Nouveaux problmes : scurit (de lagent, de lhte), mobilit ducode, dsignation. UE systmes rpartis, Universit de Brest Page 24/63

  • Paradigme de la mmoire partage

    Mmoire prive

    Processus

    Machine

    Rseau

    partageMmoire rpartie

    Transparence daccs et la localisation.

    Persistance possible. Ramasse miettes.

    Donnes partageables : variables, pages, objets. Copie en lecture,migration en criture. Problme de cohrence.

    Adapt pour les applications de calculs parallles. Efficacit ?

    UE systmes rpartis, Universit de Brest Page 25/63

  • Sommaire

    1. Paradigmes de coopration.

    2. Services de communication.

    UE systmes rpartis, Universit de Brest Page 26/63

  • Services disponibles

    Echange de messages asynchrones.

    Services synchrones.

    Des services synchrones aux systmes objetsrpartis.

    UE systmes rpartis, Universit de Brest Page 27/63

  • Messages asynchrones

    receive() receive()

    send()send()

    Cest la brique de base. Mode le plus rencontr.

    Producteur/consommateur. Asynchrone = tampon.

    Perte, duplication, dsquencement.

    Bloquant ou non bloquant.

    Ordre total local + ordre causal.

    Lourd et compliqu pour le dveloppeur (il doit assurer toute lasynchronisation) mais puissant et souple.

    UE systmes rpartis, Universit de Brest Page 28/63

  • Messages asynchrones : UDP

    Socket

    ProcessusProcessus

    Ports

    read() write()

    Adresse Adresse

    Sockets UDP (connectes ou non) = tampons.

    Lecture et criture bloquante ou non.

    UDP = datagramme non fiable.

    Pas de dsignation mais adressage. Pas de transparence daccs et la localisation. Pas de gestion de lhtrognit.

    Exemple de service : NFS = do serveur sans tat.

    UE systmes rpartis, Universit de Brest Page 29/63

  • Communications synchrones

    call() call()

    receive()

    receive() reply()

    Contrairement au message asynchrone, le protocole est maintenantasymtrique : notion de client et de serveur.

    Le client est bloqu jusqu la rponse du serveur.

    Proprit dordre plus forte (ordre total sur les requtes dun mmeclient).

    Gnralement ralises par messages asynchrones

    Smantique dinvocation si bas sur une couche transport non fiable.

    UE systmes rpartis, Universit de Brest Page 30/63

  • Appel de procdures distance (1)

    Emballagedes paramtres

    Dballagedes rsultats

    Dballagedes paramtres

    Emballagedes rsultats

    Excution de larequte(attente)

    Requte

    Rponse

    proc(a,b)

    SouchesProcessus

    Suite instructions

    Structure le programme de faon familire pour le programmeur.

    Communication transparente lutilisateur

    Prise en compte de lhtrognit : srialisation et encodage desdonnes.

    Notion de souches : encodage/dcodage + communication. Souchessouvent gnres.

    UE systmes rpartis, Universit de Brest Page 31/63

  • Appel de procdures distance (2)

    Exemple : les RPC SUN [RIF 95].

    Htrognit grce aux filtres XDR ; srialisation destructures complexes.

    Description des donnes en XDR, puis, utilisation ducompilateur rpcgen (gnration des filtres, sources,programme principal).

    Pas de transparence daccs (signature desprocdures), et pas de transparence la localisation(numro de programme, version, procdure + adresseIP ). Service portmap pour le port.

    Exemple dutilisation : NFS, NIS.

    Possibilit dinvocation asynchrone (sans rsultat).

    UE systmes rpartis, Universit de Brest Page 32/63

  • Le modle objets rpartis (1)

    Extension de lappel de procdure distance dans le monde objet.

    Objet = code + donnes (unit dencapsulation). Ce sont trssouvent des serveurs tat.

    Transparence lhtrognit, la localication, laccs :

    Inter-oprabilit (reprsentation des donnes, langages deprogrammation, protocoles et systmes).

    Notion de proxy (design-pattern) : reprsentation locale dunobjet distant. Gnration automatique de ces proxies.

    Gnration des composants logiciels par compilation dinterface.

    Service de dsignation/nommage, dvnements(design-pattern).

    UE systmes rpartis, Universit de Brest Page 33/63

  • Le modle objets rpartis (2)

    Exemple 1 : Java RMI

    Object exec(Task t);

    Proxy (souche)

    Client

    }

    Interface Java

    Interface Java

    Interface Java

    public interface calcul extends Remote {

    Serveur

    rmiregistry

    1. Quasi-totale transparence daccs = service dcrit par une interface Java. Pas detransparence la localisation.

    2. Proxy gnr par rmic, srialisation.

    3. Service de dsignation obligatoire (rmiregistry).

    4. Protocoles de communication : JRMP ou GIOP (CORBA).

    5. Support de linteroprabilit ... limit Java sauf GIOP.

    UE systmes rpartis, Universit de Brest Page 34/63

  • Le modle objets rpartis (3)

    Exemple 2 : CORBA

    Bus objets/GIOP

    IDLIDL

    Client Serveur/objets

    1. Transparence la localisation mais pas de transparence daccs = service dcriten IDL et API spcifique.

    2. Gnrateur IDL = utilisation de proxy mais approche plus statique.

    3. Service de dsignation optionnel.

    4. Protocole de communication (bus) : GIOP.

    5. Support de lhtrognit plus tendu. Portabilit, intgration de service.

    UE systmes rpartis, Universit de Brest Page 35/63

  • Sommaire

    1. Principes gnraux sur les systmes rpartis.

    2. Paradigmes et services de communication.

    3. Principaux problmes de coordination et de cohrencede donne.

    4. Conclusion, synthse.

    5. Rfrences.

    6. Acronymes.

    UE systmes rpartis, Universit de Brest Page 36/63

  • Cohrence et synchronisation (1)

    Architecture :

    1. Centralise = 1 horloge. Ordre total.

    2. Rpartie = plusieurs horloges non synchronises +communications asynchrones =plus dtat globalfacilement calculable et prsence dindterminismelogique.

    Problmes : partage de donnes rparties etcoordination rpartie.

    Solutions : algorithmes ddis dlection, dexclusionmutuelle, de consensus, de terminaison, etc.

    UE systmes rpartis, Universit de Brest Page 37/63

  • Cohrence et synchronisation (2)

    Exemple 1 : partage de donnes rparties

    Echanges demail = consensus rparti

    Rponses reues avant les questions.

    Exemple 2 : coordination rpartie

    Mise au point dun programme : comment arrterplusieurs processus rpartis simultanment ? =synchronisation.

    Comment rexcuter une application ? =indterminisme logique.

    UE systmes rpartis, Universit de Brest Page 38/63

  • Sommaire

    Algorithmes de coordination/synchronisation et departage de donnes rparties :

    1. Algorithmes centraliss.

    2. Algorithmes rpartis.

    3. Construction dhorloges globales.

    UE systmes rpartis, Universit de Brest Page 39/63

  • Algorithmes centraliss vs rpartis

    Facilit de ralisation, comportement dterministe.

    Solutions asymtriques = dploiement, administration(placement).

    Goulot dtranglement : performance, tolrance aux pannes.

    vs

    Gnralement symtrique.

    Flexibilit (administration). Tolrance aux pannes.

    Passage lchelle. Performance ? (complexit).

    Trs difficiles mettre au point = effet de sonde, indterminisme.

    UE systmes rpartis, Universit de Brest Page 40/63

  • Algorithme centralis (1)

    Exemple : le squenceur (diffusion atomique avec ordre total).

    Site D

    Squenceur

    Site C

    Site E

    M1 M2

    M1,M2

    Site BSite A

    M1,M2 M1,M2

    Algorithme simple utilisable pour toutes les ressources (exclusionmutuelle, partage de donnes ou de priphriques).

    Exemple : NFS.

    UE systmes rpartis, Universit de Brest Page 41/63

  • Algorithme centralis (2)

    Algorithme dlection de Chang et Roberts [CHA 79] :

    30

    30

    11 1

    2

    6

    9

    20

    16

    30

    5

    1

    10

    12

    23

    11

    Boucle physique ou logique. Initiateur multiple.

    Rception dun message : (1) sitemessage = modification du message.

    Rotation de confirmation.

    UE systmes rpartis, Universit de Brest Page 42/63

  • Algorithme rparti (1)

    Algorithme de Li et Hudak [LI 89].

    Plusieurs sites se partagent laccs un groupe depages de mmoire.

    Applicable sur toute forme de donne, exclusionmutuelle : pages, variables, fichiers, ...

    Implante une cohrence forte des donnes = lecture= dernire criture.

    UE systmes rpartis, Universit de Brest Page 43/63

  • Algorithme rparti (2)

    Chaque site maintient une table de pages,comprenant pour chaque page :

    Le propritaire (Owner) de la page = dernier rdacteur.

    Le type daccs (Access) du site sur la page (lecture,criture ou nil).

    Liste des lecteurs (Copyset) : liste des sites possdantune copie en lecture = invalidations lors des critures

    Un smaphore pour protger les accs la table depages.

    UE systmes rpartis, Universit de Brest Page 44/63

  • Algorithme rparti (3)

    Algorithme par diffusion, requte en criture :

    Site B Site C

    Site A

    Siteslecteurs

    Autressites

    (1)

    (1)

    (1)

    (1)

    (1)

    (3)(2)

    Site propritaire

    Site demandeur

    (1) Le site A diffuse sa requte tous les sites.

    (2) Le site C, propritaire, envoie la page et le copyset audemandeur, A.

    (3) Le site A envoie des invalidations aux sites lecteurs (dtenteursdune copie de la page concerne en lecture).

    UE systmes rpartis, Universit de Brest Page 45/63

  • Algorithme rparti (4)

    Algorithme par diffusion, requte en lecture :

    Site B Site C

    Site A Autressites

    (1)

    (1)

    (1)(2)

    Site propritaire

    Site demandeur(1)

    (1) Le site A diffuse sa requte tous les sites.

    (2) Le site C, propritaire, envoie une copie de la page et insre lesite A dans le copyset.

    UE systmes rpartis, Universit de Brest Page 46/63

  • Algorithme rparti (5)

    Gestionnaire de dfauts en lectureVerrouiller ( PTable[p].smaphore )

    diffuser une demande en lecture pour p

    attendre la rception de p

    PTable[p].accs := lecture

    Dverrouiller ( PTable[p].smaphore )

    Serveur en lectureVerrouiller ( PTable[p].smaphore )

    Si je suis le propritaire de p

    Alors

    PTable[p].copyset := PTable[p].copyset

    {s}

    PTable[p].accs := lecture

    Envoyer p au site s

    FSi

    Dverrouiller ( PTable[p].smaphore )

    UE systmes rpartis, Universit de Brest Page 47/63

  • Algorithme rparti (6)

    Gestionnaire de dfauts en critureVerrouiller ( PTable[p].smaphore )

    Diffuser une demande en criture pour p

    Attendre la rception de p et de son copyset

    Pour tout i dans copyset Faire

    Envoyer i Invalidation ( p )

    PTable[p].accs := criture

    PTable[p].copyset :=

    PTable[p].propritaire := ego

    Dverrouiller ( PTable[p].smaphore )

    UE systmes rpartis, Universit de Brest Page 48/63

  • Algorithme rparti (7)

    Serveur en critureVerrouiller ( PTable[p].smaphore )

    Si je suis le propritaire de p

    Alors

    Envoyer p et PTable[p].copyset au site s

    PTable[p].accs := nil

    PTable[p].propritaire := s

    FSi

    Dverrouiller ( PTable[p].smaphore )

    Serveur dinvalidationVerrouiller ( PTable[p].smaphore )

    PTable[p].accs := nil

    Dverrouiller ( PTable[p].smaphore )

    UE systmes rpartis, Universit de Brest Page 49/63

  • Ordonner les vnements (1)

    Systmes rpartis : pas dhorloge globale.

    Production dune horloge dans le systme rparti =imposer un ordre des vnements.

    =Utilisation dhorloges logiques [RAY 96]. Basessur les communications.

    UE systmes rpartis, Universit de Brest Page 50/63

  • Ordonner les vnements (2)

    Notion dvnements pertinents pour une application donne.

    Observation de la progression des autres processus du systme grce la notion de causalit [LAM 78]. Ordre partiel.

    x est causalement dpendant de y (not x y) si :

    1. x et y sont des vnements locaux (dits internes) et x sexcuteavant y.

    2. x et lmission dun message et y sa rception sur un site diffrent.

    3. Si x z et z y alors x y.

    x y signifit que x prcde temporellement y.

    UE systmes rpartis, Universit de Brest Page 51/63

  • Ordonner les vnements (3)

    1 2 3 8 9

    4 5

    10 11

    7651

    1 3

    P1

    P2

    P3

    9

    74

    2

    Un compteur par site (Hi).

    Mise jour de lhorloge locale :

    1. Rception message : Hi = max(Hi, Hmsg).

    2. Autres vnements : Hi = Hi + 1.

    Horloge globale : ordre total de Lamport (not ) ; soient deuxvnements, x sur le site i, y sur j :

    x y [Hx < Hy ou (Hx = Hy et i < j)]

    Lordre total de Lamport masque la causalit (ex : evt 3).UE systmes rpartis, Universit de Brest Page 52/63

  • Ordonner les vnements (4)

    Comment connatre la progression des autres sites :=horloges vectorielles [FID 91, MAT 89, SCH 88]

    Un vecteur de compteurs par site (V [1...n]).V [i] = horloge du site i. V = vue des horloges des autres sites.

    Mise jour de lhorloge locale :

    1. Rception message :

    k avec k 6= i : V [k] = max(V [k], msg[k])

    2. Pour tous les autres vnements : V [i] = V [i] + 1.

    Horloges coteuses mais capture lordre causal.

    UE systmes rpartis, Universit de Brest Page 53/63

  • Ordonner les vnements (5)

    Exemple :

    P1

    P3

    P2

    001

    010

    200

    220

    240

    230

    564

    554

    534

    234

    234

    100

    200

    300

    534

    434

    230

    232

    233

    UE systmes rpartis, Universit de Brest Page 54/63

  • Ordonner les vnements (6)

    Ordre causal vnements x et y tel que V X et V Y soientleur vecteur destampilles :

    x y V X < V Y

    x y V X V Y

    Avec :

    V X V Y i : V X[i] V Y [i]

    V X < V Y (V X V Y ) ( i : V X[i] < V Y [i])

    V X V Y (V X < V Y ) (V Y < V X)

    UE systmes rpartis, Universit de Brest Page 55/63

  • Sommaire

    1. Principes gnraux sur les systmes rpartis.

    2. Paradigmes et services de communication.

    3. Principaux problmes de coordination et de cohrencede donne.

    4. Conclusion, synthse.

    5. Rfrences.

    6. Acronymes.

    UE systmes rpartis, Universit de Brest Page 56/63

  • Conclusion, synthse et perspectives

    "Un systme distribu est un systme qui sexcute surun ensemble de machines sans mmoire partage, maisque pourtant lutilisateur voit comme une seule et uniquemachine." Tanenbaum [TAN 94].

    Objectifs : partage de ressources , tolrance auxpannes, cots, contraintes physiques.

    Services : communication, dsignation, htrognit,synchronisation et coordination.

    Un mot clef important retenir : Transparence=partielle actuellement.

    UE systmes rpartis, Universit de Brest Page 57/63

  • Sommaire

    1. Principes gnraux sur les systmes rpartis.

    2. Paradigmes et services de communication.

    3. Principaux problmes de coordination et de cohrencede donne.

    4. Conclusion, synthse.

    5. Rfrences.

    6. Acronymes.

    UE systmes rpartis, Universit de Brest Page 58/63

  • Rfrences

    [BER 99] G. Bernard. Applicabilit et performances des systmes dagents mobiles dansles systmes rpartis . pages 5768. 1re Confrence franaise sur les systmesdexploitation, juin 1999.

    [CHA 79] E. G. Chang and R. Roberts. An improved algorithm for decentralizedextrema-finding in circular configurations of processors . Communications of the ACM,22(5):281312, 1979.

    [COU 94] G. Coulouris, J. Dollimore, and T. Kindberg. Distributed SystemsConcepts andDesign, 2nd Ed. Addison-Wesley Publishers Ltd., 1994.

    [FID 91] C. J. Fidge. Logical Time in Distributed Computing Systems . IEEE Computer,24(8):2833, August 1991.

    [LAM 78] L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System .Communications of the ACM, 21(7):558565, July 1978.

    [LI 89] K. Li and P. Hudak. Memory Coherence in Shared Virtual Memory Systems . ACMTrans. on Computer Systems, 7(4):321359, November 1989.

    UE systmes rpartis, Universit de Brest Page 59/63

  • Rfrences

    [MAR 88] J. Legatheaux Martins and Y. Berbers. La dsignation dans les systmesdexploitation rpartis . Technique et Science Informatiques, 7(4):359372, avril 1988.

    [MAT 89] F. Mattern. Virtual time and global states of distributed systems . In Proc. of Int.Workshop on Parallel and Distributed Algorithms, Bonas, pages 215226, 1989.

    [ORF 95] R. Orfali, D. Harkey, and J. Erwards. Client/Serveur : guide de survie. InternationalThomson Publishing, Paris, 1995.

    [RAY 96] R. Raynal and M. Singhal. Capturing Causality in Distributed Systems . IEEEComputer, 29(2):4956, February 1996.

    [RIF 95] J. M. Rifflet. La communication sous UNIX : applications rparties. EdiscienceInternational, 2rd edition, 1995.

    [SCH 88] F. Schmuck. The use of efficient broadcast in asynchronous distributed systems. Tr88-928, Cornell University, 1988.

    [TAN 94] A. Tanenbaum. Systmes dexploitation : systmes centraliss et systmesdistribus. Interditions, Paris, 1994.

    UE systmes rpartis, Universit de Brest Page 60/63

  • Sommaire

    1. Principes gnraux sur les systmes rpartis.

    2. Paradigmes et services de communication.

    3. Principaux problmes de coordination et de cohrencede donne.

    4. Conclusion, synthse.

    5. Rfrences.

    6. Acronymes.

    UE systmes rpartis, Universit de Brest Page 61/63

  • Acronymes (1)

    NFS. Network File System.

    NIS. Network Information Service.

    RPC. Remote Procedure Call.

    XDR. External Data Representation.

    URL. Universal Resource Locators.

    DNS. Domain Name System.

    HTML. Hypertext Markup Language.

    HTTP. Hypertext Transfer Protocol.

    RMI. Remote Method Invocation.

    CORBA. Common Object Request Broker.

    IDL. Interface Definition Language.

    UE systmes rpartis, Universit de Brest Page 62/63

  • Acronymes (2)

    NTP. Network Time Protocol.

    UDDI. Universal Description, Discovery and Integration.

    SOAP. Simple Object Access Protocol.

    WSDL. Web Services Description Language.

    XML. Extensible Markup Language.

    GIOP. General Inter-ORB Protocol.

    UE systmes rpartis, Universit de Brest Page 63/63

    SommaireSommairePr'esentation, d'efinitions Pourquoi un syst`eme r'eparti ?Ce qu'offre un syst`eme r'epartiExemple 1~:~le syst`eme UNIXExemple 2~:~le WebSommaireCoh'erence et synchronisation (1)Coh'erence et synchronisation (2)D'esigner les ressources du syst`emeSupport de l'h'et'erog'en'eit'eTransparence aux pannes (1)Transparence aux pannes (2)Transparence aux pannes (3)Autres probl`emes importantsR'esum'e~:~services offerts Aspects architecturaux SommaireSommaireParadigme client/serveur (1)Paradigme client/serveur (2)Paradigme des agents mobilesParadigme de la m'emoire partag'eeSommaireServices disponiblesMessages asynchronesMessages asynchrones~:~UDPCommunications synchronesAppel de proc'edures `a distance (1)Appel de proc'edures `a distance (2)Le mod`ele objets r'epartis (1)Le mod`ele objets r'epartis (2)Le mod`ele objets r'epartis (3)SommaireCoh'erence et synchronisation (1)Coh'erence et synchronisation (2)SommaireAlgorithmes centralis'es extbf {vs} r'epartisAlgorithme centralis'e (1)Algorithme centralis'e (2)Algorithme r'eparti (1)Algorithme r'eparti (2)Algorithme r'eparti (3)Algorithme r'eparti (4)Algorithme r'eparti (5)Algorithme r'eparti (6)Algorithme r'eparti (7)Ordonner les 'ev'enements (1)Ordonner les 'ev'enements (2)Ordonner les 'ev'enements (3)Ordonner les 'ev'enements (4)Ordonner les 'ev'enements (5)Ordonner les 'ev'enements (6)SommaireConclusion, synth`ese et perspectivesSommaireR'ef'erences R'ef'erences SommaireAcronymes (1)Acronymes (2)