computational design of the ccsm next generation coupler tom bettge tony craig brian kauffman...

17
Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado USA Draft Presentation : The Fourth International Workshop on Next Generation Climate Models for Advanced High Performance Computing Facilities, March 12- 14, 2002, Boulder, Colorado, USA.

Upload: elwin-nelson

Post on 30-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Computational Design of the CCSM Next Generation Coupler

Tom BettgeTony Craig

Brian Kauffman

National Center for Atmospheric ResearchBoulder, Colorado USA

Draft Presentation: The Fourth International Workshop on Next Generation Climate Models for Advanced High Performance Computing Facilities, March 12-14, 2002, Boulder, Colorado, USA.

Page 2: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Background 1:Current Coupler Shortcomings

• CSM1 load balancing• Parallel Climate Model (PCM) scalability• Flexibility• Extensibility• Portability?

– CSM1 designed primarily for vector architectures

– PCM designed primarily for distributed memory single/multiprocessor clusters

• Code reuse: poor

Page 3: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Background 2:Future Coupler Design

• New CCSM Coupler: Next Generation Coupler (NGC)

• DOE/NSF Proposal– Performance-Portable Extendible Coupler

• scientific requirements• computational requirements

– Formal Software Development Process• isolate requirements (Spring 2000)• state a design (abstractions, code reuse, etc.)• prototyping• code construction• testing and validation

www.ccsm.ucar.edu/models/cpl6

Page 4: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

NGC Requirements:Scientific Functionality

• Provide overall control of coupled system• Flexible and extensible: new components, new

exchange information• Flexible coupling frequencies• Process split or time split advancement• Allow computations

– compute interfacial fluxes– mapping between grids– merging of information– temporal accumulation and averaging– diagnostics

• Process data on a variety of grids

Page 5: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

NGC Requirements:Computational Functionality

• Portable• Language: F90 or F90 interfaces• Parallelism

– pure shared memory– pure message passing– hybrid

• Flexible coupler/model interface• Sequential or concurrent model execution• Build as single or multiple executables• I/O capability• Error handling

Page 6: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

NGC Design:Considerations

• high level command/control• lower level functions --> suggests a layered design strategy

• concurrent or sequential execution• flexibility• generalized error handling --> suggests a library core of functions • generalized grid representations• extensibility --> suggests internal derived data types

Page 7: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Next Generation CouplerFormal Design

MCT*

MPH**

*Model Coupling Toolkit

** Multi-Component Handshaking Library

cplx (cpl6)

Page 8: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

MPEU – Message Passing Env Utility

From NASA DAO, provides the following services:• F90 module-style access to MPI• Portable/Flexible definition of types• Support for multiprocessor stdout/stderr• Error handling / shutdown• Timing/Load balance monitoring tools• Sorting Tools• Support for basic derived types on which low-level

classes in the MCT are built

Code used as scaffolding, but utilities might fit well in CCSM.

Page 9: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

MCT - Model Coupling Toolkit

Major Attributes:– Maintains model decomposition descriptors (e.g.,

global to local indexing)– Inter- and intra- component communications and

parallel data transfer (routing)– Flexible, extensible, indexible field storage– Time averaging and accumulation– Regridding (via sparse matrix vector multiply)

The MCT eases the construction of coupler computational cores and component-coupler interfaces.

www-unix.mcs.anl.gov/acpi/mct

Page 10: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

MPH - Multi-Component Handshaking Library

General Features– built on MPI– establishes MPI communicator for each component– performs component name registration– allows resource allocation for each component– supports different execution modes

www.nersc.gov/research/SCG/acpi/MPH

Page 11: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

cplx Architecture

Page 12: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Component Model/Coupler Interface

Use coupler interface modules:

use module ngc_interface_mod.F90 use module ngc_fields_mod.F90

Compile/link shared code (cpl6 modules, MCT, MPH) with model.

Calls:

ngc_init( modelID, localComm )

ngc_sendInit( modelID, flags(:), buffer(:,:) ) ngc_recvInit( modelID, flags(:), buffer(:,:) )

ngc_send( modelID, flags(:), buffer(:,:) ) ngc_recv( modelID, flags(:), buffer(:,:) )

ngc_sendFin( modelID, flags(:), buffer(:,:) )

ngc_finalize( modelID )

Page 13: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

cpl6 Implementation

• Initial cpl6 - same interactions as cpl5• Concurrent component execution• Multiple executables• Message passing will be distributed parallel• Matrix multiply will be distributed parallel

Page 14: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

cpl6 Coupling Procedure/Issues

• multiple executable, concurrent execution (CCSM2)

Page 15: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Coupled System Processor Layout

PCM

CCSM2

Target?

CSM1

Page 16: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

Schedule and FAQ

• cpl6 prototype – exists• cpl6beta – June 2002• cpl6 – Fall 2002

• Will cpl6 be the coupler in the May 2002 CCSM2

release?No. The first release of CCSM2 will contain cpl5.

• Will cpl6 offer new functionality over cpl5?No. For the most part, cpl6 replicates cpl5 functionality. However, the

new coupling framework provides the tools to easily build differing instantiations of a “coupler”. cpl6 is one such instantiation (e.g.., cpl6 is distributed parallel)

Page 17: Computational Design of the CCSM Next Generation Coupler Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado

cpl [next]

• cpl[next] charter?– user community input to whom? (no coupler WG)– process for introducing/requesting/prioritizing new

features

• features?– “on the fly” SCRIP (multiple options)– CCSM single binary, sequential executable cpl– cpl suitable for cluster of vector machines– concept of one model, multiple grids?