Les Algorithmes par Vagues. Algorithmique Distribuée



Documents pareils
L exclusion mutuelle distribuée

Introduction aux algorithmes répartis

Conception des systèmes répartis

Chapitre 4 : Exclusion mutuelle

SEMAINE DES MATHEMATIQUES

Parallélisme et Répartition

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Programmation linéaire

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Cours de Génie Logiciel

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

Raisonnement probabiliste

Développement itératif, évolutif et agile

Cours Programmation Système

Algorithmique répartie

Puissances d un nombre relatif

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

ARTICLE. Dix raisons d acheter une caméra réseau ou ce que votre fournisseur de caméras analogiques ne vous révèlera jamais

Recherche dans un tableau

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Programmation parallèle et distribuée

L utilisation d un réseau de neurones pour optimiser la gestion d un firewall

Probabilités conditionnelles Loi binomiale

Joueur B Pierre Feuille Ciseaux Pierre (0,0) (-1,1) (1,-1) Feuille (1,-1) (0,0) (-1,1) Ciseaux (-1,1) (1,-1) (0.0)

L apprentissage automatique

Ebauche Rapport finale

- un jeu de K cartes représentées par des nombres C 1, C 2 à C K avec K entier strictement

Algorithme. Table des matières

Cours de Systèmes d Exploitation

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Protocole de configuration dynamique des hôtes pour IPv6 (DHCPv6)

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Optimisation du retour sur investissement de Microsoft Dynamics CRM grâce à l automatisation du marketing

LE PROBLEME DU PLUS COURT CHEMIN

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Utilisation de l automatisation du marketing pour augmenter le retour sur investissement du CRM

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

III.2 Rapport du Président du Conseil

On appelle variable condition une var qui peut être testée et

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Cohérence des données dans les environnements d édition collaborative

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

III- Raisonnement par récurrence

La maitrise élégante et intuitive

Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

Ma banque, mes emprunts et mes intérêts

NOTIONS DE RESEAUX INFORMATIQUES

La Solution de Sécurité Easy Series La sécurité simplifiée

Principe et règles d audit

Gestion des licences électroniques avec Adobe License Manager

Modélisation et Simulation

Matrice d accès. Master SEMS, Pierre Paradinas. October 16, 2013

Formations spécifiques

Les indices à surplus constant

ÉDITORIAL E-LETTER N 7 / JUIN 2005

Contributions à l expérimentation sur les systèmes distribués de grande taille

Systèmes et algorithmes répartis

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

INF601 : Algorithme et Structure de données

Université Paris-Dauphine DUMI2E 1ère année, Applications

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Chapitre 2. Eléments pour comprendre un énoncé

ir value.com Le Fundamental Value Indicator

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Windows Internet Name Service (WINS)

Cisco Certified Network Associate Version 4

Quelques algorithmes simples dont l analyse n est pas si simple

4.2 Unités d enseignement du M1

Métriques de performance pour les algorithmes et programmes parallèles

Cours de Probabilités et de Statistique

Pourquoi utiliser SharePoint?

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Revue d article : Dynamic Replica Placement for Scalable Content Delivery

Plus petit, plus grand, ranger et comparer

Les structures. Chapitre 3

3 Approximation de solutions d équations

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Améliorer le retour sur investissement de Salesforce grâce à l automatisation du marketing

Problèmes de Mathématiques Filtres et ultrafiltres

Linux LTE 2 - ISSBA. Année universitaire Linux Réseau et Archivage. Jean-Michel RICHER Faculté des Sciences, H206 1

Differential Synchronization

Les réseaux cellulaires

Suites numériques 3. 1 Convergence et limite d une suite

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Programmation linéaire et Optimisation. Didier Smets

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

n 7 F é v r i e r Note d information sur le Credit Bureau

Réseau Global MIDI Note applicative

Monitoring d un Datacenter du concept à la réalisation

Initiation au HPC - Généralités

Solutions Microsoft Identity and Access

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

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Chapitre 01 Généralités

Transcription:

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 Algorithmes pour résoudre des problèmes généraux : La diffusion d information La synchronisation globale des processus Le déclenchement d un événement dans chaque processus Le calcul d une fonction dont chaque processus possède une partie des entrées 3

Introduction Utilisés pour résoudre des problèmes plus compliqués : Election Détection de terminaison Exclusion mutuelle 4

Introduction Propriétés communes : Toujours effectués par échange de messages Le schéma de communication suit la topologie Tous les processus doivent participer 5

Introduction Hypothèses : La topologie du réseau est fixe Les canaux de communication sont bidirectionnels Il existe un chemin entre deux processus quelconques L envoi de message est asynchrone 6

Définitions Les notations utilisées : L ensemble des processus est noté P L ensemble des canaux de communication est noté E Le nombre d événements d un calcul C est noté C Le sous-ensemble d événements d un calcul C se produisant dans le processus P est noté CP 7

Définitions Il existe un événement interne de type spécial appelé événement de décision. Un algorithme par vague : échange un nombre fini de messages termine par une décision la décision dépend causalement d événements dans chaque processus 8

Définitions Un algorithme par vague satisfait les propriétés suivantes : La terminaison : chaque calcul est fini C C < La décision : chaque calcul contient au moins un événement de décision C e C e est un événement de décision La dépendance : tout événement de décision est causalement précédé par un événement dans chaque processus C e C e événement de décision q P f Cq : f<e 9

Définitions Un calcul d un tel algorithme est appelé vague. On distingue deux types de processus : Les processus initiateurs : ils exécutent spontanément l algorithme le premier événement est soit un événement interne, soit un événement d envoi de message Les processus suiveurs : ils sont impliqués dans la vague à la réception d un message le premier événement est une réception de message 10

Particularités Les algorithmes par vague diffèrent suivant plusieurs critères : Le nombre d initiateurs : Algorithme centralisé : un seul initiateur Algorithme décentralisé : plusieurs initiateurs La topologie : algorithme conçu pour une topologie particulière ou pour toute topologie La connaissance initiale des processus : Identité du processus Identité des voisins Le nombre de décisions La complexité 11

Topologie en Anneau Chaque processus p possède un voisin noté Nextp de manière à former un cycle L algorithme est centralisé. Description de l algorithme : L initiateur envoie un message <TOK> appelé jeton le long de l anneau. Chaque processus fait suivre. A la réception du message, l initiateur décide. 12

Topologie en Anneau Le code : processus initiateur : debut envoyer <TOK> à Nextp recevoir <TOK> décider fin processus suiveur : debut recevoir <TOK> envoyer <TOK> à Nextp fin 13

Topologie en Anneau Initiateur 14

Topologie en Arbre L algorithme est décentralisé : il est initié par toutes les feuilles. Chaque processus n envoie qu un seul message. Description de l algorithme : Si un processus a reçu un message de tous ses voisins sauf 1, il envoie un message à destination du voisin restant. Si un processus a reçu un message depuis tous ses voisin, il peut décider. 15

Topologie en Arbre Le code : Processus initiateur (feuille) : envoyer<tok> au voisin; Tous les participants : var recu[q] pour q voisin de p:booleen init faux; debut tant que #{q tel que recu[q] est faux}>1 faire recevoir<tok> de q; recu[q] = vrai; fait recevoir<tok> de q0;recu[q0] = vrai; decider; pour tout q voisin de p, q<>q0 faire envoyer<tok> a q fait 16

Topologie en Arbre Cet algorithme est il bien un algorithme par vague? Combien d événements de décision se produiront? 17

Topologie en Arbre 18

Topologie Quelconque Algorithme Echo : c est un algorithme centralisé. Description de l algorithme : L initiateur envoie un message à tous ses voisins A la réception du premier message, un processus suiveur le transmet à tous ses voisins sauf à celui qui vient de le lui envoyer. Quand un processus a reçu un message de tous ses voisins, il envoie un message à celui qui l a fait entrer dans la vague : l écho. Quand l initiateur reçoit un écho de tous ses voisins, il peut décider. 19

Topologie Quelconque Code de l initiateur : var recu : entier init 0; father : P init indefini ; debut pour tout q voisin de p faire envoyer<tok> a q; fait tq recu <> nombre de voisins faire recevoir<tok>; recu := recu + 1; fait decider; fin 20

Topologie Quelconque Code suiveur : var recu : entier init 0; pere : P init nondefini; debut recevoir<tok> de q; pere := q; pour tout q voisin de p, q <> pere faire envoyer<tok> a q; fait tq recu <> nombre de voisins - 1 faire recevoir<tok>; recu := recu + 1; fait envoyer<tok> a pere; fin 21

Topologie quelconque 22 16