overview

17
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 Lab A.Basukoski, V.Getov, S.Isiaiadis – University of Westminster [email protected]

Upload: maina

Post on 17-Jan-2016

28 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Overview

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

[email protected]

Page 2: Overview

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

Page 3: Overview

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.

Page 4: Overview

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.

Page 5: Overview

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

Page 6: Overview

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

Page 7: Overview

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.

Page 8: Overview

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

Page 9: Overview

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”

Page 10: Overview

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

Page 11: Overview

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

Page 12: Overview

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

Page 13: Overview

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

Page 14: Overview

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

Page 15: Overview

Development – BIS Case Study

Grid programming with components: an advanced COMPonent platform for an effective invisible grid 15

Page 16: Overview

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

Page 17: Overview

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/