Contrôle INF346-14 Mai 2008 Sans documents (dictionnaires autorisés) Durée : 1 heure 30



Documents pareils
Gestion répartie de données - 1 Duplication et cohérence

L exclusion mutuelle distribuée

Conception des systèmes répartis

TD sur JMS ) Qu est-ce qu un middleware orienté message (MOM)? Quelles différences faites-vous entre un MOM et JMS?

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Introduction aux intergiciels

Chapitre 4 : Exclusion mutuelle

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Systèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia

Les diagrammes de modélisation

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Initiation au HPC - Généralités

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Description de la formation

FONCTION COMPTAGE BINAIRE ET DIVISION DE FRÉQUENCE

Licence Sciences et Technologies Examen janvier 2010

Limitations of the Playstation 3 for High Performance Cluster Computing

Projet Active Object

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server

Cours n 12. Technologies WAN 2nd partie

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

NFP111 Systèmes et Applications Réparties

CESI Bases de données

Gestion répartie de données - 1

Systèmes et algorithmes répartis

Introduction aux applications réparties

Programme de la 1ère année

Un algorithme équitable d exclusion mutuelle tolérant les fautes

N oubliez pas de sauvegarder après avoir intégré ce fichier dans votre espace extranet!

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Dépouillement questionnaire satisfaction TAP

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Resolution limit in community detection

Programmer des applications réparties

18 TCP Les protocoles de domaines d applications

Certificat d urbanisme

AnaXagora LMS v3.0. Guide d utilisation

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

ELEC2753 Electrotechnique examen du 11/06/2012

Le modèle client-serveur

INSTITUT NATIONAL POLYTECHNIQUE DE GRENOBLE

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Formats d images. 1 Introduction

Programmation C. Apprendre à développer des programmes simples dans le langage C

Chapitre 5 : Les procédures stockées PL/SQL

Protocoles d authentification

Examen technique des technologies de mise en cache

Transmission d informations sur le réseau électrique

Messagerie asynchrone et Services Web

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF2015 Développement de logiciels dans un environnement Agile. Examen intra 20 février :30 à 20:30

PORTAIL DE GESTION DES SERVICES INFORMATIQUES

Association Belge Francophone de Taekwondo ASBL

Plateforme AnaXagora. Guide d utilisation

Mises à jour CELCAT depuis la version 6.4

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

Questionnaire sur l assurance responsabilité professionnelle des avocats demandant leur inscription en vertu de la directive Etablissement (98/5/CE)

Parallélisme et Répartition

Référentiel C2i niveau 1 Version 2 :

Évolution du processus de normalisation en ce qui a trait à la présentation de l information financière Vivons-nous un changement d environnement?

ASR1 TD7 : Un microprocesseur RISC 16 bits

Algorithmique et structures de données I

Sécurisation des architectures traditionnelles et des SOA

Implémentation des SGBD

S initier aux probabilités simples «Question de chance!»

Comité sectoriel de la sécurité sociale et de la santé Section «Sécurité sociale»

École Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.

Module BDR Master d Informatique (SAR)

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Définitions. Numéro à préciser. (Durée : )

Introduction au temps réel

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

LA VAGUE EAI (ENTREPRISE APPLICATION INTEGRATION)

Concevoir son premier espace de cours sur la plateforme pédagogique Moodle

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

MEAD : temps réel et tolérance aux pannes pour CORBA

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

Découverte de Moodle

Le génie logiciel. maintenance de logiciels.

Java - RMI Remote Method Invocation. Java - RMI

CAHIER DES CHARGES pour création graphique de Site internet.

Urbanisme du Système d Information et EAI

Initiation au binaire

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

TP 4 de familiarisation avec Unix

FORMATION ACCUEIL CLIENT PHYSIQUE ET TELEPHONIQUE

7 S'abonner aux notifications des nouveaux appels

Numération et sens du nombre Maternelle à la 3 e année

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Partie 7 : Gestion de la mémoire

quelles sont les spécificités du système de gouvernance des PME - PMI?

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Transcription:

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 sur une feuille séparée en indiquant bien votre nom sur chaque feuille. 1 ère Partie (4 points). I.1. Communication de groupe (2 points) Rappeler le fonctionnement de la diffusion par horloge vectorielle et justifier les deux règles de validation d'un message avant transmission à l'application. I.1. Réponse : On maintient des horloges de Mattern. Chaque message est diffusé à chacun des membres du groupe et contient l'horloge vectorielle de l'émetteur. (1 point) Un message d'horloge Vm en provenance de i reçu par j n'est délivré auprès de l'application que si (0.5 point par règle) : 1/ Vj(i) = Vm(i) - 1 Justification : toutes les diffusions précédentes de i ont été reçues par j 2/ qq soit k i Vm(k) Vj(k) Justification : toutes les diffusions reçues par i ont été reçues par j. I.2. Modèle de répartition en Ada (2 points) Expliquer comment en Ada un sous-programme P peut être rendu asynchrone? Quelle propriété doit-il respecter? Donner un exemple d'application répartie utilisant 2 sous-programmes appelables à distance dont le comportement devient non-déterministe lorsque ces 2 sous-programmes sont rendus asynchrones. I.2. Réponse : pragma Asynchronous (P); (0.5 point) P ne doit pas avoir de paramètres out, inout ou de valeur de retour (donc une procédure pas une fonction). Toute exception est ignorée. (0.5 point) P1 (X) se trouve sur le nœud N3 et fait N=X. N est une variable local du nœud N3. P2 (X) se trouve sur le nœud N2 et appelle P1 (2*X) donc sur N3. Sur le nœud N1 on appelle P2(1) puis P1(1) (0.5 point pour la description de l'exemple du cours) En synchrone, N vaut toujours 1 (P1(1) est toujours exécuté en dernier) En asynchrone, l'appel sur N2 de P1 peut être retardé (latence réseau) et l'appel à partir de N1 de P1 peut se terminer avant que P1(2) à partir de N2 ne soit fait. Donc N peut valoir 2. (0.5 point pour le scénario aboutissant au non déterminisme). 1

2ème Partie (6 points) Merci de répondre à chaque partie sur une feuille séparée en indiquant bien votre nom sur chaque feuille. II.1. Composants a) Le modèle de programmation composant offre plusieurs avancées comparés au modèle de programmation orienté objets. Ces avantages permettent de répondre à plusieurs limitations du modèle objet répartis proposés par CORBA. En vous basant sur CCM, indiquez trois de ces limitations, que vous justifierez. ( 1.5 points ) b) En les détaillant, comparez les étapes de construction d'une application CORBA et d'une application CORBA CCM. Vous indiquerez l'apport de CCM. ( 1.5 points ) II.2 Intergiciels Orientés Messages On souhaite concevoir une application répartie permettant à un groupe de personnes d'échanger des informations. L'objectif est que chaque personne dispose d'un dispositif embarqué comportant plusieurs informations nominatives et professionnelles. Cette "carte de visite virtuelle" est transmise à toute personne se trouvant à proximité. Les informations sont localisées, et ne doivent pas être transmises à des personnes en dehors d'un périmètre donné (salle de réunion par exemple). On suppose qu'un dispositif externe fournit cette information de localisation. a) En le comparant à d'autres modèles de répartition (peer to peer, RPC, objets répartis), justifiez le choix d'un intergiciel orienté messages pour remplir ce rôle. ( 1 point ) b) On se place dans le cadre d'une architecture JMS. Chaque utilisateur dispose d'une file de message qui lui est propre pour recevoir les "cartes de visite virtuelles" d'autres participants. De plus, on suppose qu'il existe un canal de communication (topic) "salle de réunions" auquel chaque dispositif s'abonne lors de l'entrée dans la salle. Cet événement est transmis via le mécanisme de localisation. Périodiquement, chaque dispositif envoie les informations concernant son porteur. Parallèlement, il reçoit les messages des autres participants, les traite en les stockant dans une table. On souhaite éviter tout mécanisme d'attente active et ne pas stocker inutilement de messages dans le provider. Proposez un schéma d'implantation de ce scénario: vous listerez les entités JMS et Java que vous comptez utiliser, et indiquerez succinctement comment vous les utilisez. ( 1 point ) c) On se place dans le cadre d'une architecture JMS. En rappelant son rôle, proposez une architecture pour le "provider" JMS qui permette de supporter un mode fortement déconnecté, réparti sur plusieurs sites. Ceci doit permettre à l'application de fonctionner sur un site géographiquement éclaté (par exemples les différentes salles d'un hôtel) ( 1 point ) 2

3ème Partie. Mémoire Partagée Répartie (4 points) Merci de répondre à chaque partie sur une feuille séparée en indiquant bien votre nom sur chaque feuille. On rappelle la notation introduite en cours : Wi(x)a et Ri(x) b veulent dire que le processus Pi écrit la valeur a dans la variable x et que la lecture de la variable x par le processus Pi retourne la valeur b. III.1 Rappeler la définition de la cohérence séquentielle (1 point) III.2 Observez les deux séquences suivantes et indiquez si chacune d elle respecte la cohérence séquentielle et pourquoi (1 point) P1 W1(x)a P2 W2(x)b P3 R3(x)b R3(x)a P4 R4(x)b R4(x)a P1 W1(x)a P2 W2(x)b P3 R3(x)b R3(x)a P4 R4(x)a R4(x)b III.3 Cohérence causale. On rappelle l ordre causal défini par Lamport. Soient Opé1 et Opé2, deux opérations (lecture / écriture) ; Opé1 précède Opé2 causalement si : 1/ Opé1 précède Opé2 sur le même processeur, ou 2/ Opé2 est une lecture de la valeur écrite par Opé1, ou 3/ il existe Opé3 telle que Opé1 précède Opé3 causalement et Opé3 précède Opé2 causalement. Opé1 et Opé2 sont concurrentes elles ne sont pas en dépendance causale. On rappelle que la cohérence causale respecte l ordre causal pour les opérations causalement dépendantes mais deux écritures concurrentes peuvent être vues dans des ordres différents sur des processeurs différents. La séquence suivante respecte-t-elle la cohérence séquentielle? La cohérence causale? (2 points) P1 W1(x)a W1(x)c P2 R2(x)a W2(x)b P3 R3(x)a R3(x)c R3(x)b P4 R4(x)a R4(x)b R4(x)c 3

Correction III.1. Un ensemble d opérations respecte la cohérence séquentielle si toutes les opérations sont vues par tous les processeurs dans un ordre correspondant à une exécution séquentielle, et si sur chaque processeur l ordre correspond à l ordre d exécution du programme. III.2. La première séquence respecte la cohérence séquentielle, la seconde pas car P3 et P4 ne voient pas la même séquence d exécution. III.3 La séquence ne respecte pas l ordre séquentiel car P3 et P4 ne voient pas la même séquence d exécution. Elle respecte la cohérence causale car il n y a pas de dépendance causale entre W2(x)b et W1(x)c qui sont donc concurrentes et rien ne s oppose donc à ce que P3 et P4 les voient dans un ordre différent. 4

4ème Partie - Questionnaires d algorithmique du contrôle réparti à rendre avec la copie (6 points) Question 1 : Le dessin ci-dessous représente le déroulement du temps sur trois sites ; chaque ligne horizontale correspond à un site, le temps s écoule de la gauche vers la droite. Chaque point noir correspond à un événement. Chaque flèche correspond à un message envoyé d un site à l autre. Les sites utilisent des horloges vectorielles. Indiquer à côté de chaque événement la date de celui-ci et à côté de chaque flèche l estampille du message correspondant. S 1 S 2 S 3 Question 2 On considère un système distribué dans lequel les sites (les processus) doivent effectuer des transactions nécessitant l usage simultané de plusieurs ressources partagées ; chaque ressource est utilisée en exclusion mutuelle. Indiquer le principe d un algorithme, au choix, permettant de prévenir un interblocage du système consécutif à ces transactions (le cadre, qui continue à la page suivante, permet une réponse longue, mais cela n exclut pas une réponse en quelques lignes). Réponse de la question 2 : 5

Question 3 Définir ce qu est un état global cohérent d un système distribué. Réponse de la question 3 : 6

Question 4 : On utilise l algorithme de Naimi et Tréhel (programmé en TP) pour l utilisation d une même ressource en exclusion mutuelle ; on suppose que l arborescence est dans l état représenté cidessous (avec les variables utilisées en TP, une * représente une valeur sans importance) : 2 suivant = 2 1 3 5 6 2 4 faux 2 suivant = 3 jetonprésent = vrai On suppose que les sites 4 et 5 demandent successivement la ressource, et que la demande du site 4 arrive au site 3 avant celle du site 5. Le jeton, pendant ce temps, reste chez le site 6. Dessiner l arborescence consécutive à ces deux demandes en précisant les valeurs des différentes variables significatives non précisées. 7

estdemandeur = suivant = 2 estdemandeur = aunsuivant = suivant = 1 3 5 6 suivant = 3 jetonprésent = vrai estdemandeur = aunsuivant = suivant = 2 4 estdemandeur = aunsuivant = suivant = 8

Questions d algorithmique du contrôle réparti 08 Corrigé Question 1 : Le dessin ci-dessous représente le déroulement du temps sur trois sites ; chaque ligne horizontale correspond à un site, le temps s écoule de la gauche vers la droite. Chaque point noir correspond à un événement. Chaque flèche correspond à un message envoyé d un site à l autre. Les sites utilisent des horloges vectorielles. Indiquer à côté de chaque événement la date de celui-ci et à côté de chaque flèche l estampille du message correspondant. S 1 S 2 S 3 Réponse (1, 1, 0) (2, 2, 2) (3, 4, 2) (4, 4, 3) S 1 ((0, 1, 0), 2) ((0, 4, 0), 2) (0, 2, 0) (0, 3, 0) (0, 1, 0) (0, 4, 0) ((0, 2, 0), 2) ((0, 2, 2), 3) ((0, 2, 3), 3) S 2 (0, 2, 1) (0, 2, 2) (0, 2, 3) S 3 Question 2 On considère un système distribué dans lequel les sites (les processus) doivent effectuer des transactions nécessitant l usage simultané de plusieurs ressources partagées ; chaque ressource est utilisée en exclusion mutuelle. Indiquer le principe d un algorithme, au choix, permettant de prévenir un interblocage du système consécutif à ces transactions. Réponse Voir le polycopié. Question 3 Définir ce qu est un état global cohérent d un système distribué. Réponse Voir le polycopié 9

Question 4 : On utilise l algorithme de Naimi et Tréhel (programmé en TP) pour l utilisation d une même ressource en exclusion mutuelle ; on suppose que l arborescence est dans l état représenté cidessous, les valeurs des variables étant indiquées à côté des sites : 2 suivant = 2 1 3 5 6 2 4 faux 2 suivant = 3? jetonprésent = vrai On suppose que les sites 4 et 5 demandent la ressource, presque en même temps, et que la demande du site 4 arrive au site 3 avant celle du site 5. Le jeton, pendant ce temps, reste chez le site 6. Dessiner l arborescence consécutive à ces deux demandes en complétant les valeurs des différentes variables. Réponse 5 suivant = 2 1 3 5 6 2 suivant = 3 jetonprésent = vrai 4 suivant = 4 2 4 5 suivant = 5 10

11