Introduction à l'algorithmique Distribuée. Exclusion mutuelle
|
|
- Alexis Joseph
- il y a 2 ans
- Total affichages :
Transcription
1 Introduction à l'algorithmique Distribuée Exclusion mutuelle Eric Cariou Université de Pau et des Pays de l'adour Département Informatique 1
2 Exclusion mutuelle distribuée Exclusion mutuelle Contexte de plusieurs processus s'exécutant en parallèle Accès à une ressource partagée par un seul processus à la fois Exclusion mutuelle en distribué Accès à une ressource partagée distante par un seul processus à la fois Processus distribués Requêtes et gestion d'accès via des messages échangés entre les processus Nécessité de mettre en oeuvre des algorithmes gérant ces échanges de messages pour assurer l'exclusion mutuelle Algorithmes d'exclusion mutuelle décrits dans ce cours : plus de détails dans «Synchronisation et état global dans les systèmes répartis», Michel Raynal, Eyrolles,
3 Rappel exclusion mutuelle Exclusion mutuelle Une ressource partagée ou une section critique n'est accédée que par un processus à la fois Un processus est dans 3 états possibles, par rapport à l'accès à la ressource Demandeur : demande à utiliser la ressource, à entrer dans la section Dedans : dans la section critique, utilise la ressource partagée Dehors : en dehors de la section et non demandeur d'y entrer Changement d'état par un processus De dehors à demandeur pour demander à accéder à la ressource De dedans à dehors pour préciser qu'il libère la ressource Le passage de l'état demandeur à l'état dedans est géré par le système et/ou l'algorithme de gestion d'accès à la ressource 3
4 Rappel exclusion mutuelle Diagramme d'états de l'accès en exclusion mutuelle Dehors acquérir Demandeur L'accès en exclusion mutuelle doit respecter deux propriétés libérer < géré par le système > Dedans Sûreté (safety) : au plus un processus est à la fois dans la section critique (dans l'état dedans) Vivacité (liveness) : tout processus demandant à entrer dans la section critique (à passer dans l'état dedans) y entre en un temps fini 4
5 Exclusion mutuelle distribuée Plusieurs grandes familles de méthodes Contrôle par un serveur qui centralise les demandes d'accès à la ressource partagée Contrôle par jeton Un jeton circule entre les processus et donne l'accès à la ressource La gestion et l'affectation du jeton et donc l'accès à la ressource est faite par les processus entre eux Deux approches : jeton circulant en permanence ou affecté à la demande des processus Contrôle par permission Les processus s'autorisent mutuellement à accéder à la ressource 5
6 Exclusion mutuelle : serveur Principe général Un serveur centralise et gère l'accès à la ressource Algorithme Un processus voulant accéder à la ressource (quand il passe dans l'état demandeur) envoie une requête au serveur Quand le serveur lui envoie l'autorisation, il accède à la ressource (passe dans l'état dedans) Il informe le serveur quand il relâche la ressource (passe dans l'état dehors) Le serveur reçoit les demandes d'accès et envoie les autorisations d'accès aux processus demandeurs Avec par exemple une gestion FIFO : premier processus demandeur, premier autorisé à accéder à la ressource 6
7 Exclusion mutuelle : serveur Méthode par serveur centralisateur, critiques Avantages Très simple à mettre en oeuvre Simple pour gérer la concurrence d'accès à la ressource Inconvénients Nécessite un élément particulier pour gérer l'accès Potentiel point faible, goulot d'étranglement Suppression du serveur centralisateur Via par exemple une méthode à jeton : le processus qui a le jeton peut accéder à la ressource La gestion et l'affectation du jeton est faite par les processus entre eux Pas de besoin de serveur centralisateur 7
8 Exclusion mutuelle : méthode par jeton Principe général Un jeton unique circule entre tous les processus Le processus qui a le jeton est le seul qui peut accéder à la section critique Respect des propriétés Sûreté : grâce au jeton unique Vivacité : l'algorithme doit assurer que le jeton circule bien entre tous les processus voulant accéder à la ressource Plusieurs versions Anneau sur lequel circule le jeton en permanence Jeton affecté à la demande des processus 8
9 Exclusion mutuelle : méthode par jeton Algorithme de [Le Lann, 77] Un jeton unique circule en permanence entre les processus via une topologie en anneau Quand un processus reçoit le jeton S'il est dans l'état demandeur : il passe dans l'état dedans et accède à la ressource S'il est dans l'état dehors, il passe le jeton à son voisin Quand le processus quitte l'état dedans, il passe le jeton à son voisin Respect des propriétés Sûreté : via le jeton unique qui autorise l'accès à la ressource Vivacité : si un processus lâche le jeton (la ressource) en un temps fini et que tous les processus appartiennent à l'anneau 9
10 Exclusion mutuelle : méthode par jeton Algorithme de [Le Lann, 77], critiques Inconvénients Nécessite des échanges de messages (pour faire circuler le jeton) même si aucun site ne veut accéder à la ressource Temps d'accès à la ressource peut être potentiellement relativement long Si le processus i+1 a le jeton et que le processus i veut accéder à la ressource et est le seul à vouloir y accéder, il faut quand même attendre que le jeton fasse tout le tour de l'anneau Avantages Très simple à mettre en oeuvre Intéressant si nombreux processus demandeurs de la ressource Jeton arrivera rapidement à un processus demandeur Équitable en terme de nombre d'accès et de temps d'attente Aucun processus n'est privilégié 10
11 Exclusion mutuelle : méthode par jeton Variante de la méthode du jeton Au lieu d'attendre le jeton, un processus diffuse à tous le fait qu'il veut obtenir le jeton Le processus qui a le jeton sait alors à qui il peut l'envoyer Évite les attentes et les circulations inutiles du jeton Algorithme de [ Ricart & Agrawala, 83 ] Soit N processus avec un canal bi-directionnel entre chaque processus Canaux fiables mais pas forcément FIFO Localement, un processus Pi possède un tableau nbreq, de taille N Pour Pi, nbreq [ j ] est le nombre de requêtes d'accès que le processus Pj a fait et que Pi connaît (par principe il les connaît toutes) 11
12 Exclusion mutuelle : méthode par jeton Algorithme de [ Ricart & Agrawala, 83 ] (suite) Le jeton est un tableau de taille N jeton [ i ] est le nombre de fois où le processus Pi a accédé à la ressource La case i de jeton n'est modifiée que par Pi quand celui-ci accède à la ressource Initialisation Pour tous les sites Pi : j [ 1.. N ] : nbreq [ j ] = 0 Jeton : j [ 1.. N ] : jeton [ j ] = 0 Un site donné possède le jeton au départ Quand un site veut accéder à la ressource et n'a pas le jeton Envoie un message de requête à tous les processus 12
13 Exclusion mutuelle : méthode par jeton Algorithme de [ Ricart & Agrawala, 83 ] (suite) Quand processus Pj reçoit un message de requête venant de Pi Pj modifie son nbreq localement : nbreq [ i ] = nbreq [ i ] + 1 Pj mémorise que Pi a demandé à avoir la ressource Si Pj possède le jeton et est dans l'état dehors Pj envoie le jeton à Pi Quand processus récupère le jeton Il accède à la ressource (passe dans l'état dedans) Quand Pi libère la ressource (passe dans l'état dehors) Met à jour le jeton : jeton [ i ] = jeton [ i ] + 1 Parcourt nbreq pour trouver un j tel que : nbreq [ j ] > jeton [ j ] Une demande d'accès à la ressource de Pj n'a pas encore été satisfaite : Pi envoie le jeton à Pj Si aucun processus n'attend le jeton : Pi le garde 13
14 Exclusion mutuelle : méthode par jeton Algorithme de [ Ricart & Agrawala, 83 ], respect des propriétés Sûreté : seul le processus ayant le jeton accède à la ressource Vivacité : assurée si les processus distribuent équitablement le jeton aux autres processus Méthode de choix du processus qui va récupérer le jeton lorsque l'on sort de l'état dedans Pi parcourt nbreq à partir de l'indice i+1 jusqu'à N puis continue de 1 à i-1 Chaque processus teste les demandes d'accès des autres processus en commençant à un processus spécifique et différent de la liste Évite que par exemple tous les processus avec un petit identificateur soient servis systématiquement en premier 14
15 Exclusion mutuelle : par permission Méthodes par permission Un processus doit avoir l'autorisation des autres processus pour accéder à la ressource Principe général Un processus demande l'autorisation à un sous-ensemble donné de tous les processus Deux modes Permission individuelle : un processus peut donner sa permission à plusieurs autres à la fois Permission par arbitre : un processus ne donne sa permission qu'à un seul processus à la fois Les sous-ensembles sont conçus alors tel qu'au moins un processus soit commun à 2 sous-ensembles : il joue le rôle d'arbitre 15
16 Ex. mutuelle : permission individuelle Algorithme de [Ricart & Agrawala, 81] Permission individuelle Chaque processus demande l'autorisation à tous les autres (sauf lui par principe) Liste des processus à interroger par le processus Pi pour accéder à la ressource : Ri = { 1,..., N } { i } Se base sur une horloge logique (Lamport) pour garantir le bon fonctionnement de l'algorithme Ordonnancement des demandes d'accès à la ressource Si un processus ayant fait une demande d'accès reçoit une demande d'un autre processus avec une date antérieure à la sienne, il donnera son autorisation à l'autre processus Et passera donc après lui puisque l'autre processus fera le contraire 16
17 Ex. mutuelle : permission individuelle Algorithme de [Ricart & Agrawala, 81], fonctionnement Chaque processus gère les variables locales suivantes Une horloge Hi Une variable dernier qui contient la date de la dernière demande d'accès la ressource L'ensemble Ri Un ensemble d'identificateurs de processus dont on attend une réponse : attendu Un ensemble d'identificateurs de processus dont on diffère le renvoi de permission si on est plus prioritaire qu'eux : différé Initialisation Hi = dernier = 0 différé =, attendu = Ri 17
18 Ex. mutuelle : permission individuelle Algorithme de [Ricart & Agrawala, 81], fonctionnement (suite) Si un processus veut accéder à la ressource, il exécute Hi = Hi + 1 dernier = Hi attendu = Ri Envoie une demande de permission à tous les processus de Ri avec estampille ( Hi, i ) Se met alors en attente de réception de permission de la part de tous les processus dont l'identificateur est contenu dans attendu Quand l'ensemble attendu est vide, le processus a reçu la permission de tous les autres processus Accède alors à la ressource partagée Quand accès terminé Envoie une permission à tous les processus dont l'id est dans différé différé est ensuite réinitialisé (différé = ) 18
19 Ex. mutuelle : permission individuelle Algorithme de [Ricart & Agrawala, 81], fonctionnement (suite) Quand un processus Pi reçoit une demande de permission de la part du processus Pj contenant l'estampille (H, j) Met à jour Hi : Hi = max (Hi, H) Si Pi pas en attente d'accès à la ressource : envoie permission à Pj Sinon, si Pi est en attente d'accès à la ressource Si Pi est prioritaire : place j dans l'ensemble différé On lui enverra la permission quand on aura accédé à la ressource Si Pj est prioritaire : envoi permission à Pj Pj doit passer avant moi, je lui envoie ma permission La priorité est définie selon la datation des demandes d'accès à la ressource de chaque processus Le processus prioritaire est celui qui a fait sa demande en premier Ordre des dates : l'ordre << de l'horloge de Lamport : ( dernier, i ) << ( H, j ) si ( ( dernier < H ) ou ( dernier = H et i < j ) ) 19
20 Ex. mutuelle : permission individuelle Algorithme de [Ricart & Agrawala, 81], fonctionnement (fin) Quand processus Pi reçoit une permission de la part du processus Pj Supprime l'identificateur de Pj de l'ensemble attendu : attendu = attendu { j } Respect des propriétés Sûreté : vérifiée (et prouvable...) Vivacité : assurée grâce aux datations et aux priorités associées Inconvénient principal de cet algorithme Nombre relativement important de messages échangés 20
21 Ex. mutuelle : permission individuelle Permission individuelle, amélioration de l'algorithme de [Ricart & Agrawala, 81] [Carvalho & Roucairol, 83] Si Pi veut accéder plusieurs fois de rang à la ressource partagée et si Pj entre 2 accès (ou demandes d'accès) de Pi n'a pas demandé à accéder à la ressource Pas la peine de demander l'autorisation à Pj car on sait alors qu'il donnera par principe son autorisation à Pi Limite alors le nombre de messages échangés [Chandy & Misra, 84], améliorations tel que Les processus ne voulant pas accéder à la ressource et qui ont déjà donné leur permission ne reçoivent pas de demande de permission Horloges avec des datations bornées (modulo m) Pas d'identification des processus 21
22 Ex. mutuelle : permission par arbitre Permission par arbitre Un processus ne donne qu'une permission à la fois Il redonnera sa permission à un autre processus quand le processus a qui il avait donné précédemment la permission lui a indiqué qu'il a fini d'accéder à la ressource La sûreté est assurée car Les sous-ensemble de processus à qui un processus demande la permission sont construits tel qu'ils y ait toujours au moins un processus commun à 2 sous-ensemble Un processus commun à 2 sous-ensembles est alors arbitre Comme il ne peut donner sa permission qu'à un seul processus, les processus de 2 sous-ensembles ne peuvent pas tous donner simultanément la permission à 2 processus différents C'est donc ce processus commun qui détermine à qui donner la ressource 22
23 Ex. mutuelle : permission par arbitre Algorithme de [ Maekawa, 85 ] Chaque processus Pi possède un sous-ensemble Ri d'identificateurs de processus à qui Pi demandera l'autorisation d'accéder à la ressource i,j [ 1..N ] : Ri Rj Deux sous-ensembles de 2 processus différents ont obligatoirement au moins un élément en commun (le ou les arbitres) Cela rend donc inutile le besoin de demander la permission à tous les processus, d'où les sous-ensembles Ri ne contenant pas tous les processus i : Ri = K Pour une raison d'équité, les sous-ensembles ont la même taille pour tous les processus i : i est contenu dans D sous-ensembles Chaque processus joue autant de fois le rôle d'arbitre qu'un autre processus 23
24 Ex. mutuelle : permission par arbitre Algorithme de [ Maekawa, 85 ] (suite) Solution optimale en nombre de permissions à demander et de messages échangés K N et D = K Fonctionnement de l'algorithme Chaque processus possède localement Une variable vote permettant de savoir si le processus a déjà voté (a déjà donné sa permission à un processus) Une file file d'identificateurs de processus qui ont demandé la permission mais à qui on ne peut la donner de suit Un compteur réponses du nombre de permissions reçues Initialisation État non demandeur, vote = faux et file =, réponses = 0 24
25 Ex. mutuelle : permission par arbitre Algorithme de [Maekawa, 85], fonctionnement (suite) Quand processus Pi veut accéder à la ressource réponses = 0 Envoie une demande de permission à tous les processus de Ri Quand réponses = Ri, Pi a reçu une permission de tous, il accède alors à la ressource Après l'accès à la ressource, envoie un message à tous les processus de Ri pour les informer que la ressource est libre Quand processus Pi reçoit une demande de permission de la part du processus Pj Si Pi a déjà voté (vote = vrai) ou accède actuellement à la ressource : place l'identificateur de Pj en queue de file Sinon : envoie sa permission à Pj et mémorise qu'il a voté vote = vrai 25
26 Ex. mutuelle : permission par arbitre Algorithme de [Maekawa, 85], fonctionnement (suite) Quand Pi reçoit de la part du processus Pj un message lui indiquant que Pj a libéré la ressource Si file est vide, alors vote = faux Pi a déjà autorisé tous les processus en attente d'une permission de sa part Si file est non vide Retire le premier identificateur (disons k) de la file et envoie à Pk une permission d'accès à la ressource vote reste à vrai 26
27 Ex. mutuelle : permission par arbitre Algorithme de [Maekawa, 85], problème La vivacité n'est pas assurée par cet algorithme car des cas d'interblocage sont possibles Pour éviter ces interblocages, améliorations de l'algorithme en définissant des priorités entre les processus En datant les demandes d'accès avec une horloge logique En définissant un graphe de priorités des processus 27
28 Ex. mutuelle : tolérance aux fautes Tolérance aux fautes Les algorithmes décrits dans ce cours ne supportent pas des pertes de messages et/ou des crash de processus Mais adaptation possibles de certains algorithmes pour résister à certains problèmes Peut aussi améliorer la tolérance aux fautes en utilisant des détecteurs de fautes associés aux processus Exemple de détecteur de fautes basique Élément s'exécutant localement à coté de chaque processus Peut être interrogé pour connaître l'état des autres processus Tous les X secondes, un processus diffuse un message «je suis vivant» aux autres processus Si au bout d'un certain temps, un processus n'a pas reçu de message d'un autre : il est suspecté d'être mort 28
29 Ex. mutuelle : tolérance aux fautes Détecteur de fautes basique, efficacité Fiable dans un système distribué synchrone : à cause du délai borné de réception des messages On sait qu'on recevra un message dans un certain délai si le processus est vivant Non fiable dans un système distribué asynchrone La durée de transmission non bornée d'un message ne permet pas de décider entre Un processus vivant mais dont le message met beaucoup de temps à arriver Un processus planté qui n'envoie plus de message NB : on se base tout de même sur des canaux de communication fiables Sinon on ne pourrait pas différencier une perte de message d'un message non envoyé 29
Algorithmique distribuée. Exclusion mutuelle
Algorithmique distribuée Exclusion mutuelle Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion
Algorithmique Distribuée Exclusion mutuelle distribuée
Algorithmique Distribuée Exclusion mutuelle distribuée Laurent PHILIPPE Master 2 Informatique UFR des Sciences et Techniques 2013/2014 Laurent PHILIPPE Chapitre 2: Exclusion mutuelle distribuée 1 / 68
Chapitre 3. Exclusion mutuelle répartie
Chapitre 3 Exclusion mutuelle répartie Chap 3 Exclusion mutuelle répartie Pas de mémoire commune => échanges de messages Protocole exempt d interbolcage et équitable => un processus désireux de pénétrer
L exclusion mutuelle distribuée
L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué
Introduction aux Systèmes Distribués. Gestion du temps & état global dans un système distribué
Introduction aux Systèmes Distribués Licence Informatique 3 ème année Gestion du temps & état global dans un système distribué Eric Cariou Université de Pau et des Pays de l'adour Département Informatique
Chapitre 4 : Exclusion mutuelle
Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des
ALGORITHMIQUE DU CONTROLE REPARTI
ALGORITHMIQUE DU CONTROLE REPARTI Télécom ParisTech Module Algorithmique répartie de l UE INF346 Irène CHARON Mars 2009 Tables des matières Chapitre 1 - Généralités... 1 1.1. Introduction... 1 1.2. Algorithmes
Modélisation conceptuelle des Systèmes Distribués
Modélisation conceptuelle des Systèmes Distribués Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Systèmes
ACCOV 2001-2002. Système avec des processus concurrents
projet ACCOV 2001-2002 ACCOV 2001-2002. Système avec des processus concurrents procedure Main is type TabDoc is array(1..6) of Document; -- contrôle l'attribution d'un nom unique package ProcId is procedure
Processus de décision répartis
Processus de décision répartis Florent Matignon Renato Matuzaki Honda Miguel Robles 30 mars 2010 Table des matières I Introduction 2 Système réparti 2 II L'état global 2 1 Introduction 2 1.1 La problématique.........................................
Introduction à l'algorithmique Distribuée. Accord & coordination : consensus & transaction
Introduction à l'algorithmique Distribuée Accord & coordination : consensus & transaction Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Accord
Algorithmique dans les systèmes distribués - Elec9on de leader -
Algorithmique dans les systèmes distribués - Elec9on de leader - Eddy Caron 03 M. ENS- Lyon Quelques algorithmes distribués Quelques méthodes générales d approche Principe général: introduire des contraintes
Université Paris Diderot Master 1 II. Théorie et pratique de la concurrence
Université Paris Diderot Master 1 II Théorie et pratique de la concurrence Partiel du 30 avril 2009 Durée : 1h30. Tous les documents sont autorisés. Le barème est indicatif. Question 1 : Soit le programme
Influence De La Taille Du Jeton Sur Les Performances De L algorithme D'exclusion Mutuelle De Ricart - Agrawala
Influence De La Taille Du Jeton Sur Les Performances De L algorithme D'exclusion Mutuelle De Ricart - Agrawala Sarah Benkouider, Souhila Labgaa 2, Mohamed Yagoubi 3 Université Amar Telidji Département
Systèmes d Exploitation Chapitre 6 Sémaphores
Systèmes d Exploitation Chapitre 6 Sémaphores F. Moal 2012/2013 Par DIJKSTRA 1971 Idée : encapsuler les solutions diverses au pb de la section critique pour fournir une interface unique et assurer la portabilité.
TD sur les horloges logiques.
TD sur les horloges logiques. Exercice : Datation des évènements L objectif est de comparer deux évènements e et e qui se passent dans deux sites différents. Nous supposerons que l évènement e (resp. e
Algorithmique Distribuée Communication de groupes
Algorithmique Distribuée Communication de groupes Laurent PHILIPPE Master 2 Informatique UFR des Sciences et Techniques 2013/2014 Laurent PHILIPPE Communication de groupes 1 / 58 Les outils Les groupes
Introduction aux algorithmes répartis
Objectifs et plan Introduction aux algorithmes répartis Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR http://sardes.inrialpes.fr/people/krakowia! Introduction aux algorithmes
Chapitre 5. Communication interprocessus. 5.1 Introduction
Communication interprocessus 5.1 Introduction Dans une activité parallèle (ou pseudo parallèle), un ensemble de processus séquentiels s exécutent en parallèle. Cette exécution résulte deux types de relations
Les Algorithmes par Vagues. Algorithmique Distribuée
Les Algorithmes par Vagues 1 Les Algorithmes par Vagues Introduction Définitions Particularités Vague pour topologie en anneau Vague pour topologie en arbre Vague pour topologie quelconque 2 Introduction
Comment régler les problèmes de synchronisation? P-A. Champin
S y s t è m e d ' e x p l o i t a t i o n S é a n c e 5 Comment régler les problèmes de synchronisation? P-A. Champin Département Informatique IUT A Université Claude Bernard Lyon 1 2009 S5 - Comment régler
Programmation système : sémaphores
Programmation système : sémaphores Un sémaphore permet de protéger une variable (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées
Cours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
UNIVERSITE SAAD DAHLAB DE BLIDA
Chapitre 5 :. Introduction aux méthodes par séparation et évaluation Les méthodes arborescentes ( Branch and Bound Methods ) sont des méthodes exactes d'optimisation qui pratiquent une énumération intelligente
Algorithme d Exclusion Mutuelle Distribué pour les Réseaux Ad Hoc
SETIT 007 th International Conference: Sciences of Electronic, Technologies of Information and Telecommunications March -, 007 TUNISIA Algorithme d Exclusion Mutuelle Distribué pour les Réseaux Ad Hoc
GESTION DES PROCESSUS
CHAPITRE 2 : GESTION DES PROCESSUS Objectifs spécifiques Connaître la notion de processus, Connaître les caractéristiques d un processus ainsi que son contexte Connaître la notion d interruptions et de
Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources
Algorithmique distribuée d exclusion mutuelle : vers une gestion efficace des ressources Jonathan Lejeune LIP6-UPMC/CNRS, Inria 19 septembre 2014 Directeur : Pierre Sens Encadrants : Luciana Arantes et
Equilibre de charge. Equilibre de charge statique Equilibre de charge dynamique
Equilibre de charge Equilibre de charge statique Equilibre de charge dynamique Approches centralisées Approches distribuées Approches semi-distribuées Jaillet Info53 - L3 Informatique - 2006 1 Equilibre
Framework d'implémentation de services distribués
Framework d'implémentation de services distribués Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Algorithmique
Synchronisation et communication entre processus
Synchronisation et communication entre processus Interblocage et coalition Joëlle Delacroix AMSI1999/2000 1 INTRODUCTION Système multiprocessus L'ordonnancement "entrelace" les exécutions P1 P2 P3 Processus
Gestion du processeur central
Chapitre II Gestion du processeur central 1. Introduction Evolution des systèmes informatiques 1.1- Premier système : Le programmeur/opérateur doit écrire un programme ensuite le faire fonctionner directement
Cours 3: Coopération entre processus: Synchronisation + Communication
Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)
Synchronisation des Processus et les sémaphores
Synchronisation des Processus et les sémaphores Achraf Othman Support du cours : www.achrafothman.net 1 PLAN Spécification du problème Section Critique (SC) Exclusion Mutuelle Principe Propriétés Réalisation
CHAPITRE 5 - Tome 3 LAN - IEEE 802. Token-Ring. 5 - LAN - IEEE 802 - Tome 3 1
5 - LAN - IEEE 802 - Tome 3 1 Token-Ring CHAPITRE 5 - Tome 3 LAN - IEEE 802 PLAN Réseau Token-Ring Préambule Caractéristiques Couche physique Méthode d'accès Contrôle du jeton Gestion des priorité Trame
Contrôle INF346-14 Mai 2008 Sans documents (dictionnaires autorisés) Durée : 1 heure 30
Contrôle INF346-14 Mai 2008 Sans documents (dictionnaires autorisés) Durée : 1 heure 30 Si vous n'êtes pas francophone, vous pouvez répondre aux questions en anglais. Merci de répondre à chaque partie
Introduction aux Systèmes Distribués. Introduction générale
Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan
Communication de groupe
Communication de groupe Principes et Définitions Coordonnateur central Anneau virtuel avec jeton Horloges de Lamport et de Mattern Enquête généralisée Diffusion par horloge vectorielle Causalité Causalité
Contrôle de concurrence par sémaphores. NFP137 Cours 12 1
Contrôle de concurrence par sémaphores NFP137 Cours 12 1 Rappel du concept de sémaphore Définition (Dijkstra-1965) Un sémaphore S est un objet partagé constitué de - un entier E initialisé à une valeur
PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème
PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion
Série n 1 / Solutions
Série n 1 / Solutions Exercice n 1 - les deux processus partagent une variable booléenne interesse qui sera vraie si le processus est en section critique ou demande à y rentrer, et fausse sinon, /* contexte
Parallélisme1. Problèmes du parallélisme et Outils permettant de les résoudre. M. Ould Braham. Master1 (DMI/FST Limoges) 1
Parallélisme1 Problèmes du parallélisme et Outils permettant de les résoudre M. Ould Braham Master1 (DMI/FST Limoges) 1 Contenu du cours (9h, 6 Séances) Problèmes du parallélisme Modèles de fonctionnement
Détection de la terminaison distribuée
Cours Algorithmique répartie Master 2 Université Paris-Diderot Devoir 1 (à rendre avant le 22 février 2010) Détection de la terminaison distribuée Généralités Π = {p 0,..., p n 1 } est l ensemble des processus.
Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014
Systèmes Répartis Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014 Introduction aux systèmes répartis 2 Les ordinateurs ont subi des changements incroyables depuis leur mise en opération vers 1945: plus
Programmation C++ (débutant)/les tableaux statiques
Programmation C++ (débutant)/les tableaux statiques 1 Programmation C++ (débutant)/les tableaux statiques Le cours du chapitre 6 : les tableaux statiques Les tableaux Une variable entière de type int ne
TD3. Le problème de l'exclusion mutuelle et les mutexes. LP RGI Prog. système
LP RGI Prog. système TD3 Le problème de l'exclusion mutuelle et les mutexes I U T d ' A m i e n s, d é p a r t e m e n t I n f o r m a t i q u e a n n é e u n i v e r s i t a i r e 2 0 1 4 / 2 0 1 5 L
synchronisation et communication entre processus Synchronisation et communication entre processus
1 Synchronisation et communication entre processus Accès à des ressources communes 2 Exemple: compte bancaire dont montant en A sur disque programme pour ajouter 100: lire(n,a) N := N+100 écrire(n,a) 2
INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Problèmes et Algorithmes Fondamentaux III Algorithme distribué probabiliste
Problèmes et Algorithmes Fondamentaux III Algorithme distribué probabiliste Arnaud Labourel Université de Provence 12 avril 2012 Arnaud Labourel (Université de Provence) Problèmes et Algorithmes Fondamentaux
Samia Bouzefrane. Maître de Conférences CEDRIC CNAM. samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra
La La communication et et la la synchronisation inter-tâches Samia Bouzefrane Maître de Conférences CEDRIC CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra 1 Sommaire Introduction aux problèmes
Ebauche Rapport finale
Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide
EXAMEN DU 19 SEPTEMBRE 2000
SYSTÈMES ET RÉSEAUX INFORMATIQUES COURS B4 : HTO(19339) et ICPJ(21937) CYCLE PROBATOIRE INFORMATIQUE (Conception et développement informatique) EXAMEN DU 19 SEPTEMBRE 2000 partie portant sur l'enseignement
1.1 Remote Procedure Call (RPC)
1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie
Cours 3: Coopération entre processus: Synchronisation + Communication
Cours 3: Coopération entre processus: Synchronisation + Communication Coopération entre processus & Synchronisation + Communication 1. Introduction 2. Rendez-vous de N entités 3. Producteur(s) / Consommateur(s)
Algorithmes distribués
Algorithmes distribués Master informatique 2015-2016 Stella MARC-ZWECKER stella@unistra.fr Plan prévisionnel du cours 1) Concepts propres aux algorithmes distribués 2) Le temps logique 3) Algorithmes d
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation
J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread
Systèmes distribués : Rappel sur ordre et temps logique
Systèmes distribués : Rappel sur ordre et temps logique Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr
Contexte général. Gestion du temps dans les applications réparties. Plan. Introduction
Contexte général Gestion du temps dans les applications réparties Communication par messages, pas de mémoire partagée Pas d horloge globale Chaque site a sa propre horloge Les horloges peuvent dériver
Sémaphores. Plan. But. Introduction Définition Modèle intuitif Remarques
Plan Troisième partie Sémaphores 1 Spécification Introduction 2 Utilisation des sémaphores Schémas de base Schéma producteurs/consommateurs Contrôle fin de l accès concurrent aux ressources partagées 3
Table des matières. Cours Système d Exploitation. Chapitre II : Gestion des processus
Chapitre II : Gestion des processus Table des matières I Processus et contexte d un processus 2 II État d un processus 3 III Système d exploitation multi-tâches et parallélisme 3 IV Problèmes dues au multi-tâches
ELE-542 Systèmes ordinés en temps réels. Cours # 10 Contrôle d accès et synchronisation
ELE-542 Systèmes ordinés en temps réels Cours # 10 Contrôle d accès et synchronisation Jean-Marc Beaulieu et Bruno De Kelper Site internet: http://www.ele.etsmtl.ca/academique/ele542/ Systèmes ordinés
Algorithmique Distribuée Introduction et Contexte
Algorithmique Distribuée Introduction et Contexte Laurent PHILIPPE Master 2 Informatique UFR des Sciences et Techniques 2013/2014 Laurent PHILIPPE Chapitre 1: Introduction et Contexte 1 / 67 Introduction
La hiérarchie du système DNS
LA RÉSOLUTION DE NOMS 1. PRÉSENTATION DU SYSTÈME DNS 1.1 INTRODUCTION À LA RÉSOLUTION DE NOMS Pour pouvoir communiquer, chaque machine présente sur un réseau doit avoir un identifiant unique. Avec le protocole
1 Programmation Client/Serveur basée sur TCP/IP
Outils Informatique pour l ingénieur TD 1 Réseau et Web IP, Client/serveur 1 Programmation Client/Serveur basée sur TCP/IP 1.1 Buts de cette réalisation Ce TP sur la programmation client/serveur a pour
Modèle Client-Serveur Partage du serveur entre clients
Modèle Client-Serveur Partage du serveur entre clients Un serveur peut servir plusieurs clients Vu d un client particulier client requête réponse serveur Vu du serveur Gestion des requêtes (priorité) Exécution
Systèmes concurrents
Systèmes concurrents Philippe Quéinnec 14 septembre 2012 Systèmes concurrents 1 / 25 Deuxième partie L'exclusion mutuelle Systèmes concurrents 2 / 25 Isolation L'exclusion mutuelle Plan 1 Interférences
Sauvegarde des données du scribe sur disque USB
Sauvegarde des données du scribe sur disque USB Objectif : Palier aux dysfonctionnements provoqués par une sauvegarde «Bacula» proposée dans l'ead du Scribe. Réaliser une sauvegarde des données du serveur
Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système
Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,
GESTION D'UNE BASE DE DONNEES DOCUMENTAIRE
GESTION D'UNE BASE DE DONNEES DOCUMENTAIRE PAR Edwige Prisca KOM MBIENGANG Marc FERRADOU Hugo CORDIER 1 INTRODUCTION Le but du projet est la mise en place d'une application distribué : une bibliothèque.
5 Moniteurs. Slide 1. Caractéristique majeure d un programme avec moniteurs = Composé de deux sortes de modules/processus: Slide 2
5 Moniteurs Motivation = les sémaphores peuvent être utilisés pour résoudre à peu près n importe quel problème d exclusion mutuelle ou synchronisation... mais, les sémaphores possèdent certains désavantages:
Programmation Concurrente
Programmation Concurrente Chapitre 2 : Synchronisation 1. Présentation du problème 2. Synchronisation par sémaphore 3. Synchronisation par événement 4. Le problème des lecteurs et des rédacteurs 1 1. Présentation
Cours Systèmes d exploitation 1
Cours Systèmes d exploitation 1 Achraf Othman Support du cours : www.achrafothman.net 1 Plan du cours Chapitre 1 : Gestion des processus Chapitre 2 : Ordonnancement des processus Chapitre 3 : La communication
Ordonnancement des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA
1/16 Ordonnancement des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/16 Table des matières 1 Ordonnancement et réquisition d ordonnancement 2 d ordonnancement Premier arrivé premier
Gestion d'un entrepôt
Gestion d'un entrepôt Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2010 ATTENTION! N oubliez
1 Exclusion Mutuelle. 1.1 Algorithmes basés sur les permissions. Master Info - Info 0701 1
Master Info - Info 0701 1 1 Exclusion Mutuelle 1.1 Algorithmes basés sur les permissions Algorithme 1 Alorithme de Ricart Agrawal, local au site i etat S E, SC, S éttat du site i h 0 entier date des demandes
Les moniteurs : un outil de synchronisation. Exemple 1 : lecture écriture. Exercice 1 : Allocateur de ressources. Exemple 2 : rendez-vous
Les moniteurs : un outil de synchronisation Déition : variables d état + procédures utilisant ces variables Procédures en exclusion mutuelle Condition : variable spéciale C.attendre: blocage du processus
Algorithmique répartie
Université Joseph Fourier 23/04/2014 Outline 1 2 Types de communication message envoyé à un groupe de processus Broadcast (diffusion) message envoyé à tous les processus du systèmes Unicast message envoyé
Exclusion Mutuelle hiérarchique Composition de protocoles
Exclusion Mutuelle hiérarchique Composition de protocoles Baptiste Canton Pierre Sens - Luciana Arantes - Julien Sopena 1 Baptiste Canton Contexte L'exclusion mutuelle distribuée. Brique de base de nombreuses
Partie 6 : Ordonnancement de processus
INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus
Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas
Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas 1. Arbres ordonnés 1.1. Arbres ordonnés (Arbres O) On considère des arbres dont les nœuds sont étiquetés sur un ensemble muni d'un
Synchronisation des processus. Didier Verna. didier@lrde.epita.fr http://www.lrde.epita.fr/ didier. Systèmes d Exploitation. Didier Verna EPITA
1/16 Synchronisation des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/16 Table des matières 1 2 Synchronisation matérielle 3 Synchronisation logicielle 4 classiques 4/16 Nécessité
Cours Systemes d exploitation
Université de Kairouan Institut Supérieur des Siences Appliquées et de Technologie Cours Conçu Spécialement Aux Etudiants: De Master Pilotage et Réseaux Industriels Cours Systemes d exploitation Noureddine
A. Introduction. Chapitre 4. - les entités de sécurité ; - les sécurisables ; - les autorisations.
Chapitre 4 A. Introduction Le contrôle d'accès représente une opération importante au niveau de la gestion de la sécurité sur un serveur de bases de données. La sécurisation des données nécessite une organisation
Communication de Groupe protocoles pour la diffusion. L.A. Steffenel Master 2 STIC-Informatique 1
Communication de Groupe protocoles pour la diffusion Steffenel Master 2 STIC-Informatique 1 Plan Communication de Groupe définitions, motivation Classes de algorithmes de diffusion diffusion simple diffusion
Maîtrise d'informatique 2003-2004 Algorithmique et Programmation Tous documents autorisés Durée 2h30
Maîtrise d'informatique 2003-2004 Algorithmique et Programmation Tous documents autorisés Durée 2h30 Module Programmation Concurrente, Réactive, Répartie Devoir sur table décembre 2003 Les exercices sont
Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP
Résolution d adresses et autoconfiguration Les protocoles ARP, RARP, TFTP, BOOTP, DHCP Le protocole ARP (Address Resolution Protocol) Se trouve au niveau de la couche réseau (à côté du protocole ) Routage
Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN
PASSAGE DE TÉMOIN coopération par division du travail entre les processus 4) Rendez-vous à 2, symétrique, avec ou non une écriture ou un envoi de message (avec acquittement) Rendez-vous multiple : m processus
Dynamic Host Configuration Protocol
Dynamic Host Configuration Protocol 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives
Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R
Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des
Introduction aux systèmes d exploitation
Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation
Communications et synchronisations. Système L3, 2014-2015 1/21
Communications et synchronisations Système L3, 2014-2015 1/21 Le problème des philosophes (Dijkstra 1965) Cinq philosophes sont assis autour d une table ronde Chaque philosophe a devant lui un plat de
Info0101 Intro. à l'algorithmique et à la programmation. Cours 5. Tableaux
Info0101 Intro. à l'algorithmique et à la programmation Cours 5 Tableaux Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Gestion des Processus
Plan Gestion des Processus Concept de processus Ordonnancement Ryan Cassel cassel@limsi.fr Synchronisation Université Paris XI 2 de Tanenbaum Pour préparer un gateau: Recette Programme Ingrédients
Architecture Client/Serveur. andreu@lirmm.fr 1
Architecture Client/Serveur andreu@lirmm.fr 1 Qu'est-ce qu'un serveur? un «logiciel serveur» offre un service sur le réseau, le «serveur» est la machine sur laquelle s'exécute le logiciel serveur, le serveur
Multi-threading. Mécanismes de Synchronisation
Multi-threading Mécanismes de Synchronisation 1 Exclusion Mutuelle - Mutex Producteurs / Consommateur - Sémaphores 2 Accès en Exclusion Mutuelle Exemple d'une liste d'objects partagée: Gérée en LIFO (Last
Introduction. La gestion des qualités de services dans Internet. La garantie de QoS. Exemple
Introduction Aujourd hui les applications (en particulier multimédia) nécessitent des qualités de service de natures très différentes La gestion des qualités de services dans Internet Exemples: Transfert
Sommaire : I. Introduction
Sommaire : I. Introduction... 1 II. Lancement de PcGalileo :... 2 III. Envoie demande de localisation :... 3 A. Geolocalisation ponctuelle :... 4 B. Géolocalisation séquentielle :... 4 C. Géolocalisation
Corrigé de l examen de systèmes opératoires Module Synchronisation des processus
Corrigé de l examen de systèmes opératoires Module Synchronisation des processus 2ième Année Informatique et Mathématiques Appliquées 17 Novembre 1999 1 Les sémaphores 1. Donner la définition d un sémaphore
Partie windows Elements de correction: Question 1 : acces partage cd1 station1 station2 station1 station1 station2 Elements de correction:
Partie windows les éléments de correction ne sont pas un corrigé exhaustif. Ils se contentent de reprendre les points clefs de chaque exercice. Question 1 : acces partage Contexte: un domaine avec un contrôleur
L3 ASR Projet 1: DNS. Rapport de Projet
L3 ASR Projet 1: DNS Rapport de Projet Table des matières I. Maquette de travail...1 II. Configuration des machines...2 III. Type de zone...3 IV. Délégation de zone...3 V. Suffixes DNS...4 VI. Mise en