La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

RS2.7 : un Canevas Adaptable de Duplication Stéphane Drapeau 1,2, Claudia L. Roncancio 2, Pascal Déchamboux 1 1 France Télécom R&D, Meylan 2 Laboratoire.

Présentations similaires


Présentation au sujet: "RS2.7 : un Canevas Adaptable de Duplication Stéphane Drapeau 1,2, Claudia L. Roncancio 2, Pascal Déchamboux 1 1 France Télécom R&D, Meylan 2 Laboratoire."— Transcription de la présentation:

1 RS2.7 : un Canevas Adaptable de Duplication Stéphane Drapeau 1,2, Claudia L. Roncancio 2, Pascal Déchamboux 1 1 France Télécom R&D, Meylan 2 Laboratoire LSR IMAG, Saint Martin dHères

2 2 Contexte De nouvelles contraintes dans la mise en place des infrastructures : Non connaissance de larchitecture Systèmes évolutifs Ressources offertes très différentes Solution : séparation des considérations Aspects fonctionnels : code applicatif Aspects non fonctionnels : transactions, requêtes persistance, duplication EJB, CORBA,.Net, AOP, Systèmes réflexifs

3 3 Le projet NODS Networked Open Database Services « Déconstruire » les SGBD sous forme de services afin d'en répartir les fonctions Rendre adaptable les aspects non fonctionnels Duplication PersistanceTransactions Requêtes Médiateurs Communication, Env. dexécution

4 4 Objectifs concernant la duplication Offrir un support adaptable de la duplication Donner la propriété dadaptabilité au support Adaptabilité pour être adaptable : A lapplication Utilisation avec des applications différentes Au contexte non fonctionnel Utilisation dans divers contextes Dans les protocoles supportés Afin de supporter de nouveaux besoins

5 5 Problématique (1) Séparation des aspects : isolation de la duplication Définition des interactions Avec lapplication Avec les autres aspects non fonctionnels Prise en compte de divers protocoles de duplication

6 6 Mémoire 1 Mémoire 3 Mémoire 2 Problématique (2) Objet Applicatif C Copie A1 Copie A3 Objet Applicatif A Objet Applicatif B Objet Applicatif C Copie B2 Copie B3 Copie B1 Cohérence locale Cohérence locale Cohérence globale

7 7 Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de laspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives RS2.7 : un canevas adaptable de duplication

8 8 Contexte transactionnel Application Contexte mobile Application Un canevas adaptable de duplication Canevas Maître/esclave impatient Maître/esclave paresseux Canevas pour construire des services de duplication appropriés : A lapplication Au contexte Aux besoins

9 9 Service de duplication Met en oeuvre la gestion des copies Rôle minimum dun service de duplication : Gestion du cycle de vie des copies Gestion de la mise en cohérence des copies = protocole de cohérence locale

10 10 Politique de duplication Quand ? Combien ? Où ? Comment ? Canevas de Duplication Service de Duplication Politique de duplication Protocole de cohérence locale Gestion du cycle de vie Comment ? Quand ? Où ? Combien? + = Tolérance aux fautes Partage de charge, … Application Couche de transparence

11 11 Modèle de cohérence locale (coherency model) Nombreux protocoles de duplication Augmentation des performances Tolérance aux fautes Différents niveaux de cohérence Modèle de cohérence locale Contrat spécifiant la cohérence entre les copies Comment les utilisateurs perçoivent les copies dun même objet

12 12 4 modèles de cohérence locale Copie unique : toutes les copies ont la même histoire Copies divergentes : les copies ont des histoires différentes + garanties sur la divergence Copies convergentes avec L sur les copies divergentes : les copies ont des histoires différentes + même histoire à certains moments + copies non à jour consultables Copies convergentes avec E sur les copies divergentes: idem + copies non à jour modifiables

13 13 Protocole de cohérence locale Méthode choisie pour garantir un modèle de cohérence locale Pour un même modèle différents protocoles Exemple protocoles à copie unique : ROWA, ROWAA Capte les informations destinées aux copies Interactions avec dautres aspects Copies équivalentes : forte contrainte sur le contrôle de concurrence Copies divergentes : peu de contraintes

14 14 Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de laspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives

15 15 Modèles de cohérence globale (consistency models) Spécification de comment apparaissent les données Mémoires partagées réparties Modèles forts : séquentiel, causal, PRAM, etc. Modèles faibles : à lentrée, au relachement, etc. Dans les SGBD répartis Sérialisabilité Sérialisabilité sur une copie Remis en cause par la duplication Interactions entre cohérence globale et locale

16 16 Modèle de cohérence globale/locale Protocole de cohérence globale Application Modèle de cohérence globale Protocole de cohérence locale Protocole de cohérence locale Modèle de cohérence locale Contrôle de concurrence Contrôle de concurrence Couche de communication Tolérance aux fautes Tolérance aux fautes

17 17 Duplication et contrôle de la concurrence Deux niveaux de contrôle de la concurrence Au niveau des objets applicatifs Au niveau des copies BD1 BD2 A1 A2 B1 B2 T1 ecrire(A) ecrire(B) T1 ecrire(A) ecrire(B) T2 ecrire(A) T2 ecrire(A) acquerirVerrou(A) acquerirVerrou(B) acquerirVerrou(A1) acquerirVerrou(B1) acquerirVerrou(A2) acquerirVerrou(B2) Contexte transactionnel Globale : sérialisabilité Locale : copie unique

18 18 Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de laspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives

19 19 Protocole de cohérence locale abstrait Niveau dabstraction Décomposition structurelle des protocoles de cohérence locale Accès Soumission dune requête à un objet dupliqué Coordination Traitements préliminaires à lexécution de la requête Exécution Exécution de la requête Validation Vérification du résultat obtenu par les copies Réponse Renvoi du résultat de la requête exécutée

20 20 Décomposition structurelle Différences entre les protocoles dues : A lapproche utilisée (implantation) dans chaque phase et A lordre dexécution des phases

21 21 Exemple : protocole ROWA Copie Objet applicatif Accès Réponse Coordination Exécution Validation ROWA : read one, write all Copie

22 22 Exemple : protocole ROWAA Objet applicatif Accès Réponse Exécution Coordination ROWAA : read one, write all available Copie Validation Exécution Validation Coordination

23 23 Architecture fonctionnelle des protocoles Fonctionnalités présentes dans de nombreux protocoles Extraction des fonctionnalités communes Réutilisation Flexibilité Isolation dinteractions avec dautres aspects Chaque phase du protocole abstrait = Ensemble de fonctionnalités

24 24 Quatre catégories de composant (1) Composants primitifs Niveau de base pour construire des protocoles primitifs Interface avec le service de communication, gestionnaire daccès aux copies, etc. Composants communs à tous les modèles de cohérence locale Composants liés à la gestion de la synchronisation Déclencheur de synchronisation, gestionnaire de suivi des mises à jour, …

25 25 Quatre catégories de composant (2) Composants dépendants du modèle de cohérence locale Gestionnaire de rôle, détecteur de conflit, résolveur de conflits, etc. Composants dépendant du protocole de cohérence locale Composants spécifiques au protocoles de cohérence Gestionnaire du groupe en lecture ou en écriture, consensus, etc.

26 26 Plan RS2.7 : un canevas adaptable de duplication Adaptabilité au contexte non fonctionnel Décomposition de laspect duplication Mise en oeuvre Travaux similaires Conclusion et perspectives

27 27 Principes Protocole de cohérence locale = Chaîne de liaison entre les différentes copies du même objet applicatif Objet dupliqué accédé par lintermédiaire de la chaîne de liaison

28 28 Accès à un objet dupliqué Copie A1 Objet Applicatif B Représentant objet de liaison Mémoire 1 Mémoire 3 Mémoire 2 Copie A2 Copie A3 Représentant objet de liaison Représentant objet de liaison

29 29 Utilisation dun service de RS2.7 Mémoire 1 Mémoire 2 Binder Binder binder = new BinderImpl(nameFactory); np lo Name np = binder.export(lo); llo.write(((Field)new FieldImplem("Nom")), ((Value)new ValueString("Simpson"))); Binding lo = binder.resolve(np); Mémoire 1 Mémoire 2 Person p = new Person("Smith", "john", 27); p Binding lo = new BindingImpl(); LocalLogicalObject llo = lo.create(p); p Représentant objet de liaison LocalLogicalObject llo = lo.add(); Représentant objet de liaison p

30 30 Construire un protocole de cohérence locale Un protocole de cohérence locale est réparti sur chacune des copies : A chaque copie on associe un représentant de liaison Chaque représentant est une composition de phases Chaque phase est composée dun ensemble de fonctionnalité Chaque fonctionnalité est un composant

31 31 Copie A1 Copie A2 Accès Coordination Exécution Validation Réponse Accès Coordination Exécution Validation Réponse Read Write Method Begin End Abort Read Write Method Begin End Abort Zoom sur un protocole de cohérence locale Lock Unlock Lock Unlock Représentant de liaison

32 32 Protocole paresseux maître/esclaves Représentant objet de liaison Maître Exécution Replica accessor Accès Role manager Coordination Updates log Synchro. messages factory Starting Synchro. Com. manager Exécution Replica accessor Role manager Dispatcher Accès ecrire(x,3) Représentant objet de liaison Esclave Copie A2Copie A1 Objet Applicatif B Coordination Synchro. messages reader

33 33 Protocole paresseux maître/esclaves Représentant objet de liaison Maître Exécution Replica accessor Accès Role manager Coordination Updates log Synchro. messages factory Starting Synchro. Com. manager Exécution Replica accessor Role manager Dispatcher Accès Représentant objet de liaison Esclave Copie A2Copie A1 Coordination Synchro. messages reader

34 34 Protocole paresseux maître/esclaves Représentant objet de liaison Maître Exécution Replica accessor Accès Role manager Coordination Updates log Synchro. messages factory Starting Synchro. Com. manager Exécution Replica accessor Role manager Dispatcher Accès Représentant objet de liaison Esclave Copie A2Copie A1 Objet Applicatif C Coordination Synchro. messages reader ecrire(x,4)

35 35 Travaux similaires Orientés tolérance aux fautes Garf, OGS, Ethernal, etc. Nombre limité de protocole supporté Travaux supportant plus de protocoles Core, Globe Séparation duplication autres aspects pas claire Contexte bases de données Protocoles ad-hoc Orientés adaptation et non adaptabilité

36 36 Conclusions Contributions Isolation de la duplication Ladaptabilité au contexte non fonctionnel Décomposition structurelle et fonctionnelle Mise en oeuvre Prototype en Java + Jonathan (Corba & RMI) Plate-forme pour mondes virtuels (PING) Expérimentations sur ladaptabilité

37 37 Perspectives Utilisation dun canevas de composition afin dobtenir : ladaptabilité dynamique et loptimisation de la composition


Télécharger ppt "RS2.7 : un Canevas Adaptable de Duplication Stéphane Drapeau 1,2, Claudia L. Roncancio 2, Pascal Déchamboux 1 1 France Télécom R&D, Meylan 2 Laboratoire."

Présentations similaires


Annonces Google