On Advanced Scientific Understanding, Model Componentisation and Coupling in GENIE - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

On Advanced Scientific Understanding, Model Componentisation and Coupling in GENIE

Description:

On Advanced Scientific Understanding, Model Componentisation and Coupling in GENIE ... Analysis of a monolithic piece of code such as GENIE. ... – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 18
Provided by: nes6
Category:

less

Transcript and Presenter's Notes

Title: On Advanced Scientific Understanding, Model Componentisation and Coupling in GENIE


1
On Advanced Scientific Understanding, Model
Componentisation and Coupling in GENIE
  • Sofia Panagiotidi, Eleftheria Katsiri and John
    Darlington

2
Motivation
  • Reverse engineer GENIE to inform research on
    component coupling frameworks
  • Analysis of a monolithic piece of code such as
    GENIE.
  • Extraction of interface and model coupling
    semantics.
  • Development of methods for capturing such
    semantics and validating the development.
  • Methods to express at higher-levels co-ordination
    structure.

1
3
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.
  • In synch with existing efforts (GCF, Iceni I,
    Apples AMWAT, Reality Grid), but a system of the
    size and complexity of Genie requires a
    supporting semantic framework.

2
4
What is GENIE?
  • Grid ENabled Integrated Earth system model.
  • Investigate long term changes to the Earths
    climate (i.e. global warming) by integrating
    numerical models of the Earth system.
  • e-Science aims
  • Flexibly couple together state-of-the-art
    components to form unified Earth System Model
    (ESM).
  • Execute resultant ESM on a Grid infrastructure.
  • Share resultant data produced by simulation runs.
  • Provide high-level open access to the system,
    creating and supporting virtual organisation of
    Earth System modellers.

3
5
GENIE model framework
4
6
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.
  • Submission of multiple sweep experiments to the
    portal, exploiting multiple resources over a
    Condor pool.
  • Implementation of database management system to
    allow scientists to share, access and visualise
    data produced by simulation runs.

5
7
Currently in GENIE
  • genie.F is a glorified metafile containing
    if-then-else statements.
  • Fortran routines act as wrappers, IN/OUT
    annotation.
  • Life cycle phases scattered, i.e. igcm_adiab.F
    and initialise_atmos.F.
  • Shared memory, file based I/O.
  • Complex semantics (e.g. grid interpolations).
  • Hard-coded time steps.

6
8
OLOGEN
  • Ontology for GENIE
  • Classes
  • Relations

7
9
Entities (1)
  • OLOGEN Class Hierarchy
  • Abstractions - What is the abstraction
    granularity?
  • Component
  • Module (atmosphere, land, ocean etc)
  • Model (IGCM, c-Goldstein, etc)
  • Wrapper
  • Routine
  • Function ()
  • Interface
  • Data Flow Type (IN, OUT, INOUT, Control)
  • Model Scope (Common, Model-Specific)
  • Binding (Late, Current)
  • Layer (Local, Wrapper)

is part of
8
10
Entities (2)
8
11
Relations
10
12
Higher-order Functions Co-ordination forms
  • The Wrap Skeleton
  • The Thread Coupler Skeleton
  • Distribution Model
  • Same-host
  • Distributed
  • Parallel

11
13
The Wrap Skeleton
  • Wrap(c,list of wrapper input interfaces, list of
    wrapper output interfaces, list of local input
    interfaces, list of local output interfaces, list
    of control interfaces)C

12
14
The Thread Coupler SkeletonSCL, Darlington93
  • IterFor koverall
  • IterFor n step A
  • IterFor m step B
  • where
  • step A threadA.execute
  • threadB.notify(interfaceB)
  • step B threadB.execute
  • threadA.notify(interfaceA)

13
15
Nested Coupling
ocean_niter_tim
not
flag_land
not
flag_goldsteinocean and flag_goldsteinseaice
not
flag_checkfluxes_surf
land_niter_tim
katmos_int
14
16
Conclusions
  • Use of reverse engineering approach to research
    on component coupling frameworks
  • Analysis of a monolithic piece of code such as
    GENIE.
  • Extraction of interface and model coupling
    semantics.
  • Development of OLOGEN, an ontology for capturing
    such semantics and validating the development.
  • Co-ordination via functional skeletons.

15
17
Acknowledgments
16
Write a Comment
User Comments (0)
About PowerShow.com