Sunteți pe pagina 1din 39

Introduction aux Systmes Distribus Licence Informatique 3me anne Introduction gnrale

Eric Cariou
Universit de Pau et des Pays de l'Adour Dpartement Informatique Eric.Cariou@univ-pau.fr
1

Plan gnral du cours

Introduction aux systmes distribus


Problmati ue! concepts "nraux &ec'ni ues de communication ( distance

Partie #$pro"rammation des systmes distribus$%


)oc*ets &CP+,-P .en C et /ava0 1iddle2are 3 /ava 41I Entres+sorties .flux0 et concurrence en /ava .t'reads0

En complment 3 pro"rammation /ava

Partie #$introduction ( l5al"orit'mi ue distribue$%


6estion du temps et d5tats distribus
2

Systmes distribus

)ystme distribu en opposition ( systme centralis )ystme centralis 3 tout est localis sur la m8me mac'ine et accessible par le pro"ramme
)ystme lo"iciel s5excutant sur une seule mac'ine 9ccdant localement aux ressources ncessaires .donnes! code! prip'ri ues! mmoire ...0 Ensemble d5ordinateurs indpendants connects en rseau et communi uant via ce rseau Cet ensemble appara:t du point de vue de l5utilisateur comme une uni ue entit
7

)ystme distribu 3 une dfinition parmi d5autres

Systmes distribus

<ision matrielle d5un systme distribu 3 arc'itecture matrielle


1ac'ine multi-processeurs avec mmoire parta"e Cluster d5ordinateurs ddis au calcul+traitement massif parallle =rdinateurs standards connects en rseau )ystme lo"iciel compos de plusieurs entits s5excutant indpendamment et en parallle sur un ensemble d5ordinateurs connects en rseau Conception lo"icielle des systmes distribus Par dfaut sur une arc'itecture matrielle de type ordinateurs connects en rseau ;

<ision lo"icielle d5un systme distribu

-ans ce cours

)erveur de fic'iers

Exemples de systmes distribus

9ccs aux fic'iers de l5utilisateur uel ue soit la mac'ine utilise 1ac'ines du dpartement informati ue

Clients 3 scinfe??? ,n serveur de fic'ier )ur toutes les mac'ines 3 /home/durand est le #$'ome directory$% de l5utilisateur durand P'ysi uement 3 fic'iers se trouvent uni uement sur le serveur <irtuellement 3 accs ( ces fic'iers ( partir de n5importe uelle mac'ine cliente en faisant #$croire$% ue ces fic'iers sont stoc*s localement 9rborescence de fic'iers ,nix 3 arborescence uni ue avec

4pertoires p'ysi uement locaux 4pertoires distants monts via le protocole @A) .@et2or* Aile )ystem0

>

Exemples de systmes distribus

)erveur de fic'ier .suite0


Intr8ts

9ccs aux fic'iers ( partir de n5importe uelle mac'ine )ystme de sauve"arde associ ( ce serveur &ransparent pour l5utilisateur )i rseau ou le serveur plante 3 plus d5accs aux fic'iers

Inconvnients

Exemples de systmes distribus

9utre exemple de systme distribu 3 Deb


,n serveur 2eb au uel se connecte un nombre uelcon ue de navi"ateurs 2eb .clients0 9ccs ( distance ( de l5information

9ccs simple

)erveur renvoie une pa"e E&1F stati ue u5il stoc*e localement )erveur interro"e une base de donnes pour "nrer dynami uement le contenu de la pa"e

&raitement plus complexe

&ransparent pour l5utilisateur 3 les informations s5affic'ent dans son navi"ateur uel ue soit la faGon dont le serveur les "nre

Exemples de systmes distribus

Calculs scientifi ues


Plusieurs arc'itectures matrielles "nralement utilises

Ensemble de mac'ines identi ues relies entre elles par un rseau ddi et trs rapide .cluster0 Ensemble de mac'ines 'tro"nes connectes dans un rseau local ou bien encore par Internet ."rille0 ,n .ou des0 serveur distribue des calculs aux mac'ines clients ,n client excute son calcul puis renvoie le rsultat au serveur ,tilisation d5un maximum de ressources de calcul )i rseau ou serveur plante! arr8te le systme

Principe "nral

9vanta"e

Inconvnient

Intrts des systmes distribus

,tiliser et parta"er des ressources distantes

)ystme de fic'iers 3 utiliser ses fic'iers ( partir de n5importe uelle mac'ine Imprimante 3 parta"e entre toutes les mac'ines Calculs scientifi ues distribus sur un ensemble de mac'ines -uplication pour fiabilit 3 deux serveurs de fic'iers dupli us! avec sauve"arde Plusieurs lments identi ues pour rsister ( la monte en c'ar"e ...

=ptimiser l5utilisation des ressources disponibles

)ystme plus robuste

Incon nients!points faibles

)i problme au niveau du rseau


Fe systme marc'e mal ou plus du tout

Kien souvent! un lment est central au fonctionnement du systme 3 serveur


)i serveur plante 3 plus rien ne fonctionne 6oulot potentiel d5tran"lement si dbit d5information trs important )ans lment central

6estion du systme totalement dcentralise et distribue @cessite la mise en place d5al"orit'mes L+- complexes

1J

Particularits des systmes distribus

)ystme distribu M clat

Connaissance des lments formant le systme 3 besoin d5identification et de localisation 6estion du dploiement et de la prsence d5lments essentiels &ec'ni ues et protocoles de communication
Contraintes du rseau 3 fiabilit .perte de donnes0 et temps de propa"ation .dpendant du type de rseau et de sa c'ar"e0

Communication ( distance est centrale

@aturellement concurrent et parallle

C'a ue lment sur c'a ue mac'ine est autonome


Kesoin de sync'ronisation! coordination entre lments distants et pour l5accs aux ressources .exclusion mutuelle ...0 11

Particularits des systmes distribus

Etro"nit
-es mac'ines utilises .puissance! arc'itecture matrielle...0 -es systmes d5exploitation tournant sur ces mac'ines -es lan"a"es de pro"rammation des lments lo"iciels formant le systme -es rseaux utiliss 3 impact sur performances! dbit! disponibilit ...

4seau local rapide Internet 4seaux sans fil 12

"iabilit des systmes distribus

@ombreux points de pannes ou de problmes potentiels

4seau

,ne partie du rseau peut-8tre inaccessible Fes temps de communication peuvent varier considrablement selon la c'ar"e du rseau Fe rseau peut perdre des donnes transmises ,ne ou plusieurs mac'ines peut planter! en"endrant une paralysie partielle ou totale du systme

1ac'ine

Peut au"menter la fiabilit par redondance! duplication de certains lments

1ais rend plus complexe la "estion du systme Capacit d5un systme ( "rer et rsister ( un ensemble de problmes

&olrance aux fautes

17

Scurit des systmes distribus

@ature d5un systme distribu fait u5il est beaucoup plus suNet ( des atta ues
Communication ( travers le rseau peuvent 8tre interceptes =n ne conna:t pas touNours bien un lment distant avec ui on communi ue Connexion scurise par aut'entification avec les lments distants Crypta"e des messa"es circulant sur le rseau

)olutions

1;

#ransparences

&ransparence
Aait pour une fonctionnalit! un lment d58tre invisible ou cac' ( l5utilisateur ou un autre lment formant le systme distribu

-evrait plutOt parler d5opacit dans certains cas ...

Kut est de cac'er l5arc'itecture! le fonctionnement de l5application ou du systme distribu pour appara:tre ( l5utilisateur comme une application uni ue co'rente

F5I)= dfinit plusieurs transparences .norme 41-=-P0

9ccs! localisation! concurrence! rplication! mobilit! panne! performance! c'elle

1>

#ransparences

&ransparence d5accs

9ccs ( des ressources distantes aussi facilement ue localement 9ccs aux donnes indpendamment de leur format de reprsentation 9ccs aux lments+ressources indpendamment de leur localisation Excution possible de plusieurs processus en parallle avec utilisation de ressources parta"es Possibilit de dupli uer certains lments+ressources pour au"menter la fiabilit 1B

&ransparence de localisation

&ransparence de concurrence

&ransparence de rplication

#ransparences

&ransparence de mobilit
Possibilit de dplacer des lments+ressources -oit supporter u5un ou plusieurs lments tombe en panne Possibilit de reconfi"urer le systme pour en au"menter les performances -oit supporter l5au"mentation de la taille du systme .nombre d5lments! de ressources ...0
1C

&ransparence de panne

&ransparence de performance

&ransparence d5c'elle

#ransparences

,n systme donn va offrir un certain nombre de transparences


)ouvent au minimum transparences de localisation! d5accs et de concurrence Peut 8tre tendu en nombre d5lments matriels le constituant Possibilit d5aNouts de nouveaux services ou de rimplmentation de services existants au niveau lo"iciel

)ystme distribu ouvert

Aonctionnement se base sur des interfaces d5interactions clairement dfinies 1H

$appel sur les rseaux

@orme =)I de l5I)= 3 arc'itecture en C couc'es


Pro"ramme d5application 9pplication Prsentation )ession &ransport 4seau Fiaison P'ysi ue -ialo"ue Pro"ramme d5application 9pplication Prsentation )ession &ransport 4seau Fiaison P'ysi ue

)upport de communication .cPble0

1I

$appel sur les rseaux

1odle de communication en couc'e


,ne couc'e ( un rOle particulier ,ne couc'e d5une entit communi ue avec une couc'e de m8me niveau d5une autre entit en respectant un certain protocole de communication Pour communi uer avec une autre entit! une couc'e utilise les services de sa couc'e locale infrieure -onnes c'an"es entre 2 couc'es 3 trames ou pa uets

)tructure de donnes &aille borne -eux parties


-onnes de la couc'e suprieure ( transmettre -onnes de contrOle de la communication entre couc'es

2J

$appel sur les rseaux

=r"anisation des trames+pa uets entre couc'es @ et @L1


,nit de donnes de protocole .@L10 P-,.@L10

Couche N+1

Informations de contrOle de protocole .@0 PCI.@0

,nit de donnes de service .@0 )-,.@0

Couche N
,nit de donnes de protocole .@0 P-,.@0

21

$appel sur les rseaux

@orme =)I de l5I)= 3 arc'itecture en C couc'es

P'ysi ue 3 transmission des donnes binaires sur un support p'ysi ue Fiaison 3 "estion d5accs au support p'ysi ue! assure ue les donnes envoyes sur le support p'ysi ue sont bien reGues par le destinataire 4seau 3 transmission de donnes sur le rseau! trouve les routes ( travers un rseau pour accder ( une mac'ine distante &ransport 3 transmission .fiable0 entre 2 applications )ession 3 sync'ronisation entre applications! reprises sur pannes Prsentation 3 indpendance des formats de reprsentation des donnes .entiers! c'a:nes de caractres...0 9pplication 3 protocoles applicatifs .E&&P! A&P! )1&P ...0 22

$appel sur les rseaux


Application Utilisateur "A" Application Prsentation Session Transport Rseau Liaison de Donnes Physique Rseau Liaison Physique Rseau Liaison Physique Co!!unication "irtuelle Circulation des paquets de donnes Application Utilisateur " " Application Prsentation Session Transport Rseau Liaison de Donnes Physique

#achine 1

Noeud

Noeud Routeurs rseau%

#achine $

27

$appel sur les rseaux

4seaux &CP+IP
4seaux locaux! internet ... Couc'e rseau 3 IP .Internet Protocol0

6estion des communications et connexions entre les mac'ines ( travers le rseau 4ec'erc'e des routes ( travers le rseau pour accder ( une mac'ine &CP 3 connexion virtuelle directe et fiable entre 2 applications ,-P 3 mode data"ramme

Couc'e transport

Envoi de pa uets de donnes Pas de "estion de l5ordre d5arrive! pas de "estion des pa uets perdus

2;

$appel sur les rseaux

&CP ou ,-P
Communication entre systmes aux extrmits Pas de visibilit des systmes intermdiaires
Application TCP'UDP &P Liaison Physique &P Liaison Physique
2>

Application TCP'UDP &P Liaison Physique

Co!!unication d(e%tr!it ) e%tr!it

)ystme distribu

%ommunication

Ensemble d5entits lo"icielles communi uant entre-elles

Entits lo"icielles s5excutent sur des mac'ines relies entre elles par un rseau Communication entre entits lo"icielles
Fe plus basi ue 3 directement en appelant les services des couc'es &CP ou ,-P Plus 'aut niveau 3 dfinition de couc'es offrant des services plus complexes

Couc'e ralise en s5appuyant sur les couc'es &CP+,-P Exemple de service 3 appel d5une procdure c'eQ une entit distante @otion de middle2are .inter"iciel0 2B

1iddle2are ou inter"iciel 3 couc'e lo"iciel


)5intercale entre le systme d5exploitation+rseau et les lments de l5application distribue =ffre un ou plusieurs services de communication entre les lments formant l5application ou le systme distribu
Elment 1 1iddle2are Couc'es rseau )ystme Exploit. 1atriel Elment 2 1iddle2are Couc'es rseau )ystme Exploit. 1atriel 4seau p'ysi ue Elment @ 1iddle2are

%ommunication

...

Couc'es rseau )ystme Exploit. 1atriel 2C

%ommunication

Kut et fonctionnalits d5un middle2are


6estion de l5'tro"nit

Fan"a"e de pro"rammation! systmes d5exploitation utiliss ...

=ffrir des abstractions de communication de plus 'aut niveau


9ppel d5une procdure ( distance sur un lment Communication via une mmoire parta"e -iffusion d5vnements ...

=ffrir des services de confi"uration et de "estion du systme


)ervice d5annuaire pour conna:tre les lments prsents )ervices de persistance! de temps! de transaction! de scurit ... 2H

%ommunication

Protocole de communication
Ensemble de r"les et de contraintes "rant une communication entre plusieurs entits )e mettre d5accord sur la faGon de communi uer pour bien se comprendre )5assurer ue les donnes envoyes sont bien reGues

Kut du protocole

Plusieurs types d5informations circulent entre les entits


Fes donnes ( c'an"er Fes donnes de contrOle et de "estion du protocole
2I

%ommunication

Exemple basi ue de protocole


,ne entit envoie des donnes ( une deuxime entit Fa deuxime entit envoie un ac uittement pour prvenir u5elle a bien reGue les donnes 1ais si utilise un rseau non fiable ou aux temps de transmission non borns

Comment "rer la perte d5un pa uet de donnes R Comment "rer la perte d5un ac uittement R Comment "rer u5un messa"e peut arriver avant un autre alors u5il a t mis aprs R

7J

Fes lments distribus intera"issent! communi uent entre eux selon plusieurs modles possibles

&odles d'interaction

Client+serveur -iffusion de messa"es 1moire parta"e Pair ( pair ... Envoi de messa"e d5un lment vers un autre lment 9 partir d5envois de messa"es! peut construire les protocoles de communication correspondant ( un modle d5interaction
71

9bstraction+primitive de communication basi ue


4Ole des messa"es


&odles d'interaction

-onnes c'an"es entre les lments


-emande de re u8te 4sultat d5une re u8te -onne de toute nature ... 9c uittement 3 messa"e bien reGu )ync'ronisation! coordination ...

6estion! contrOle des protocoles


72

&odle client!ser eur

2 rOles distincts

Client 3 demande ue des re u8tes ou des services lui soient rendus )erveur 3 rpond aux re u8tes des clients 1essa"e du client vers le serveur pour faire une re u8te Excution d5un traitement par le serveur pour rpondre ( la re u8te 1essa"e du serveur vers le client avec le rsultat de la re u8te Client 3 navi"ateur Deb de l5utilisateur 4e u8tes 3 rcuprer le contenu d5une pa"e E&1F "re ou "nre par le serveur 77

Interaction

Exemple 3 serveur Deb


&odle client!ser eur

1odle le plus rpandu


Aonctionnement simple 9bstraction de l5appel d5un service 3 proc'e de l5appel d5une opration sur un lment lo"iciel

Interaction de base en pro"rammation

Particularits du modle

Fiens forts entre le client et le serveur ,n client peut aussi Nouer le rOle de serveur .et vice-versa0 dans une autre interaction @cessit "nralement pour le client de conna:tre prcisement le serveur .sa localisation0

Ex 3 ,4F du site Deb 7;

Interaction de type #$1 vers 1$%

Diffusion de messages

2 rOles distincts
Emetteur 3 envoie des messa"es .ou vnements0 ( destination de tous les rcepteurs

-iffusion .broadcast0

Possibilit de prciser un sous-ensemble de rcepteurs .multicast0

4cepteurs 3 reGoivent les messa"es envoys Emetteur envoie un messa"e Fe middle2are s5occupe de transmettre ce messa"e ( c'a ue rcepteur
7>

Interaction

Diffusion de messages

2 modes de rception
Fe rcepteur va vrifier lui-m8me u5il a reGu un messa"e .pull0

Ko:te aux lettres

Fe rcepteur est prvenu ue le messa"e est disponible et il lui est transmis .pus'0

Fe facteur sonne ( la porte pour remettre en main propre le courrier

Particularits du modle
-pendance plus faible entre les participants

Pas besoin pour l5metteur d58tre directement connect aux rcepteurs ni m8me de savoir combien ils sont 7B

Interaction de type #$1 vers @ %

&moire partage

Fes lments communi uent via une mmoire parta"e ( l5aide d5une interface d5accs ( la mmoire

9Nout d5une donne ( la mmoire Fecture d5une donne dans la mmoire 4etrait d5une donne de la mmoire

Fe middle2are "re l5accs ( la mmoire pour c'acun des participants Particularit du modle

9ucun lien! aucune interaction directe entre les participants

7C

&moire partage

Complexit du modle 3 dans la "estion de la mmoire


=n est dans un systme distribu Comment "rer une mmoire dans ce contexte R Plusieurs solutions

-ployer toute la mmoire sur un seul site

9ccs simple mais "oulot potentiel d5tran"lement 9vec ou sans duplication des donnes Il faut mettre en place des al"orit'mes L+- complexes de "estion de mmoire distribue

Eclater la mmoire sur plusieurs sites


7H

&odle pair ( pair )peer to peer*

,n seul rOle 3 pas de distinction entre les participants

C'a ue participant est connect avec tous les participants d5un "roupe et tout le monde effectue les m8mes types d5actions

Pour parta"er des donnes! effectuer un calcul commun ... 1odles d5c'an"es de fic'iers .e-mule! bit-torrent0
9vec parfois un mode 'ybride client+serveur S P2P )erveur sert ( conna:tre la liste des fic'iers et effectuer des rec'erc'es Fe mode P2P est utilis ensuite pour les transferts C'acun envoie une partie du fic'ier ( d5autres participants

Exemples

9l"orit'me de consensus

C'acun mesure une valeur .la m8me en t'orie0! l5envoie aux autres Focalement c'acun excute le m8me al"orit'me pour lire la bonne valeur

7I

S-ar putea să vă placă și