overview
DESCRIPTION
Methodology for Component-based Development of Grid Applications Artie Basukoski T.Weigold, P.Buhler – IBM Zurich Research Lab A.Basukoski, V.Getov, S.Isiaiadis – University of Westminster [email protected]. Overview. GCM and GridCOMP Component framework overview - PowerPoint PPT PresentationTRANSCRIPT
Grid programming with components: an advanced COMPonent platform for an effective invisible grid
© 2006 GridCOMP Grids Programming with components. An advanced component platform for an effective invisible grid is a Specific Targeted Research Project supported by the IST programme of the European Commission (DG Information Society and Media, project n°034442)
Methodology for Component-based Development of Grid Applications
Artie Basukoski
T.Weigold, P.Buhler – IBM Zurich Research LabA.Basukoski, V.Getov, S.Isiaiadis – University of Westminster
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 2
Overview
GCM and GridCOMP
Component framework overview
The Grid integrated development environment (GIDE)
Biometric identification case study
Initial Experiences
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 3
GCM and GridCOMP
GCM
A new advanced Grid Component Model (GCM) providing high level of abstraction and specifically designed for large scale dynamic Grid infrastructures.
Specified within the CoreGRID Euopean project.
GridCOMP
EU project: Grid programming with COMPonents. Design and implementation of a Grid component
framework based on GCM. Includes the development of a Grid IDE and several
use case applications. GCM reference implementation based on ProActive.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 4
GridCOMP Component Framework Overview
The GridCOMP framework is based on the Fractal component model.The main technical features of the component framework are:
Support for primitive and composite distributed components and
hierarchical composition. XML based architecture description language (ADL). Collective interfaces to comply with Grid specific multi-way
communication requirements. A comprehensive runtime API. Support for non-functional aspects such as component control,
skeletons, and autonomicity. Advanced component deployment via the notion of virtual nodes
and deployment descriptors.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 5
GridCOMP Component Framework Overview
Hierarchical composition: all three components can be distributed
controller
content
serverinterface client
interfaces
composite component
primitivecomponent
primitivecomponent
non-functional (control)interfaces
binding
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 6
GridCOMP Component Framework Overview
Collective interfaces: The framework takes care of parallel invocations, data distribution, and synchronization.
multicast interface(one-to-one mode)
invocation parameter
scattered parameter invocation parameter
gathercast interface
list ofaggregated parameters
Methodology
A generic method to develop applications based on a Grid Component Model (GCM).
Integrated IDE for Development, Deployment and Steering.
Advantages of our methodology reduced development cycle, increased portability, and support of dynamic properties of the GCM-based
component framework.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 8
Component-Centric Problem-to-Solution Pipeline
Main issues: composition and dynamic properties – deployment, monitoring and steering
Component-based Grid platform design methodology
Monitor andSteer
DeploymentCompositionProgrammingModel - GCM
Applications(Algorithms)
Grid Integrated Development Environment
Metadata Description incl. ADL, etc.
Obtaining theSolution
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 9
Strategy: Eclipse Framework for GIDE
Simplify complexity through graphical composition/tools
But, allowing ONLY graphical composition can be inflexible and inefficient
Support for 3 levels of Development Graphical Composition Based on GCM and ProActive (using ADL) Java
Seamless integration with Eclipse Widely supported with many potential plug-ins
“Lets not restrict developers”
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 10
Grid IDE Architecture - Core Block Diagram
APPLICATIONS (USE CASES) WP5
IC2D
APIUSES (Requirements)
1.3.1-TestTool
1.3.2-Debug Tool
1.3.3-FinalizationDeployment
Tool
1.2.1-ADL Parser/Verifier
1.2.2-ADL Renderer
1.2.3- Code/ADL Generator
EclipseFramework
Grid IDEToolset
2.1-Monitoring
2.1.1-Component
Monitor
2.1.2-NodeResourceMonitor
2.2-Steering1.2-Composition 1.3-Deployment
1-Development IDE 2-Data Centre IDE
2.2.1- Start/Stop
2.2.2-Install/Remove
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 11
GIDE – An Insight into Composition
GIDE builds on GMF for providing graphical front-end The IDE includes
Built-in ADL parser and exporter Verifier Component Repository (allow packaging and sharing) Java source code generation
ADL files are verified, parsed and then appropriate internal representations of compositions (semantic representation) and diagrams are generated.
GIDE delegates the user-interactions to these internal representations
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 12
GIDE – An Insight into Composition
Interactive Composition
Composition
Diagram
Importer
Ge
ne
ra
tor
ADL
ADL
ADL
ADL
ADL
ADL
ADL
ADLParser
Parse Tree
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 13
Case Study: Biometric Identification System (BIS)
Identify people solely on their biometric information (1:N match)
Use fingerprint biometrics
Consider multiple fingers per person to work reliably on large user population
Use distributed matching to achieve real-time performance
Based on business process (workflow) engine for adaptability
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 14
Case Study: Biometric Identification System (BIS)
Grid component architecture, bindings, and deployment
1. Biometric matching component CompIDMatcher is deployed on each node
2. DB of known identities is distributed across the nodes
3. Identification requests are broadcasted via multicast interface I2
4. Each node searches its part of the DB
Development – BIS Case Study
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 15
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 16
Case Study: Biometric Identification System (BIS)
<definition name="com.ibm.bis.CompIDMatcher"> <interface name="server" role="server" signature="com.ibm.bis.I3"/> <interface name="client" role="client" signature="com.ibm.bis.I3"/> <component name="CompAlgControl“ definition="com.ibm.bis.CompAlgControl"/> <component name="CompAlg" definition="com.ibm.bis.CompAlg"/> <binding client="this.client" server="CompAlgControl.idServer"/> <binding client="CompAlgControl.client" server="CompAlg.server"/> <binding client="CompAlg.client“ server="CompAlgControl.controlServer"/> <controller desc="composite"/> <virtual-node name="BIS-Grid" cardinality="single"/></definition>
ADL Example: the composite component
CompIDMatcher
Grid programming with components: an advanced COMPonent platform for an effective invisible grid 17
Initial Experiences The high level of abstraction provided by the GIDE framework
hides the complexity of Grid programming
The strict separation of concerns (ADL definitions, interface definitions, virtual nodes, deployment descriptors) separates the design from the deployment (physical) infrastructure
The hierarchical nature allows fast composition and facilitates reuse
Drawback: A large number of development artefacts need to be generated and maintained. This makes manual code re-factoring complex.
Need to gather development statistics in order to accurately gauge the impact of the GIDE development methodology on the development lifecycle.
The GIDE, implemented as an Eclipse plug-in. Project’s WIKI: http://perun.hscs.wmin.ac.uk/dis/gide/