A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,

Slides:



Advertisements
Similar presentations
A Lightweight Platform for Integration of Mobile Devices into Pervasive Grids Stavros Isaiadis, Vladimir Getov University of Westminster, London {s.isaiadis,
Advertisements

Grid Component Model and Platform: An Overview Workshop on Evolutions of GRIDs Towards SOKUs OGF20, Manchester, 8 May 2007 Vladimir Getov CoreGRID STE.
Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Architecture Representation
COMP Superscalar: Bringing GRID superscalar and GCM together Enric Tejedor Universitat Politècnica de Catalunya V ProActive and GCM.
Towards a Practical Composition Language Oscar Nierstrasz Software Composition Group University of Bern.
Software Reuse SEII-Lecture 28
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
Nadia Ranaldo - Eugenio Zimeo Department of Engineering University of Sannio – Benevento – Italy 2008 ProActive and GCM User Group Orchestrating.
 Copyright 2004 Digital Enterprise Research Institute. All rights reserved. Towards Dynamic Execution Semantics in Semantic Web Services.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Monitoring OSGi platforms with ProActive Virginie Legrand OASIS Team - INRIA Sophia Antipolis.
Denis Caromel1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF 3 rd ProActive User Group, Nov Model.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Reuse Activities Selecting Design Patterns and Components
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Optimisation of behaviour of component-based distributed systems INRIA - I3S - CNRS – University of Nice Sophia-Antipolis EPC SCALE Galyna Zholtkevych.
G RID R ESOURCE BROKER FOR SCHEDULING COMPONENT - BASED APPLICATIONS ON DISTRIBUTED RESOURCES Reporter : Yi-Wei Wu.
SOA, BPM, BPEL, jBPM.
DOT’98 Heidelberg 1 A. Hoffmann & M. Born Requirements for Advanced Distribution and Configuration Support GMD FOKUS Andreas Hoffmann & Marc Born
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 07. Review Architectural Representation – Using UML – Using ADL.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 05. Review Software design methods Design Paradigms Typical Design Trade-offs.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Enabling Self-management Of Component Based Distributed Applications Ahmad Al-Shishtawy 1, Joel Höglund 2, Konstantin Popov 2, Nikos Parlavantzas 3, Vladimir.
Asynchronous Components with Futures: Semantics, Specification, and Proofs in a Theorem Prover Components (Distributed) Futures Formalisations (and proofs)
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
Department of Computer Science MapReduce for the Cell B. E. Architecture Marc de Kruijf University of Wisconsin−Madison Advised by Professor Sankaralingam.
ProActive components and legacy code Matthieu MOREL.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Light Weight Grid Platform: Design Methodology Vladimir Getov University of Westminster.
A visualisation and debugging tool for multi-active objects Ludovic Henrio, Justine Rochas LAMHA, Nov 2015.
Architecture Analysis and Design Language: An Overview Drew Gardner.
1 OASIS Team, INRIA Sophia-Antipolis/I3S CNRS, Univ. Nice Christian Delbé Data Grid Explorer 15/09/03 Large Scale Emulation Mobility in ProActive.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 15. Review Interaction-Oriented Software Architectures – MVC.
1 ProActive GCM – CCA Interoperability Maciej Malawski, Ludovic Henrio, Matthieu Morel, Francoise Baude, Denis Caromel, Marian Bubak Institute of Computer.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
CBHPC’08: Component-Based High Performance Computing (16/10/08) 1 A GCM-Based Runtime Support for Parallel Grid Applications Elton Mathias, Françoise Baude.
Problem On a regular basis we use: –Java applets –JavaScript –ActiveX –Shockwave Notion of ubiquitous computing.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
Holding slide prior to starting show. Processing Scientific Applications in the JINI-Based OGSA-Compliant Grid Yan Huang.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
The Role of Reflection in Next Generation Middleware
Behavioural Models for Distributed Hierarchical Components
Componentising and Deploying a Scientific Application on the Grid
Enabling Self-management Of Component Based Distributed Applications
SwE 455 Tutorial.
Automated Analysis and Code Generation for Domain-Specific Models
Presented By: Darlene Banta
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel, Vladimir Getov INRIA Sophia Antipolis (F) University of Westminster (UK)

Component-based development simplifies building and evolving Grid applications. Questions What are the real costs and benefits of component-based development? How do we support Grid application developers?

Summary Re-engineered a complex, scientific application into a component-based Grid application distributed object-based system (ProActive) component-based system (Fractal/ProActive, GCM) Showed that componentisation has  increased modifiability and reusability  no adverse effect on performance Proposed a general, architecture-based componentisation process

Outline Background on Jem3D Jem3D overview ProActive library Jem3D architecture Approach Componentisation process Component model Componentising Jem3D Architecture Evaluation Conclusion

Jem3D Numerical solver for the 3D Maxwell’s equations  finite volume method on unstructured tetrahedral meshes Follows typical “geometric decomposition” parallelisation Distributed object application using ProActive library

ProActive library Java distributed object middleware for parallel and concurrent programming Main features Active objects Asynchronous method invocation Group communications Descriptor-based deployment

Jem3D architecture

Jem3D problems Limited modifiability and reusability No architectural documentation  Difficult to understand and evolve system Hard-wired, hidden dependencies  Limited reusability of parts  Limited run-time variability

Outline Background on Jem3D Jem3D overview ProActive library Jem3D architecture Approach Componentisation process Component model Componentising Jem3D Architecture Evaluation Conclusion

Componentisation process General, architecture-based process Object-based system  Component-based system Assumes that the target component platform allows connecting components via provided/required interfaces supports (or can be extended to support) same interaction styles as object platform

Componentisation process

Fractal/ProActive Parallel and distributed component model targeting Grid applications Inherits Fractal features  hierarchical composition  declarative architecture description  extensible reflective facilities Extends Fractal with  distributed components  multicast interfaces  configurable deployment on the Grid

Componentising Jem3D Recovery of original architecture dominated effort Restructured, interface-based version simplified migration to component platform

Component-based Jem3D

Initial configuration in ADL Component ConsoleSteeringAgent definition = SteeringAgentImpl Component MainCollector definition = MainCollectorImpl Component Activator definition = ActivatorImpl Component Domain Interface … Component SubDomainFactory definition =FactoryImpl (SubDomainImpl) Binding This to SubDomainFactory Binding SubDomainFactory to This Binding ConsoleSteeringAgent to MainCollector Binding MainCollector to ConsoleSteeringAgent …

Qualitative evaluation Improved modifiability and reusability Reliable architectural documentation Configuration after development time Reusable implementation of geometrical decomposition

Performance evaluation Comparison object- / component-based versions experiments on Grid’5000  using up to 308 processors, allocated on up to 3 clusters execution times of two versions are similar

Conclusion Case study in re-engineering a scientific application into a component-based application improved modifiability and reusability no adverse effect on performance Componentisation process Future work add support for dynamic reconfiguration to Jem3D apply approach to diverse applications