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

Présentations similaires


Présentation au sujet: "RS2.7 : un Canevas Adaptable de Duplication"— Transcription de la présentation:

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éparation des 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 Problématique (2) Cohérence locale Cohérence locale Cohérence globale
Mémoire 1 Mémoire 3 Mémoire 2 Objet Applicatif A Copie A1 A3 Copie B2 B3 B1 Cohérence locale Cohérence locale Cohérence globale Objet Applicatif B Objet Applicatif C 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 canevas adaptable de duplication

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

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 ? Où ? Combien? Tolérance aux fautes Partage de charge, Application Couche de transparence Service de Duplication Comment ? Protocole de cohérence locale Canevas de Duplication + = Gestion du cycle de vie

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 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 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 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 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 Modèle de cohérence globale/locale
Application Modèle de cohérence globale cohérence globale Protocole de Contrôle de concurrence communication Couche de Tolérance aux fautes Modèle de cohérence locale Protocole de cohérence locale

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 T1 ecrire(A) ecrire(B) T2 ecrire(A) acquerirVerrou(A) acquerirVerrou(B) BD2 BD1 A2 Contexte transactionnel Globale : sérialisabilité Locale : copie unique A1 B2 B1 acquerirVerrou(A1) acquerirVerrou(B1) acquerirVerrou(A2) acquerirVerrou(B2)

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 Exemple : protocole ROWA
ROWA : read one, write all Réponse Accès Objet applicatif Copie Validation Exécution Coordination Copie Copie Copie

22 Exemple : protocole ROWAA
ROWAA : read one, write all available Réponse Accès Objet applicatif Copie Exécution Coordination Exécution Coordination Validation Validation 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è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 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 Protocole de cohérence locale
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 Accès à un objet dupliqué
Mémoire 1 Mémoire 2 Copie A1 Copie A2 Représentant objet de liaison Représentant objet de liaison Mémoire 3 Représentant objet de liaison Objet Applicatif B Copie A3

29 Utilisation d’un service de RS2.7
Mémoire 1 Mémoire 1 Binding lo = new BindingImpl(); LocalLogicalObject llo = lo.create(p); p Représentant objet de liaison Person p = new Person("Smith", "john", 27); p Binder Binder binder = new BinderImpl(nameFactory); LocalLogicalObject llo = lo.add(); Représentant objet de liaison p np lo Name np = binder.export(lo); 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 Zoom sur un protocole de cohérence locale
Lock Unlock Copie A1 Accès Coordination Exécution Validation Réponse Read Write Method Begin End Abort Représentant de liaison Représentant de liaison Copie A2

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

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

34 Protocole paresseux maître/esclaves
Objet Applicatif C Copie A2 Copie A1 ecrire(x,4) Exécution Replica accessor Accès Role manager Role manager Dispatcher Accès Exécution Replica accessor Coordination Updates log Synchro. messages factory Starting Com. manager Coordination Synchro. messages reader 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 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 Conclusions Contributions Mise en oeuvre 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’un canevas de composition afin d’obtenir :
l’adaptabilité dynamique et l’optimisation de la composition


Télécharger ppt "RS2.7 : un Canevas Adaptable de Duplication"

Présentations similaires


Annonces Google