Eric Cariou
Universit de Pau et des Pays de l'Adour Dpartement Informatique Eric.Cariou@univ-pau.fr
1
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
Systmes distribus
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 ;
-ans ce cours
)erveur de fic'iers
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
>
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
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
&ransparent pour l5utilisateur 3 les informations s5affic'ent dans son navi"ateur uel ue soit la faGon dont le serveur les "nre
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
)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 ...
6estion du systme totalement dcentralise et distribue @cessite la mise en place d5al"orit'mes L+- complexes
1J
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
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
,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
1ais rend plus complexe la "estion du systme Capacit d5un systme ( "rer et rsister ( un ensemble de problmes
17
@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
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
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
1I
2J
Couche N+1
Couche N
,nit de donnes de protocole .@0 P-,.@0
21
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
#achine 1
Noeud
#achine $
27
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;
&CP ou ,-P
Communication entre systmes aux extrmits Pas de visibilit des systmes intermdiaires
Application TCP'UDP &P Liaison Physique &P Liaison Physique
2>
)ystme distribu
%ommunication
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
%ommunication
...
%ommunication
9ppel d5une procdure ( distance sur un lment Communication via une mmoire parta"e -iffusion d5vnements ...
)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
%ommunication
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
&odles d'interaction
72
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
Aonctionnement simple 9bstraction de l5appel d5un service 3 proc'e de l5appel d5une opration sur un lment lo"iciel
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
Diffusion de messages
2 rOles distincts
Emetteur 3 envoie des messa"es .ou vnements0 ( destination de tous les rcepteurs
-iffusion .broadcast0
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
Fe rcepteur est prvenu ue le messa"e est disponible et il lui est transmis .pus'0
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
&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
7C
&moire partage
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
7H
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