Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parJori Gallet Modifié depuis plus de 10 années
1
www.objectweb.org DREAM: un Canevas Logiciel à Composants pour la Construction dIntergiciels Orientés Messages Configurables CFSE 7 avril 2005 M. Leclercq, V. Quéma, J.-B. Stefani Projet Sardes, INRIA-LSR-IMAG
2
www.objectweb.org CFSE - 2 - 06/04/2005 Plan è Contexte et motivations è DREAM è Expérimentations è Conclusion et travaux en cours
3
www.objectweb.org CFSE - 3 - 06/04/2005 Contexte è Intergiciels orientés messages (MOM pour Message-Oriented Middleware) Permettent des échanges de messages asynchrones entre composants répartis Monitoring Glue entre applications faiblement couplées [Banavar - DISC99] Divers modèles de communications existent Files de messages réparties Publication/Abonnement Événement/Réaction Bus à messages
4
www.objectweb.org CFSE - 4 - 06/04/2005 Motivations (1) è Les MOM existants Fournissent une API figée JMS (JORAM, WebSphere MQ, iBus, …) Ad-Hoc (BEA MessageQ, Gryphon, SIENA, …) Ont des PNF coûteuses et peu configurables Ont une architecture monolithique Le développeur dapplications est contraint à des abstractions fixées
5
www.objectweb.org CFSE - 5 - 06/04/2005 Motivations (2) è Nécessité de construire des MOM configurables Fonctionnellement Construire divers paradigmes de communications –Message passing, événement/réaction, publication/souscription Non fonctionnellement Fournir diverses propriétés non fonctionnelles –Ordonnancement, persistance, sécurité, … Architecturalement Adaptés à divers types denvironnements –PC, PDA, téléphones mobiles, …
6
www.objectweb.org CFSE - 6 - 06/04/2005 Plan è Contexte et motivations è DREAM è Expérimentations è Conclusion et travaux en cours
7
www.objectweb.org CFSE - 7 - 06/04/2005 Proposition è DREAM (Dynamic Reflective Asynchronous Middleware) è Canevas logiciel pour la construction dintergiciels asynchrones Un modèle de composants + définitions dabstractions Librairie de composants Des outils permettant de décrire, configurer, déployer et administrer des MOM è Nimpose aucune abstraction API Fonctionnelle De contrôle Architecturale
8
www.objectweb.org CFSE - 8 - 06/04/2005 Modèle de composants è Les composants DREAM sont une spécialisation des composants Fractal [CBSE 2004] Récursif, Réflexif, Extensible è Activités + messages 2 interfaces particulières : Push et Pull sous composant liaison contenu interface serveur contrôleur interfaces de contrôle composant partagé
9
www.objectweb.org CFSE - 9 - 06/04/2005 Messages è Les Messages sont des objets Java encapsulant Des chunks Des sous-messages è Gestionnaires de messages Composants partagés qui gèrent le cycle de vie des messages et des chunks Utilisation de pools Performances Politiques de gestion de ressources
10
www.objectweb.org CFSE - 10 - 06/04/2005 Activités è Un composant DREAM peut être actif ou passif è Un composant actif définit des tâches à exécuter è Les tâches sont enregistrées auprès de gestionnaires dactivités è Un appel sur une interface cliente peut intervenir Dans le flot dexécution dun composant effectuant un appel sur une interface serveur Dans lactivité du composant
11
www.objectweb.org CFSE - 11 - 06/04/2005 Gestionnaire dactivités è Composant partagé qui contient des tâches et des ordonnanceurs Activity manager Task (thread) FIFO Scheduler Task A1Task A2Task B Component A Third party Component B taskManager schedulerManager taskController Task (thread) schedule execute register(A1)
12
www.objectweb.org CFSE - 12 - 06/04/2005 Librairie de composants è Files Permettent le stockage des message è Transformateurs Transforment les messages reçus en entrés è Routeurs Routent les messages reçus en entrée sur une (ou plusieurs) sortie(s) è Pompes è Diffusion Diffusion de messages à un ensemble de destinations è Codec Encode/décode les messages è Sérialisateurs/désérialisateurs è Synchro Mutex, Sémaphores, Condition, Lecteur/Redacteur
13
www.objectweb.org CFSE - 13 - 06/04/2005 Outils è Configuration, déploiement Fractal ADL Langage extensible pour la description des composants et de leurs interconnexions Usine extensible pour le déploiement distribué Extension DREAM Prise en compte des composants patrimoniaux (ajouts dynamiques de composants) è Contrôle Fractal-explorer Navigation dans une application en cours dexécution Reconfiguration + monitoring
14
www.objectweb.org CFSE - 14 - 06/04/2005 Plan è Contexte et motivations è DREAM è Expérimentation è Conclusion et travaux en cours
15
www.objectweb.org CFSE - 15 - 06/04/2005 Expérimentations è Buts Vérifier que Plusieurs personnalités peuvent être construites à laide de DREAM Il y a un gain en configurabilité Les performances sont comparables pour des MOM fonctionnellement équivalents Les performances peuvent être meilleures quand les MOM sont configurés de façon adéquate è Expérimentations LPBCast : Lightweight Probabilistic Broadcast SEDA : Staged Event-Driven Architecture Joram : implantation open-source de lAPI JMS (ObjectWeb)
16
www.objectweb.org CFSE - 16 - 06/04/2005 Architecture dun serveur Joram Network1Network2 Channel Engine PrxT1Q1 Exécution d«agents » persistance atomicité Communication (TCP, HTTP, …) ordonnancement (FIFO, causal)
17
www.objectweb.org CFSE - 17 - 06/04/2005
18
www.objectweb.org CFSE - 18 - 06/04/2005 Joram - évaluation è Gain en configurabilité Possibilité de changer (dynamiquement) les propriétés non fonctionnelles Possibilités davoir plusieurs Engines Possibilité de changer le nombre de threads (organisation des flots dexécution) è Performances Équivalentes pour la même configuration Sensiblement meilleures pour certaines configurations dans certaines conditions Inférieures en totalement reconfigurable è Empreinte mémoire La version DREAM a une empreinte mémoire supérieure (< 10%)
19
www.objectweb.org CFSE - 19 - 06/04/2005 Router Atomic Reactor Agent Factory Agent Repository MessageToNotif NotifToMessage Conduit Router Causal Sorter DestinationResolver ChannelOut ChannelIn DestinationResolver ChannelOut ChannelIn AtomicityProtocol Engine Repository Network 1Network 2
20
www.objectweb.org CFSE - 20 - 06/04/2005 Agent Factory Agent Repository MessageToNotif NotifToMessage Conduit Router DestinationResolver ChannelOut ChannelIn DestinationResolver ChannelOut ChannelIn Engine Repository Network 1Network 2
21
www.objectweb.org CFSE - 21 - 06/04/2005 Router Atomic Reactor Agent Factory Agent Repository MessageToNotif NotifToMessage Conduit Router Causal Sorter DestinationResolver ChannelOut ChannelIn DestinationResolver ChannelOut ChannelIn AtomicityProtocol Engine Repository Network 1Network 2
22
www.objectweb.org CFSE - 22 - 06/04/2005 Router Atomic Reactor Agent Factory Agent Repository MessageToNotif NotifToMessage Conduit Router Causal Sorter DestinationResolver ChannelOut ChannelIn DestinationResolver ChannelOut ChannelIn AtomicityProtocol Engine Repository Network 1Network 2
23
www.objectweb.org CFSE - 23 - 06/04/2005 stockage ordonnancement
24
www.objectweb.org CFSE - 24 - 06/04/2005 Équipement aux ressources restreintes
25
www.objectweb.org CFSE - 25 - 06/04/2005 Plan è Contexte et motivations è DREAM è Expérimentations è Conclusion et travaux en cours
26
www.objectweb.org CFSE - 26 - 06/04/2005 Conclusion è DREAM Canevas logiciel à composants pour la construction de MOM Flexible Performant Open source : ObjectWeb (http://dream.objectweb.org)http://dream.objectweb.org
27
www.objectweb.org CFSE - 27 - 06/04/2005 Travaux en cours è Migration de Joram (12/2005) Haute disponibilité Persistance è Support pour les sessions Implantation de personnalités synchrones (RMI) è Communication de groupe Ordre total uniforme en collaboration avec EPFL (Guerraoui) è AOP + composants pour traçage des consommations de ressources è Système de types dans Fraktal pour vérifier la validité des assemblages de composants DREAM
28
www.objectweb.org CFSE - 28 - 06/04/2005 Questions? è http://dream.objectweb.org http://dream.objectweb.org è http://sardes.inrialpes.fr/~quema http://sardes.inrialpes.fr/~quema è http://sardes.inrialpes.fr http://sardes.inrialpes.fr
29
www.objectweb.org CFSE - 29 - 06/04/2005 Schedulers and tasks è Schedulers are responsible for mapping higher level tasks onto lower-level tasks Schedule server interface Execute client interface Implement a scheduling policy FIFO, round-robin, with priority,... è Tasks Execute server interface Schedule client interface Three kinds of tasks Higher-level tasks = applicative tasks Lowest-level tasks = threads ( Execute = Runnable ) Middle-level tasks = allow inter-schedulers scheduling
30
www.objectweb.org CFSE - 30 - 06/04/2005 SEDA-Dream architecture
31
www.objectweb.org CFSE - 31 - 06/04/2005 Performances (1) è Compare performance of the same application running on SEDA and its Dream based implementation Three stages organized in a ring Each stage forwards received messages to the next stage in the ring Measure The average time it takes for a message to be processed by all stages
32
www.objectweb.org CFSE - 32 - 06/04/2005 Performances (2) Average time (ms) SEDA0,415 DREAM (non-reconf)0,410 DREAM (reconf)0,420 è Dream non-reconf Optimized binding Interface object bypassed No lifecycle interceptor Non stoppable application è No execution cost (and low memory cost)
33
www.objectweb.org CFSE - 33 - 06/04/2005 Performances (3) Average time (ms) SEDA1,31 DREAM (reconf) 1 thread per stage1,38 DREAM (reconf) 1 thread per server1,23 è Implementation of Haboob HTTP server made of 10 stages Message transmission Disk I/O HTTP protocol (reception, parsing, caching, sending, etc.) è Average time for an HTTP request to be processed
34
www.objectweb.org CFSE - 34 - 06/04/2005 Configurability assessment è Event handlers have direct control over threads Allows avoiding the use of locks, … è Activity managers can be shared between several stages Common scheduling policy for accessing shared state è Every architectural element is a component Reconfiguration Ordered queues è Allows changing the concurrency model
35
www.objectweb.org CFSE - 35 - 06/04/2005 Travaux connexes è Sous-systèmes de communications Click, Coyote/Cactus Modèles de composants limités et plats Pas de configuration distribuée Configuration statique è Modèles de composants généraux COM/Knit Configuration statique Modèle de composants plat Pas de contrôle Pas de configuration distribuée OpenORB, dynamicTAO, … Ciblent les intergiciels synchrones (ORB, Multimedia) Modèles de composants centralisés Capacitées de contrôle limitées (méta-niveau limité)
36
www.objectweb.org CFSE - 36 - 06/04/2005 LCC Connecteur asynchrone Composite Sonde CPU Sonde Mémoire LCC Reconfiguration Console de Supervision Topic Domaine de causalité Liaison sécurisée LCC Bus
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.