Evaluating Coupling Strategies Mike Hobson 20 th April 2015.

Slides:



Advertisements
Similar presentations
Centre for Strategy & Evaluation Services Evaluation of the SME Funding Schemes - summary European Agency for Safety and Health at Work.
Advertisements

.NET Technology. Introduction Overview of.NET What.NET means for Developers, Users and Businesses Two.NET Research Projects:.NET Generics AsmL.
COM vs. CORBA.
Project Assessment Criteria. Normally projects have 4 elements which can contribute to the assessment:  The product and its documentation  The student’s.
Systems Analysis, Prototyping and Iteration Systems Analysis.
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
In Europe, When you ask the VET stakeholders : What does Quality Assurance mean for VET system? You can get the following answer: Quality is not an absolute.
A P RAGMATIC A PPROACH Brent Bradbury Joshua Bruning.
1 CW2015, Manchester, 04/ Working Session II - Future Issues Working Session II – Future Issues: interoperability, sharing of models/infrastructure,
St Testing, Simulation and Monitoring (actually mostly simulation) Stephen Hillier Joint Meeting, Mainz, June 2001.
CS 300 – Lecture 20 Intro to Computer Architecture / Assembly Language Caches.
CS 280 Data Structures Professor John Peterson. Next Project YET ANOTHER SORT! We’ll do Quicksort using links instead of arrays. Wiki time.
Software Engineering For Beginners. General Information Lecturer, Patricia O’Byrne, office K115A. –
1 Introduction to System Engineering G. Nacouzi ME 155B.
30-Jun-15 Profiling. Optimization Optimization is the process of making a program as fast (or as small) as possible Here’s what the experts say about.
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Problem solving in project management
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
© Curriculum Foundation1 Section 2 The nature of the assessment task Section 2 The nature of the assessment task There are three key questions: What are.
INFO 637Lecture #31 Software Engineering Process II Launching & Strategy INFO 637 Glenn Booker.
OSSE School Improvement Data Workshop Workshop #4 June 30, 2015 Office of the State Superintendent of Education.
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
Christopher Jeffers August 2012
Product Quality, Testing, Reviews and Standards
Engineering, Operations & Technology | Information TechnologyAPEX | 1 Copyright © 2009 Boeing. All rights reserved. Architecture Concept UG D- DOC UG D-
© Crown copyright Met Office LFRic Coupling Requirements 3rd Workshop on Coupling Technologies for Earth System Models Steve Mullerworth April 22 nd 2015.
CSE 303 – Software Design and Architecture
The Challenge of IT-Business Alignment
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.
System Software for Parallel Computing. Two System Software Components Hard to do the innovation Replacement for Tradition Optimizing Compilers Replacement.
CESM/ESMF Progress Report Mariana Vertenstein NCAR Earth System Laboratory CESM Software Engineering Group (CSEG) NCAR is sponsored by the National Science.
Eagle: Maturation and Evolution 17th Annual Tcl Conference Joe Mistachkin.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Page 1© Crown copyright 2004 FLUME Metadata Steve Mullerworth 3 rd -4 th October May 2006.
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
Parallel Solution of the Poisson Problem Using MPI
ESMF Code Generation with Cupid Update and Demo October 2009 Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
NCEP ESMF GFS Global Spectral Forecast Model Weiyu Yang, Mike Young and Joe Sela ESMF Community Meeting MIT, Cambridge, MA July 21, 2005.
Coupling protocols – software strategy Question 1. Is it useful to create a coupling standard? YES, but … Question 2. Is the best approach to make a single.
Work Package 6 L2C Kick-off meeting Fontainebleau, March 7th 2006.
Interoperability Testing. Work done so far WSDL subgroup Generated Web Service Description with aim for maximum interoperability between various SOAP.
Page 1© Crown copyright 2004 FLUME Marco Christoforou, Rupert Ford, Steve Mullerworth, Graham Riley, Allyn Treshansky, et. al. 19 October 2007.
Click to add text Systems Analysis, Prototyping and Iteration.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
The Implementation of BPR Pertemuan 9 Matakuliah: M0734-Business Process Reenginering Tahun: 2010.
Smart Home Technologies
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
Proposal for a Global Network for Beam Instrumentation [BIGNET] BI Group Meeting – 08/06/2012 J-J Gras CERN-BE-BI.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
© University of Reading 2009www.reading.ac.uk Reading e-Science Centre October 6, 2009, GO-ESSP, Hamburg Fast regridding of complex grids for visualization.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
A TIME-GCM CAM Multi-executable Coupled Model Using ESMF and InterComm Robert Oehmke, Michael Wiltberger, Alan Sussman, Wenbin Wang, and Norman Lo.
44222: Information Systems Development
Presentation to the Ad-hoc Joint Sub-Committee on Parliamentary Oversight and Accountability Wednesday 20 March 2002 PUBLIC SERVICE MONITORING AND EVALUATION.
Writing in English Academic Writing.
First INFN International School on Architectures, tools and methodologies for developing efficient large scale scientific computing applications Ce.U.B.
Component 1.6.
7. Modular and structured design
Project planning The systems life cycle.
Writing simple Java Web Services using Eclipse
Presented by Munezero Immaculee Joselyne PhD in Software Engineering
Software Life Cycle Models
OSKAR station simulator
Mastering Memory Modes
Eagle: Maturation and Evolution
rePLay: A Hardware Framework for Dynamic Optimization
Software Development Techniques
Presentation transcript:

Evaluating Coupling Strategies Mike Hobson 20 th April 2015

Evaluation of coupling strategies IS-ENES2 WP10 task 3 This task followed on from work started at CW2013. Sophie Valcke, Graham Riley, Rupert Ford & Mike Hobson To find a method for evaluating different coupling strategies. Provide benchmark problems as a way of comparing coupling technologies. Provide “Reference Implementations” using common technologies.

Met Office interest/experience The Met Office is currently investigating replacing its current Unified Model (UM) with a new more scalable model. The project is called LFRic. This model is likely to: Move away from using lon/lat meshes. Use a finite-element formulation.

Met Office interest/experience We have a future requirement to have semi-structured or unstructured meshes. But will need to work with regular lon/lat models. Met Office took on responsibility to provide a benchmark for coupling models with the following meshes: a regular longitude/latitude mesh a semi-structured mesh

Structured rectilinear mesh Longitude-latitude The mesh in use in the current Met Office Unified Model (UM). Can use direct addressing – the cell at (i+1,j) is always to the right of that at (i,j). Mesh will be useful in future for outputting diagnostics. Singularity at poles.

Semi-structured mesh Cube-sphere An approximation to an unstructured mesh – appears as a 1d list of cells. Requires indirect addressing. Likely to be similar to the sorts of mesh that will be used in future models to avoid the singularity at the poles.

Coupling benchmark Should be technology agnostic. Benchmarks are defined fully in the document “Benchmark definition for evaluation of coupling strategies”. For my simple reference implementations: Take a field from a model with one of the above meshes and transfer it to another model with the other mesh....and the reverse.

Reference implementation no.1 Using OASIS3-MCT Model 1 oasis_init_comp oasis_def_partition oasis_def_var oasis_enddef Time-step loop oasis_put oasis_get oasis_terminate Model 2 oasis_init_comp oasis_def_partition oasis_def_var oasis_enddef Time-step loop oasis_put oasis_get oasis_terminate

Reference implementation no.1 Using OASIS3-MCT System consists of two separate model components in two executables...with calls to the OASIS3-MCT library from each Very little code intrusion.

Reference implementation no.2 Using ESMF Grid/Cpl Component Register Init(state,… Run(state,… Finalize(state,… ESMFDriver ESMF_Initialize ESMF_Grid/CplCompCreate ESMF_Grid/CplCompSetServices ESMF_Grid/CplCompInitialize Time-step loop ESMF_Grid/CplCompRun ESMF_Grid/CplCompFinalize ESMF_Finalize

Reference implementation no.2 Using ESMF (Init) Model 1 init ESMF_GridCreate ESMF_FieldCreate ESMF_StateAdd Model 2 init ESMF_MeshCreate ESMF_FieldCreate ESMF_StateAdd Coupler init ESMF_StateReconcile ESMF_FieldRegridStore

Reference implementation no.2 Using ESMF (Run) Model 1 run ESMF_StateGet (perform a time step of model 1) Model 2 run ESMF_StateGet (perform a time step of model 2) Coupler (model1 → model2) run ESMF_StateGet ESMF_FieldRegrid Driver Coupler (model2 → model1) run ESMF_StateGet ESMF_FieldRegrid

Reference implementation no.2 Using ESMF (Finalize) Model 1 final ESMF_FieldDestroy ESMF_GridDestroy Model 2 final ESMF_FieldDestroy ESMF_MeshDestroy Coupler final ESMF_FieldRegridRelease

Reference implementation no.2 Using ESMF Using ESMF as a coupler is much more about using the whole framework. Would generally require much more of a rewrite compared to OASIS3-MCT. But will deliver all the benefits of a better structured code.

What was the point of all that? But we already knew all of that so what was the point! Well, that was the point. Implementing the benchmark has given us a good handle on the non-functional characteristics of the coupling technologies.

Assessment of functional characteristics It is easy to use the benchmark to answer the “Does it...” type questions. It is also reasonably straightforward to answer the correctness questions. It is more difficult to answer the performance (MOTR – “Measure of Time Required”) questions.

Performance benchmarking Care must be taken to make sure benchmarks are: Representative Fair Correct There are many technical challenges in achieving the above.

What to measure? The first question is what do you measure? Overall runtime to complete a coupling task – will not provide detailed enough information. Isolating specific characteristics can be difficult – the technologies can approach the problem in very different ways.

Technical challenges Compile each tool in a comparable way. Make sure all debugging information is turned off in each case. Ensure the processor configurations are the same.

MOTR for regridding Choose a representative problem: 0.25°lon/lat mesh (1440 x 720) cube-sphere mesh with 1.5million cells. (Both these meshes lead to about 20km resolution at UK latitudes) Isolate regridding from redistribution. Add calls to Fortran intrinsics to time the relevant calls to the coupling library in each case. Optimise.

Result My regridding problem was quite big, with only a small number of processors (so both technologies were quite slow) ~ 0.25s per regridding operation. Both results were within a few percent of each other. My optimisations were probably not comprehensive – so I’m sure both times could be improved.

Further work Finite-Element Meshes The Met Office also agreed go through the same process for models with finite- elements on similar meshes. This hasn’t been done yet because: The Met Office hasn’t yet built the architecture that could be used to generate a finite-element benchmark. The coupling technologies don’t yet support finite-element meshes.

Conclusions The benchmarks are a useful tool. They allow us to answer straightforward questions (both functional and non- functional) easily. Care is needed when using the benchmarks to measure performance.

Questions?