on advanced scientific understanding, model componentisation and coupling in genie sofia...
DESCRIPTION
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. 2TRANSCRIPT
On Advanced Scientific Understanding, Model Componentisation and Coupling in GENIE
Sofia Panagiotidi, Eleftheria Katsiri and John Darlington
1
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.
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
3
What is GENIE?
Grid ENabled Integrated Earth system model. Investigate long term changes to the Earth’s 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.
4
GENIE model framework
3D atmosphere
3D ocean
2D sea ice
AtmosphericCO2
2D land surface
Land biogeochemistry
Ocean biogeochemisty
Ocean sediments
3D ice sheets
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
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
7
OLOGEN
Ontology for GENIE: Classes Relations
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)∶
8
is pa
rt of
Entities (2)
8
10
Relations
11
Higher-order Functions Co-ordination forms
The Wrap Skeleton The Thread Coupler Skeleton Distribution Model
Same-hostDistributedParallel
12
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
13
The Thread Coupler Skeleton[SCL, Darlington93]
IterFor koverall{ IterFor n step A IterFor m step B
where
step A = threadA.executethreadB.notify(interfaceB)step B = threadB.executethreadA.notify(interfaceA)}
Nested Coupling
igcm_land_surflux
pass results 3
pass lowest level values to ocean & land
igcm3_adiab flag_
land
not
igcm_ocean_surflux
igcm_ocean_blayerflag_goldsteinocean and
flag_goldsteinseaice
not
check_fluxes_surf_l
flag_checkfluxes_surf
not
igcm_land_blayer
genie_land_surflux
igcm3_diabpass results 2
land_niter_tim
katmos_int
ocean_niter_tim
14
15
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.
16
Acknowledgments
We would like to thank Andrew Price, Dan Lunt, Gethin Williams, Ian Rutt, Andrew Yool, Neil Edwards, Tim Lenton and John Shepherd for their assistance and guidance.
Acknowledgments also go to the GENIE investigators: Prof. Paul Valdes (Reading), Prof. John Shepherd (SOC, Southampton), Prof. Andrew Watson (UEA), Prof. Melvyn Cannell (CEH Edinburgh), Dr. Anthony Payne (Bristol), Prof. Richard Harding (CEH Wallingford), Prof. Simon Cox (SReSC) and Prof. John Darlington (LeSC).
Reference: [SCL, Darlington93] J. Darlington, Y. Guo, H. W. To, and J. Yang. Functional skeletons for parallel coordination. In Seif Haridi, Khayri Ali, and Peter Magnussin, editors, Euro-Par'95 Parallel Processing, pages 55-69. Springer-Verlag, August 1995.