Current hardware trends, such as GPUs and MICs, are based on marginal
increases in clock speed, coupled with vast increases in concurrency,
particularly at the fine grain. Multi-physics codes face particular
challenges in achieving fine-grained concurrency, as different physics
and dynamics components have different computational profiles, and
universal solutions are hard to come by.

We propose here one approach for multi-physics codes. These codes are
typically structured as \emph{components} interacting via software
frameworks. The component structure of a typical Earth system model
consists of a hierarchical and recursive tree of components, each
representing a different climate process or dynamical system. These
generally encompass a modest level of concurrency at the highest level
(e.g atmosphere and ocean on different processor sets) with serial
organization underneath.

We propose to extend concurrency much further by running more and more
physics in parallel with each other. Each component can further be
parallelized on the fine grain, potentially offering a major increase
in scalability of Earth system models.

We present here first results from this approach, called
Coarse-grained Component Concurrency. Within the GFDL Flexible
Modeling System, the radiation component has been configured to run in
parallel with the atmospheric dynamics and all other atmospheric
physics components. We will explore the algorithmic challenges
involved in such an approach, and present results from such
simulations. Plans to extend this approach within other components
such as the ocean, will be discussed.

We will also show results from GFDL's participation in the NGGPS
project to define the Next-Generation Global Prediction System for the US.


Slides to this talk