150 likes | 252 Views
Computational Design of the CCSM Next Generation Coupler (NGC). Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado USA.
E N D
Computational Design of the CCSM Next Generation Coupler (NGC) Tom Bettge Tony Craig Brian Kauffman National Center for Atmospheric Research Boulder, Colorado USA The Fourth International Workshop on Next Generation Climate Models for Advanced High Performance Computing Facilities, March 12-14, 2002, Boulder, Colorado, USA.
Coupler Primer Communication Data Decomposition Sequential or Concurrent Single or Multiple Image Portable Extensible Sequencing Conservative Regridding Computing Averaging Merging Diagnostics Flexible coupler Model 1 Model 2
Current Coupling Procedure/Issues • multiple executable, concurrent execution (CCSM2)
CCSM2 Current Configuration coupler Model 1 Model 4 Model 2 Model 3
Coupler Shortcomings • CSM: load balancing and potential coupler bottleneck • Parallel Climate Model (PCM): scalability • Flexibility • Extensibility • Portability? • CCSM2 coupler is shared memory • PCM designed primarily for distributed memory single/multiprocessor clusters • Code reuse: poor/fair
New Coupler Design • New CCSM Coupler:Next Generation Coupler (NGC) • DOE/NSF Proposal • Performance-Portable Extensible Coupler • scientific requirements • computational requirements • Formal Software Development Process • isolate requirements • state a design (abstractions, code reuse, etc.) • prototyping • code construction • testing and validation www.ccsm.ucar.edu/models/cpl6
Next Generation CouplerFormal Design cplx (cpl6) MCT* MPH** *Model Coupling Toolkit ** Multi-Component Handshaking Library
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) MCT Presentation: Jay Larson Thursday AM The MCT eases the construction of coupler computational cores and component-coupler interfaces. www-unix.mcs.anl.gov/acpi/mct
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
cplx Architecture main program Layer 1a MCT wrapper control mainData Layer 1b msg map flux restart history diag coupling interface Layer 1c calendar utilities csmshare dataTypes MCT derived objects MCT base objects MPEU utilities Vendor utilities Layers 2-5
CCSM2 Current Configuration coupler Model 1 Model 4 Model 2 Model 3
CCSM2 Configuration w/NGC coupler Model 1 Model 4 Model 2 Model 3
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)
cpl [next] • cpl[next] charter? • user community input to whom? • process for introducing/requesting/prioritizing new features • cpl[next] features? • “on the fly” SCRIP mapping weights computation • CCSM single binary, sequential executable cpl • cpl suitable for cluster of vector machines • concept of one model, multiple grids?