The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.

Slides:



Advertisements
Similar presentations
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,
Advertisements

Architecture Representation
European Commission Directorate-General Information Society Unit F2 – Grid Technologies INSERT PROJECT ACRONYM HERE BY EDITING THE MASTER SLIDE (VIEW.
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Connect. Communicate. Collaborate Click to edit Master title style MODULE 1: perfSONAR TECHNICAL OVERVIEW.
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
Nadia Ranaldo - Eugenio Zimeo Department of Engineering University of Sannio – Benevento – Italy 2008 ProActive and GCM User Group Orchestrating.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
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.
WP3 plenary meeting London, Jan 17-18, 2006 Roadmap of the Virtual Institute Marco Danelutto Workpackage leader University of Pisa - Italy.
Components for high performance grid programming in the GRID.it project 1 Workshop on Component Models and Systems for Grid Applications - St.Malo 26 june.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
A Case Study in Componentising a Scientific Application for the Grid  Nikos Parlavantzas, Matthieu Morel, Françoise Baude, Fabrice Huet, Denis Caromel,
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
SOA, BPM, BPEL, jBPM.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Asynchronous Components Asynchronous communications: from calculi to distributed components.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
Introducing Axis2 Eran Chinthaka. Agenda  Introduction and Motivation  The “big picture”  Key Features of Axis2 High Performance XML Processing Model.
Web Services Experience Language Web Services eXperience Language Technical Overview Ravi Konuru e-Business Tools and Frameworks,
Safe composition of distributed adaptable components A distributed component model Behavioural specification and verification Ludovic Henrio and Eric Madelaine.
1 G52IWS: Distributed Computing Chris Greenhalgh.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
1 CCA Meeting, Januray 25th 2007 Supporting the Master-Worker Paradigm in the Common Component Architecture Hinde Lilia Bouziane, Christian Pérez, Thierry.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
Architecting Web Services Unit – II – PART - III.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Indo-US Workshop, June23-25, 2003 Building Digital Libraries for Communities using Kepler Framework M. Zubair Old Dominion University.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
Cracow Grid Workshop, October 27 – 29, 2003 Institute of Computer Science AGH Design of Distributed Grid Workflow Composition System Marian Bubak, Tomasz.
Master Worker Paradigm Support in Software Component Models Hinde Bouziane, Christian Pérez PARIS Research Team INRIA/IRISA Rennes ANR CIGC LEGO (ANR-05-CICG-11)
Objectives Functionalities and services Architecture and software technologies Potential Applications –Link to research problems.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
AUKEGGS Architecturally Significant Issues (that we need to solve)
XASTRO-2 Overview Presentation CCSDS SAWG Athens Meeting 12 th April 2005.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
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)
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.
GLOBE DISTRIBUTED SHARED OBJECT. INTRODUCTION  Globe stands for GLobal Object Based Environment.  Globe is different from CORBA and DCOM that it supports.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
CCA Common Component Architecture CCA Forum Tutorial Working Group CCA Status and Plans.
ProActive components and legacy code Matthieu MOREL.
MDD approach for the Design of Context-Aware Applications.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
DESIGN OF SOFTWARE ARCHITECTURE
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
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.
Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.
Distributed Components and Futures: Models and Challenges A Distributed Component Model Distributed Reconfiguration Calculi for Components and Futures.
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.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
Typed Group Communication & Object-Oriented SPMD Laurent Baduel.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
Asynchronous Distributed Components: Concurrency and Determinacy I. Context: Distributed Components and Active Objects II. Asynchronous Distributed Components.
The Role of Reflection in Next Generation Middleware
Self Healing and Dynamic Construction Framework:
Behavioural Models for Distributed Hierarchical Components
Distributed Components and Futures: Models and Challenges
Data Modeling II XML Schema & JAXB Marc Dumontier May 4, 2004
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid Component Model” D.PM.04 “Basic Features of the GCM (assessed)”

Context l CoreGrid NoE  Institute on Programming Model aims at defining a component model for the Grid l “By defining the GCM, the V.I. aims at the precise specification of an effective Grid Component Model.” l The features are discussed taking Fractal as the reference model. l The features are defined as extensions to the Fractal specification. l The PM institute expects several different implementations of the GCM, not necessarily relying on existing Fractal implementations.

Outline  A Summary of Fractal  Communication semantics  Dynamic Controllers, adaptativity and Autonomicity  Parallelism and Distribution  The GCM in ProActive

GCM is Based on Fractal Fractal provides: l Terminology, API (and ADL)  Interoperability l Hierarchical structure l Separation of concerns l Abstract component model  no constrain on implementation: several implementations exist l Multi-level specification: almost every object is a level 0 Fractal component We can imagine a multi-level specification of the GCM  We focus on the Grid specific extensions of Fractal general features

A Fractal Component

Outline  A Summary of Fractal  Communication semantics  Dynamic Controllers, adaptativity and Autonomicity  Parallelism and Distribution  The GCM in ProActive

Communications l Fractal:  somewhat “unspecified”, notion of “address space”  most implementations use synchronous primitive bindings, but not all of them,  Composite bindings allow for “other” communication semantics l In the GCM:  Communication semantics should be specified in the interfaces  Asynchronous method call is the default

Outline  A Summary of Fractal  Communication semantics  Dynamic Controllers, adaptativity and Autonomicity  Parallelism and Distribution  The GCM in ProActive

Dynamic Controllers (components in component’s membrane) l Interest for the GCM:  Reconfiguration and adaptativity of the membranes  For autonomic aspects: hierarchical composition of autonomic aspects (also multicast)  Fractal (GCM) Components in the menbrane l Apply Fractal specification to the non-functional aspect  Pluggable NF server interfaces (NF components)  NF client interfaces

Dynamic Controllers (2) l Adaptativity and autonomicity l Dynamic reconfiguration of the controllers l Called component controller l Better separation of concerns l Modification of the content controller (for the membrane) l Controller components should be lightweight components l Might have restriction on distribution or complexity of component controllers l Conformance levels: component controllers are optional

Autonomicity l Self-Configuring: handles reconfiguration inside itself l Self-Healing: provides its services in spite of failures l Self-Optimising: adapts its configuration and structure in order to achieve the best/required performance. l Self-Protecting: predicts, prevents, detects and identifies attacks, and to protect itself against them. l Open and extensible specification è Several levels of autonomicity depending on:  autonomic controllers implemented  autonomicity level implemented by each controller

Outline  A Summary of Fractal  Communication semantics  Dynamic Controllers, adaptativity and Autonomicity  Parallelism and Distribution  The GCM in ProActive

Parallel Components: Distribution l Notion of Virtual Nodes  distribution  Maps the virtual architecture to a physical one  One can envisage more sophisticated information such as, for instance, topology information, QoS requirements between the nodes, etc. l Parallel components can  Be distributed or not  Admit several implementation  adaptive implementations

Collective interfaces l Multicast l Gathercast l SPMD by assembly of components è Allow MxN communications.

Current situation (Fractal model) Simple type system Component type  types of its interfaces Interface type :  Name  Signature  Role  Contingency  Cardinality: single or collection (one-to-one)

Proposal Simplify the design and configuration of component systems Expose the collective nature of interfaces  Cardinality attribute  Multicast, gathercast, gather-multicast The framework handles collective behaviour at the level of the interface l Dedicated and customizable controllers l Data distribution strategy defines exposed types

Multicast interfaces Transform a single invocation into a list of invocations Multiple invocations  Parallelism  Asynchronism  Dispatch Data redistribution (invocation parameters)  Parameterisable distribution function  Broadcast, scattering  Dynamic redistribution (dynamic dispatch) Result = list of results

Gathercast interfaces Transform a list of invocations into a single invocation Synchronization of incoming invocations  ~ “join” invocations  Timeout / drop policy  Bidirectional bindings (callers  callee) Data gathering Aggregation of parameters (e.g., into lists) Result: redistribution of results Redistribution function

Outline  A Summary of Fractal  Communication semantics  Dynamic Controllers, adaptativity and Autonomicity  Parallelism and Distribution  The GCM in ProActive

A Prototype GCM implementation in ProActive l Distributed Fractal implementation l Support for deployment l Asynchronous communication l “Each component is an Active Object” l Plus Multicast and gathercast

Configuration of Collective Interfaces Interface type = [name, signature, role, contingency, cardinality] Metadata in signature {class, method, void foo(List l) Distribution strategies  Block, cyclic  Round-robin  User-defined

InterfaceType interface: string getFcItfCardinality(); TypeFactory interface: InterfaceType createFcItfType ( … string cardinality )… CollectiveInterfacesController  Collective interface policy  On a per-interface basis  Specified at instantiation-time  May be updated dynamically API: Dedicated Controllers

Summary / Conclusion l ProActive/Fractal: Fractal with distributed components and asynchronous method invocation l Multicast/Gathercast specification + implementation: collective communications l Deployment of components l « Component Oriented SPMD » l Experiments and validation  a prototype implementation of the GCM: ProActive/GCM

Current and Future Works l MxN as an optimization for the coupling of multicast and gathercast l Generalisation of the data distribution and gathering policies for multicast and gathercast (new conditions on typing) l Refinement of the specification and implementation of component controllers l …

Summary: Requirements and Concepts Hierarchical composition  Fractal Extensibility  From Fractal design  dynamic controllers (for non-functional)  open and extensible communication mechanisms Support for reflection  Fractal specification and API Lightweight  Conformance levels  No controller imposed ADL with support for deployment  Virtual Nodes Packaging  packaging being defined by the Fractal community Support for deployment  Notion of virtual nodes  ADL with support for deployment

Sequential and parallel implementation  XML component specifications, and Multicast-Gathercast interfaces allow plugging and unplugging several componentsto the same interface dynamically Asynchronous ports and Extended/Extensible port semantics  Asynchronous Method Invocation as default but can be defined via tags; + Possibility to support method calls / message oriented / streaming / … Group related communication on interfaces  Multicast / Gathercast interfaces Interoperability  Exportation and importation as web-services Language neutrality  API in various languages  Various interface specifications  exportation of a web-service port

Adaptivity:  Globally due to dynamic controllers Exploit Component Hierarchical abstraction for adaptivity  Dynamic controllers plug/unplug component  Fractal: content + binding controller Give a standard for adaptive behavior and unanticipated extension of the model  Dynamic controllers Give a standard for the autonomic management components  Autonomic controllers Plug/unplug non-functional interfaces  Dynamic controllers Parallel binding: Well-defined and verifiable composition  Multicast / Gathercast

Conclusion Future (technical) works: model has to be refined  Technical issues (dynamic controllers)  APIs  extended ADL (behaviour, dynamic controllers)  … Like in Fractal, we aim at a multi-level specification,  an implementation of the GCM can be level 1.1 Fractal compliant and level GCM compliant. GCM levels to be specified Next steps: assessment, experiments, (reference) implementations (  GridCOMP)

Questions / Comments ?

Dynamic Controllers As suggested as an extension of Fractal, controllers can be components (they still belong to the membrane)

Multicast interfaces

Gathercast interfaces

Multicast interfaces Results as lists of results Invocation parameters may also be distributed from lists

Current situation in Fractal: 2 cardinalities SingleCollection