ESRL Global Systems Division

Release of Scalable Modeling System Version 2.3.0

The Advanced Computing group in the Aviation Division of Forecast Systems Laboratory (FSL) in Boulder, Colorado, is responsible for making cost-effective high-performance computing resources more accessible to researchers. The most cost-effective high-performance computers available today are built from off-the-shelf desktop-class computers connected by high-speed networks. The previous generation of Cray-style vector supercomputers were relatively easy to program because memory was shared between all of the processors. In contrast, memory in today's parallel machines is distributed, with each processor having its own private memory. This complicates programming because low-level "message-passing" subroutine libraries must be used to exchange data between processors. Historically, the complexity of distributed-memory programming has been a major obstacle to the use of modern parallel supercomputers by researchers.

The Scalable Modeling Systems (SMS) has been developed to encapsulate and hide the complexity of distributed-memory parallel programming making it much easier. SMS is a non-intrusive directive-based approach to parallelization that has many advantages over low-level message-passing, including a higher level of abstraction, the ability to maintain a single source code for both parallel and serial versions, debugging support, and portability. Using SMS, researchers can now add distributed-memory parallelism to their programs simply by inserting SMS directives. Since the directives are comment-based, the original serial code will still work. SMS supports parallelization of computations on regular grids and is well suited for programs that use finite difference approximation and spectral methods (such as Fourier transforms or Gauss-Legendre transforms).

SMS has been used to parallelize several atmospheric numerical weather prediction models. An SMS version of the National Center for Environmental Prediction's Eta model has been shown to run just as fast as another parallel version that was hand-coded using low-level message passing. This indicates that the benefits of SMS do not incur a performance penalty. Recently, SMS has also been used to parallelize ocean models.

On March 16th, a major new version (2.3.0) of SMS was released. This version contains several important new features including support for mesh refinement (nesting) and inter-grid coupling, support for periodic boundary conditions, improved debugging support, and updated documentation. The new debugging features have proven to be especially useful, allowing researchers to quickly locate sources of parallelization error.

SMS can be downloaded from the SMS web site:

Contact information
Name: Tom Henderson
Tel: 303-497-6060