1 / 37

RS2.7 : un Canevas Adaptable de Duplication

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 d’Hères. Contexte. De nouvelles contraintes dans la mise en place des infrastructures :

Download Presentation

RS2.7 : un Canevas Adaptable de Duplication

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RS2.7 : un Canevas Adaptable de Duplication Stéphane Drapeau1,2, Claudia L. Roncancio2, Pascal Déchamboux1 1 France Télécom R&D, Meylan 2 Laboratoire LSR IMAG, Saint Martin d’Hères

  2. Contexte • De nouvelles contraintes dans la mise en place des infrastructures : • Non connaissance de l’architecture • 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. 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 Médiateurs Requêtes Transactions Persistance Duplication Communication, Env. d’exécution

  4. Objectifs concernant la duplication • Offrir un support adaptable de la duplication • Donner la propriété d’adaptabilité au support • Adaptabilité pour être adaptable : • A l’application • 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. Problématique (1) • Séparationdes aspects : isolation de la duplication • Définition des interactions • Avec l’application • Avec les autres aspects non fonctionnels • Prise en compte de divers protocoles de duplication

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

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

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

  9. Service de duplication • Met en oeuvre la gestion des copies • Rôle minimum d’un 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. Politique de duplication Quand ? Combien ? Où ? Comment ? Quand ? Combien? Où ? Service de Duplication = Protocole de cohérence locale Gestion du cycle de vie + Tolérance aux fautes Partage de charge, … Application Couche de transparence Canevas de Duplication Politique de duplication Comment ?

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

  12. 4 modèles de cohérence locale • Copie unique : toutes les copies ont la même histoire • Copies divergentes: les copies ont deshistoires 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. 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 d’autres aspects • Copies équivalentes : forte contrainte sur le contrôle de concurrence • Copies divergentes : peu de contraintes

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

  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 : à l’entrée, au relâchement, 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. Contrôle de concurrence Modèle de cohérence globale Protocole de cohérence globale Couche de communication Modèle de cohérence locale Application Tolérance aux fautes Modèle de cohérence globale/locale Protocole de cohérence locale

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

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

  19. Protocole de cohérence locale abstrait • Niveau d’abstraction • Décomposition structurelle des protocoles de cohérence locale • Accès • Soumission d’une requête à un objet dupliqué • Coordination • Traitements préliminaires à l’exé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. Décomposition structurelle • Différences entre les protocoles dues : • A l’approche utilisée (implantation) dans chaque phase et • A l’ordre d’exécution des phases

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

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

  23. Architecture fonctionnelle des protocoles • Fonctionnalités présentes dans de nombreux protocoles • Extraction des fonctionnalités communes • Réutilisation • Flexibilité • Isolation d’interactions avec d’autres aspects Chaque phase du protocole abstrait = Ensemble de fonctionnalités

  24. Quatre catégories de composant (1) • Composants primitifs • Niveau de base pour construire des protocoles primitifs • Interface avec le service de communication, gestionnaire d’accè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. Quatre catégories de composant (2) • Composants dépendants du modèlede cohérence locale • Gestionnaire de rôle, détecteur de conflit, résolveur de conflits, etc. • Composants dépendants 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. Plan • RS2.7 : un canevas adaptable de duplication • Adaptabilité au contexte non fonctionnel • Décomposition de l’aspect duplication • Mise en oeuvre • Travaux similaires • Conclusion et perspectives

  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 l’intermédiaire de la chaîne de liaison

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

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

  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 d’un ensemble de fonctionnalité • Chaque fonctionnalité est un composant

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

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

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

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

  35. Travaux similaires • Orientés tolérance aux fautes • Garf, OGS, Ethernal, etc. • Nombre limité de protocole • 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. Conclusions • Contributions • Isolation de la duplication • L’adaptabilité 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 l’adaptabilité

  37. Perspectives • Utilisation d’uncanevas de compositionafin d’obtenir : • l’adaptabilité dynamique et • l’optimisation de la composition

More Related