1 ARC BROCCOLI Building, instRumenting, and deplOying Component-based arChitectures fOr Large-scale applIcations Journées ARC/ADT, Bordeaux, 1er Octobre 2009
2 Plan de la présentation Partenaires Objectifs du projet Résultats
3 Partenaires
4 EPI MASCOTTE, Sophia Antipolis Olivier Dalle, MCF (Resp. ARC) Simulation : méthodologie, performances, questions ouvertes GL Composants : bénéfices pour simulation ? Application aux grands systèmes : réseaux P2P (ANR SPREADS) Judicael Ribault, Doctorant (ANR SPREADS, depuis 01/2008) GL Composant Fractal, conception Optimisation de code, réalisation protos, faisabilité technique,... Fabrice Peix, Ingénieur expert (ANR SPREADS, 01/ /2009) Développement, optimisation Ponctuellement: J. Monteiro (Doctorant), Luc Hogié (Post-doc),...
5 EPI ADAM, Lille Philippe Merle, CR INRIA middleware, composant, SOA déploiement large échelle & hétérogène, méthodes formelles DeployWare, Alloy, Fractal Lionel Seinturier, Pr middleware, composant, aspect, SOA séparation des préoccupations, passage à l'échelle, approches multi- échelles (de l'IT à l'embarqué) Fractal Alban Tiberghien, Doctorant Méthodes formelles, autonomie, approches à base de composants Alloy, Fractal
6 Équipe ACMES/SAMOVAR, Télécom SudParis Denis Conan, MCF Gestion de contexte et instrumentation de simulation Répartition, ubiquité, large échelle, GL (Pôle de Compétitivité Industries du Commerce CAPPUCINO, Programme Inter Carnot-Fraunhofer TOTEM) Sébastien Leriche, MCF Déploiement, répartition Validation de programmes COSMOS-DSL Léon Lim, stagiaire M2 Recherche Langage dédié à l'instrumentation de simulation et à la gestion de contexte COSMOS-DSL Mohammed El Amine Matougui, stagiaire M2 recherche Validation de programmes COSMOS-DSL
7 Objectifs du projet
8 Objectifs du projet (1/2) Contributions dans plusieurs domaines 1. Simulation à évènements discrets (Mascotte) Application cible : Simulation de réseaux Pair-à-pair 2. Génie logiciel à base de composants (ADAM) Problèmes visés : passage a l'échelle, description d'architectures de grande taille, ingénierie du contrôle 3. Gestion de contexte, remontée/traitement d'informations on-line, collecte d'observations (ACMES) Application : Framework d'observation de contexte générique Attaquer ensemble des problèmes de science et ingénierie Challenges Méthodologie (simulation) Passage à l'échelle Problèmes de conception/GL –Séparation des préoccupations –Gestion du contrôle dans les composants
9 Objectifs du projet (2/2) 2. Initier un nouveau partenariat 3 compétences/équipes complémentaires –enrichissement mutuel –amélioration de nos produits respectifs Poursuite éventuelle sur formule plus conséquente –ANR,...
10 Challenges Limite de la loi de Moore Passage aux architectures multi-core –Massivement multi-thread –Optimisation de la gestion mémoire Parallélisation massive Impact sur les applications construites à base de composants? –Très grosses applications ( > 1 Million de composants) –Challenge pour Fractal (Leader: Partenaire 2) –Langages de description? (Leader: Partenaire 2) Exemple concret : la simulation – pairs => 1 millions de composants => 1 milliard d'événements –Challenge pour simulateur OSA (Leader: Partenaire 1) –Enormes quantités de données produites (traces, statistiques,...) –Challenge pour application COSMOS (Leader: Partenaire 3)
11 Limites des Simulateurs existants Passage à l'échelle (limite Moore) Parallélisation intelligente (tenant compte des hiérarchies) Méthodologie 3 codes co-habitent : modèle, noyau, observation –Peut-on les séparer proprement ? Collecte et analyse de données –Statistiques : calcul à la volée ou post-mortem (off-line) –Comment "instrumenter proprement" des millions de composants Reproductibilité des expériences ? Réutilisation effective de code existant : le projet OSA Modèles : stack IP NS,... Outils Support : Composants Fractal, Stats, Visualisation, etc.
12 Résultats
13 Séparation des Préoccupations (1/2): OSA : une architecture en couche/plans
14 Séparation des Préoccupations (2/2): Techniques de Programmation Programmation par aspects Séparation modèle / scénarios Séparation modèle / instrumentation ADL Fractal Description d'une expérience à partir de multiples fichiers –Modèle –Scénario –Instrumentation –... Héritage/surcharge de définitions –Un scénario peut modifier une définition du modèle Ex: Man in the middle
15 Description d'Architectures de Très Grande Taille Formalisation des approches à base de composants But : automatiser le raisonnement sur grandes architectures logicielles Formalisation multi-niveaux –modèle de composants, ADL, applications Formalisation de l'auto-configuration pour les systèmes autonomes Techniques de génération de code pour des grandes architectures avec Fractal/Juliac Déploiement OSA/COSMOS via FDF
16 Framework d'Instrumentation Basé sur COSMOS Orientation processus (Vs. Donnée) Instrumentation construite comme un graphe de nœuds de traitement Placement des processeurs de contexte sur les nœuds Création d'outils Vers un DSL de traitement d'informations de contexte –Réification architectural de patrons d'architectures dans un langage dédié –Utilisation du langage pour vérifier des propriétés (interblocage, vivacité, etc.) Test d'Applicabilité Reproduction d'expérience existante –Etude d'un système Pair-à-Pair
17 Parallélisation/Distribution/Optimisation Optimisation de l'Outillage Fractal Existant Instanciation –Nombre de composants x 10 –Vitesse d'exécution / 40 Travaux en cours Expérimentation sur GRID5k Technique de Rendez-Vous
18 Perspectives 2 Articles de Journaux collectifs en préparation Dépôt d'un projet ANR Intl. France-Canada France : ARC Broccoli + LSIS Marseille Canada : Carleton + IBM +... Sujet : Simulation distribuée sur Web Services Poursuite de la collaboration Integration COSMOS/OSA/Fractal/FDF/... Description de très larges architectures à base de composants Déploiement à très grande échelle –Instanciation des modèles, configuration,... Orientation vers les services web...
19 Publications en relation avec l'ARC A formal specification of the Fractal component model in Alloy. Philippe Merle and Jean- Bernard Stefani. Technical report RR-6721, INRIA, November Deploying on the Grid with DeployWare. Areski Flissi, Jérémy Dubus, Nicolas Dolet and Philippe Merle. In Proceedings of the 8th International Symposium on Cluster Computing and the Grid (CCGRID'08), pages , Lyon, France, May OSA: an Integration Platform for Component-Based Simulation. Judicael Ribault, Fabrice Peix, Julian Monteiro and Olivier Dalle. In Second Intl. Conf. on Simulation Tools and Techniques (SIMUTools09). Rome, Italy, March Poster absract. Design considerations for M &S software. Jan Himmelspach, Olivier Dalle and Judicaël Ribault. In Proceedings of the Winter Simulation Conference (WSC09). Austin, TX, December (D. Rossetti, R. R. Hill, B. Johansson, A. Dunkin and R. G. Ingalls, Eds.).Invited Paper. To appear. Enabling advanced simulation scenarios with new software engineering techniques. Judicael Ribault and Olivier Dalle. In 20th European Modeling and Simulation Symposium (EMSS 2008). Briatico, Italy, September An Instrumentation Framework for component-based simulations based on the Separation of Concerns paradigm. Olivier Dalle and Cyrine Mrabet. In Proc. of 6th EUROSIM Congress (EUROSIM2007). Ljubljana, Slovenia, September Software Architecture Patterns for a Context Processing Middleware Framework. R. Rouvoy, D. Conan, L. Seinturier. IEEE Distributed Systems Online, Volume 9, Number 6, June COSMOS: composition de noeuds de contexte. D. Conan, R. Rouvoy, L. Seinturier. Technique et Science Informatiques, volume 27, numéro 9-10, pages , 2008.