service-enabling legacy applications for the genie project sofia panagiotidi, jeremy cohen, john...

Post on 29-Dec-2015

220 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Service-enabling Legacy Applications for the GENIE Project

Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri

1

Motivation

Engineer GENIE to inform research on component coupling frameworks:

Analysis of a complicated piece of code such as GENIE Extraction of interface and model coupling semanticsModern component architectures indicate the need for highly engineered and autonomous componentsCreate methodology to advance the quality of functional code

Goals

A flexible coupling framework where components can be individually developed and coupled together

The coupling needs to be correct, intelligent and without undue programming effort

Come up with sophisticated ways to couple physical entities in order to optimally produce experimental results

A system of the size and complexity of GENIE requires a supporting semantic framework

2

Previous Work

Separation of the code into pieces - Layered representation of the application

Wrapping GENIE as ICENI binary component Delivery of Web-based System (portal) to allow a virtual

organisation of environmental scientists to create and manage simulations at a high-level over a Condor pool

Implementation of database management system to allow scientists to share, access and visualise data produced by simulation runs

Investigation of model-coupling and validation semantics

3

4

GENIE model framework

3D atmosphere

3D ocean

2D sea ice

AtmosphericCO2

2D land surface

Land biogeochemistry

Ocean biogeochemisty

Ocean sediments

3D ice sheets

Currently in GENIE

genie.F is a glorified metafile containing if-then-else statements

Fortran routines act as “wrappers” Life cycle phases scattered Module communication through shared memory Hard-coded semantics (e.g. grid interpolations, time

steps)

5

6

Extended Abstract Component (Grid) Model for GENIE

Model Specific Interfaces Abstract Interface - Plugin adapters Web Service Wrapper Layer Communication through SOAP/MPI Metadata for Composability

7

Componentising GENIE

Determining I/Os• SIDL (Scientific Interface Description

Language) - Common way of describing components

Linking Fortran to Java• Babel Interoperability Tool• Shared Libraries

8

Babel Interoperability Tool

9

Steps to Service Enable GENIE (1/4)

1. Wrap and test modules individually 2. Test module communication through an equivalent

to genie.F Java client & compare results 3. Create Abstract Component Interfaces

Steps to Service Enable GENIE (2/4)

4. Launch components as Web Services and modify Java client to now call Web Services instead

10

11

Steps to Service Enable GENIE (3/4)

5.Use workflow engine to orchestrate the Abstract Components

12

Steps to Service Enable GENIE (4/4)

6. Advance into a Grid environment so as to incorporate Co-ordination Specification, Dynamic Abstract Generator, Resource Allocation and Optimisation

13

An example as proof of concept

Achieved..

Web Service Client

Embm Atmosphere

Surflux

Goldstein Seaice Land

Goldstein Ocean

14

Land Bean

Embm Bean

GoldSeaice Bean

Goldstein Bean

Surflux Bean

15

Conclusions

Provided service-based computational Grid execution architecture for GENIE framework

Scaled engineering steps Proved that functional legacy code can

be distributed and run as Web Services

top related