Www.objectweb.org DREAM: un Canevas Logiciel à Composants pour la Construction dIntergiciels Orientés Messages Configurables CFSE 7 avril 2005 M. Leclercq,

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Cilia, un framework de médiation ouvert, léger, multi-personnalités
Karima Boudaoud, Charles McCathieNevile
Introduction aux environnements répartis
Réflexivité et réseaux d’ information
Classe : …………… Nom : …………………………………… Date : ………………..
Message Oriented Middleware
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Smart House System Framework Vincent Chicherie
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Object Management Architecture (OMA)
Architecture de réseaux
Internet 3ème génération
1 Placement automatique des composants lors du déploiement dapplications à base de composants Abdelkrim Beloued Chantal Taconet, Dhouha Ayed, Guy Bernard.
Journées Composants 2005 Gestion de la qualité de service de la conception à l’exécution dans les applications distribuées multimédias Sophie Laplace.

BDA'02 1 Tolérance aux fautes (TaF) adaptable pour les systèmes à composants : application à un gestionnaire de données Phuong-Quynh Duong, Elizabeth Pérez-Cortés,
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Fluke Networks NetWork Time Machine. Évolutions de loffre NTM Service Technique 2.
Sélection automatique d’index et de vues matérialisées
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
Les Enterprise Service Bus
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
le profil UML en temps réel MARTE
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Synchronisation et communication entre processus
Serveurs Partagés Oracle
7 - EAI Les EAI : Enterprise Application Integration Marché
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Virtual Local Area Network
Configuration de Windows Server 2008 Active Directory
Présentation des documents administratifs
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
Gestion des bases de données
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Programmation concurrente
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Cilia Mediation Framework v0.9.0 Implantation.. Plan Cilia: c'est quoi? Capacités. Cilia: Modèle d'implantation. Mise en œuvre: Médiateur Cilia. Assemblage.
RPC / MOM : Comparaison.
C'est pour bientôt.....
Les nombres.
WP2 Modèles de programmation
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
Nouvelles de PARIS et État d’avancement des briques Christian Perez – Toulouse – 22 octobre 2008.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
‘‘Open Data base Connectivity‘‘
CALENDRIER-PLAYBOY 2020.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Thème 5 Model-based adaptability management for autonomous mobile group communication Rencontre TOMPASSE/ROSACE - 20 Novembre 2008 Projet RTRA/ROSACE Groupes.
Les Chiffres Prêts?
Projet Implémentation du protocole MMT sous Linux
To practice: Quantities Un, une, des, de Du, de la, de l’, de Le, la, l’, les.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Mastère Professionnel Systèmes de Communication et Réseaux
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
1 Journee gdr COSMAL 27/01/2009 Exécution Distribuée et Agile de Compositions de Services Françoise Baude & Virginie Legrand
RozoFS KPI’s edition /04/2014. © Fizians Ce document ne peut être reproduit ou communiqué sans autorisation écrite. 2 RozoFS high level architecture.
Applications distribuées Introduction Jean-Jacques LE COZ.
Transcription de la présentation:

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

CFSE /04/2005 Plan è Contexte et motivations è DREAM è Expérimentations è Conclusion et travaux en cours

CFSE /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

CFSE /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

CFSE /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, …

CFSE /04/2005 Plan è Contexte et motivations è DREAM è Expérimentations è Conclusion et travaux en cours

CFSE /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

CFSE /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é

CFSE /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

CFSE /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

CFSE /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)

CFSE /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

CFSE /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

CFSE /04/2005 Plan è Contexte et motivations è DREAM è Expérimentation è Conclusion et travaux en cours

CFSE /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)

CFSE /04/2005 Architecture dun serveur Joram Network1Network2 Channel Engine PrxT1Q1 Exécution d«agents » persistance atomicité Communication (TCP, HTTP, …) ordonnancement (FIFO, causal)

CFSE /04/2005

CFSE /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%)

CFSE /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

CFSE /04/2005 Agent Factory Agent Repository MessageToNotif NotifToMessage Conduit Router DestinationResolver ChannelOut ChannelIn DestinationResolver ChannelOut ChannelIn Engine Repository Network 1Network 2

CFSE /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

CFSE /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

CFSE /04/2005 stockage ordonnancement

CFSE /04/2005 Équipement aux ressources restreintes

CFSE /04/2005 Plan è Contexte et motivations è DREAM è Expérimentations è Conclusion et travaux en cours

CFSE /04/2005 Conclusion è DREAM Canevas logiciel à composants pour la construction de MOM Flexible Performant Open source : ObjectWeb (

CFSE /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

CFSE /04/2005 Questions? è è è

CFSE /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

CFSE /04/2005 SEDA-Dream architecture

CFSE /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

CFSE /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)

CFSE /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

CFSE /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

CFSE /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é)

CFSE /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