An update on BFG, The Bespoke Framework Generator Graham Riley (& Rupert Ford, STFC) Coupling Workshop Boulder, Colorado - February 20 th -22 nd.

Slides:



Advertisements
Similar presentations
Copyright 2001, ActiveState. XSLT and Scripting Languages or…XSLT: what is everyone so hot and bothered about?
Advertisements

Three types of remote process invocation
BAE SYSTEMS - 21 Jan 04 Why Grid? Engineering New ways of doing business Business Enabling new business Product.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech.
MITK Diffusion (under the hood)
1 © Wolfgang Pelz UML3 UML 3 Notations describe how to use reusable software. Package Component Deployment Node.
Integrated Frameworks for Earth and Space Weather Simulation Timothy Killeen and Cecelia DeLuca National Center for Atmospheric Research, Boulder, Colorado.
1 Dr. Frederica Darema Senior Science and Technology Advisor NSF Future Parallel Computing Systems – what to remember from the past RAMP Workshop FCRC.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Cyberinfrastructure Breakout Session Looking 5 years ahead... Broad themes that emerged: A) Calibration tools and skill assessment (MInt, as) B) More examples.
Budapest, November st ALADIN maintenance and phasing workshop Short introduction to OpenMP Jure Jerman, Environmental Agency of Slovenia.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Coupling Climate and Hydrological Models Interoperability Through Web Services Kathy Saint/SGI – NESII Jon Goodall/University of South Carolina Richard.
NSF NCAR | NASA GSFC | DOE LANL ANL | NOAA NCEP GFDL | MIT | U MICH First Field Tests of ESMF GMAO Seasonal Forecast NCAR/LANL CCSM NCEP.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
German National Research Center for Information Technology Research Institute for Computer Architecture and Software Technology German National Research.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
1 Dr. Markus Hillenbrand, ICSY Lab, University of Kaiserslautern, Germany A Generic Database Web Service for the Venice Service Grid Michael Koch, Markus.
IS-ENES Kick-off meeting Paris, March 2009 Overview of JRA2 European ESM: Performance Enhancement Graham Riley, University of Manchester IS-ENES Kick-off.
An Introduction to Software Architecture
Metadata for the Coupled Ocean/Atmosphere Mesoscale Prediction System (COAMPS) using the Earth System Modeling Framework (ESMF) Peter Bosler University.
NE II NOAA Environmental Software Infrastructure and Interoperability Program Cecelia DeLuca Sylvia Murphy V. Balaji GO-ESSP August 13, 2009 Germany NE.
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri.
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Initial Results from the Integration of Earth and Space Frameworks Cecelia DeLuca/NCAR, Alan Sussman/University of Maryland, Gabor Toth/University of Michigan.
Architecting Web Services Unit – II – PART - III.
1 CW 2015, Manchester, 04/ Coupling technology benchmarking in IS-ENES2 Coupling technology benchmarking in IS-ENES2 IS-ENES2 WP10-T3 Evaluation.
ESMF Code Generation Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
CESM/ESMF Progress Report Mariana Vertenstein NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Earth System Modeling Framework Status Cecelia DeLuca NOAA Cooperative Institute for Research in Environmental Sciences University of Colorado, Boulder.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Page 1© Crown copyright 2004 FLUME Metadata Steve Mullerworth 3 rd -4 th October May 2006.
Portable Infrastructure for the Metafor Metadata System Charlotte Pascoe 1, Gerry Devine 2 1 NCAS-BADC, 2 NCAS-CMS University of Reading PIMMS provides.
Information Architecture WG: Report of the Spring 2004 Meeting May 13, 2004 Dan Crichton, NASA/JPL.
ESMF Code Generation with Cupid Update and Demo October 2009 Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
Distributed Components for Integrating Large- Scale High Performance Computing Applications Nanbor Wang, Roopa Pundaleeka and Johan Carlsson
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Page 1© Crown copyright 2004 FLUME Marco Christoforou, Rupert Ford, Steve Mullerworth, Graham Riley, Allyn Treshansky, et. al. 19 October 2007.
Generic GUI – Thoughts to Share Jinping Gwo EMSGi.org.
ESMF,WRF and ROMS. Purposes Not a tutorial Not a tutorial Educational and conceptual Educational and conceptual Relation to our work Relation to our work.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Building Community and Capability through Common Infrastructure: ESMF and the Earth System Curator Cecelia DeLuca MAP Meeting College.
Page 1© Crown copyright 2005 Met Office plans for sea ice model development within a flexible modelling framework Helene Banks Martin Best, Ann Keen and.
ERMITAGE Meeting (UEA) Sudipta Goswami 17/11/2011.
Emergence of a Common Modeling Architecture for Earth System Science American Geophysical Union December 13, 2010 Cecelia DeLuca NOAA/CIRES.
State of ESMF: The NUOPC Layer Gerhard Theurich NRL/SAIC ESMF Executive Board / Interagency Working Group Meeting June 12, 2014.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Compilation of XSLT into Dataflow Graphs for Web Service Composition Peter Kelly Paul Coddington Andrew Wendelborn.
On Advanced Scientific Understanding, Model Componentisation and Coupling in GENIE Sofia Panagiotidi, Eleftheria Katsiri and John Darlington.
The NOAA Environmental Modeling System at NCEP Mark Iredell and the NEMS group NOAA/NWS/NCEP Environmental Modeling Center June 12, 2014.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech 5 th GO-ESSP Community Meeting.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Abstract Machine Layer Research in VGrADS
Anne Pratoomtong ECE734, Spring2002
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
An Introduction to Software Architecture
Metadata Development in the Earth System Curator
Overview of Workflows: Why Use Them?
Building a minimum viable Security Operations Centre
From Use Cases to Implementation
Presentation transcript:

An update on BFG, The Bespoke Framework Generator Graham Riley (& Rupert Ford, STFC) Coupling Workshop Boulder, Colorado - February 20 th -22 nd 2013

Overview Why BFG? What is BFG? Not a coupler! What is new? - New implementation in python, faster  Interface to other languages (‘R’ and GAMS in IAMs) - Component- and program-compliance - Portal and BFG utilities  the power of metadata! - Parallel model support (and Infrastructure API) - Model ‘export’ – step to interoperability...  to couple to existing models using other technologies, such as ESFM or OASIS References & Future

Why BFG?  Community-based coupled modelling (still) emerging: From Centres of expertise… - in and across science domains (e.g. ESM, IAM, Flood modelling etc.) Distributed across institutions Implied: need for rapid exploration of use of models; sharing of models etc.  Requirement for flexibility to choose appropriate models

Why BFG?  This historic development of science has led to several coupling technologies (infrastructures/frameworks): Shared memory, MPI, TDT, MCT, OASIS, ESMF, CESM, FMS… (and other infrastructure, e.g. for parallel models etc.)  Requirement for flexibility to choose appropriate supporting technology Similar situation for the community which led to MPI standard?

Why BFG?  Choice of computing systems: Many options… - (Parallel) laptop/desktop, cluster, cloud, supercomputers… Rapid developments in hardware technology  Requirement for flexibility to use available computing systems efficiently

What is BFG? Aims…  Isolation of science code (i.e. models) Protect science code from changes in supporting software technologies and hardware (as far as possible)  Flexibility in composition and deployment Allow models to be put together rapidly to create new coupled models (as science permits!) Allow the models to be deployed into program units to make best use of computing resources Allow the coupled model to use the most appropriate existing coupling technology (or technologies)  Provide this flexibility through metadata descriptions and code generation (BFG2)  See other benefits of metadata-based approach…

What is BFG2?  A metadata description of a coupled model Capturing both its static structure and run- time, dynamic behaviour. The individual models described have to conform to certain, minimal, rules (see next).  A set of tools that use the metadata BFG2 - generates ‘wrapper’ code that can be compiled with model code to build an implementation. - Using a choice of existing (coupling) technologies etc. Visualise the coupled model (static composition and dynamic – control schedule – behaviour) Other utilities – see the BFG portal later…

What is a BFG2-compliant model 1.Component compliance (fine-grain models) Essentially a subroutine (in Fortran) Science code communication - by argument or ‘in-place’ put() and get() Control ‘outside’ the model 2.Program compliance A model already in an existing program Communication by put() and get() Other BFG calls (e.g. end_of_step()) Possibly embedded control  (Support composition of fine-grain models and aggregation of program-based models

A component-compliant model module atmos use bfg, only : put,get implicit none private public :: init,iteration,finalise contains subroutine init(arg1,arg2,...) end subroutine init subroutine iteration(arg1,arg2,...) call get(data3,tag3) call put(data4,tag4) end subroutine iteration subroutine finalise(arg1,arg2,...) end subroutine finalise end module atmos Couping by argument Tags generated by BFG Couping by in-place put()/get() The ‘tag’ connects to the metadata! Key to BFG ‘Standard’ init, run, finalise

10 BFG2 model ‘wrapping’ Container, Control (“Driver” layer), ArgPass Data, ArgPass Wrapper Model Code(s) Concurrency InPlace Calls Target Coupling Infrastructure - Existing code/library code - BFG-generated code  Component-compliance

Flexible Deployment atm sea ice chem ocean bio-geo model program unit/deployment unit T T T T transformer

A program-compliant model program atmos use bfg, only : put,get, bfg_init, bfg_eos, bfg_finalise implicit none call bfg_init() call get(data1,tag1) call put(data2,tag2) do i=1,nts call get(data3,tag3) call work(...) call put(data4,tag4) call bfg_eos() end do call get(data5,tag5) call put(data6,tag6) call bfg_finalise() end program atmos Stand alone program Only put()/get() in the ‘run’ section Calls to tell BFG about control structure Generated ‘target’ technology init.

Overview of BFG2 metadata  Model(s) Name, language Type - Science/transformer Coupling data - As args: in, out, inout - As put/get timestep  Composition Coupling description - What connects to what Priming data - Which connections are first started - Controls sequential or concurrent model execution  Deployment Mapping of models to ‘threads of control’ and main programs - to sequence units (“this model runs before that” in a ‘thread’) - to deployment units (-> the sequence units in a main program) Schedule - Iteration control of model execution  Nested loop structures allowed Target coupling technology All together, the metadata captures the run-time behaviour of the coupled model Think of SPMD model

Output Python engine Input xml script coupled xml Deployment xml Composition xml model Description xml xslt Templates & xslt Code and scripts What is BFG2? - summary  Metadata + generative approach

The Power of Metadata - BFG Portal  For examples of the use of metadata Prototype, in development bfg.cs.man.ac.uk/ Demos available on request!  Several utilities exist Validation Upload metadata and run BFG Access to some (small) examples Visualisation of composition and control/schedule Model stub generation (for test purposes) Makefile generation …

Simple ESM… Composition and Schedule views

Future?  Trend towards a common, shared infrastructure for ESM (and beyond)? Similar situation for the community which led to MPI?  And/Or – go for Framework interoperability BFG export is a first exploration (we have a design for BFG import too)  Use of (and extension of) CIM metadata Out of METAFOR project More uses of metadata - Including support for performance analysis, for example.  BFG as a Domain Specific Language…

Web References  BFG web page – including papers  BFG portal:  A BFG Wiki (from the GENIE project)  IS-ENES,EU project deliverables D8.3, “Towards Flexible Construction of ESMs using BFG”, March 2012 D8.5 – “ditto”, final report, March 2013

Thanks to our sponsors…

Towards parallel models (D8.5)  Support for parallel models on quasi-uniform grids  Wider than coupling Looking at other infrastructure support too - E.g. halo exchange (from MCT and ESMF)  Prototype “manUgen” solution Mainly targeting MCT - but some ESMF and OASIS3-MCT (for coupling) tests  Developed a prototype Infrastructure API Metadata + configuration of run-time system approach - plus some code generation

Infrastructure API (D8.5)  A minimal API for use by model developers  Metadata-driven  Target coupling and halo exchange  Support implementation of API in any of a number of existing technologies  Select ‘best of breed’

Parallel Model Support (D8.5)

Code Generation vs Configuration (D8.5) Metadata describing coupling and partition etc. Per model ModelInfo structure captures specific requirements – for halo exchange and coupling etc. Models use ‘tag’ in calls to access ModelInfo

Composite models – BFG2 export (D8.3) BFG atmos components dyn rad conv Ocean (OASIS) Ocean (ESMF) Atmos (OASIS) Atmos (ESMF) Export to ESMFExport to OASIS Coupling via OASIS Coupling via ESMF Existing Ocean models

ERMITAGE use case GENIE ‘fast’ ESM model (or emulator) LPJmL – veg./hydrology model MAgPIE – land use model TIAM/REMIND – enegy/economic models

An IAM example

‘Import’ of models  Aim: to enable models written to use different existing coupling technologies to talk to each other Using a selected communication mechanism…

BFG import Ocean (OASIS) Coupling via OASIS BFG Adaptor Coupling via BFG- generated ‘target’ ? Atmos (ESMF) Coupling via BFG- generated ESMF Atmos (ESMF) BFG Adaptor Coupling via BFG- generated TARGET Target could be: (almost) anything BFG will support… … MPI, GridMPI, OASIS3/4, ESMF, web services… BFG-generated ‘adaptor’ code E.g. web services Import both models

BFG import… Ocean (OASIS) Coupling via OASIS BFG Adaptor Coupling via BFG- generated ‘target’ Coupling via BFG- generated ‘target’ Atmos (BFG-gen)

Summary  Working with real ESM codes takes a lot of effort Experience with GENIE and JULES  Using ‘toy’ models to demonstrate capability and potential  Motivation from current ESMs is small Few models (but growing number) Large cost of change  Seeking use cases for export and import Examples of community collaboration (c.f. NEMO) Case for import made in ERMITAGE project  An emerging infrastructure requiring long term support for the community