Supercomputing

Enhancing Performance of NASA's High-End Computing Applications

Overview

NASA's High-End Computing Capability (HECC) project users can benefit from a range of services to optimize the performance and productivity of their applications. Experts working at the NASA Advanced Supercomputing (NAS) facility at Ames Research Center provide three key application performance and productivity (APP) activities: enhancing performance of high-end computing applications, leveraging software technologies to improve user productivity, and characterizing performance of current and future architectures.

A cloud simulation from the Goddard Cumulus Ensemble code, using 260x260 horizontal grid points (with 250-meter grid spacing) and 72 vertical levels. White isosurfaces depict the outer boundary of the clouds, and surface color shading represents the low-level temperature perturbation (showing cold outflow from thunderstorms). Also shown are the horizontal wind vectors just above the freezing level, at 5.5 kilometers above the surface. Derek J. Posselt, University of Michigan

Project Details

NAS's APP team works closely with application owners and domain specialists to make the most effective use of NASA supercomputing resources by enhancing code performance—often by an order of magnitude.

Some of the basic APP services provided to users as part of their allocation include: troubleshooting issues with simulation runs; porting codes and training in the effective use of HECC resources; and optimizing the performance of applications, including memory reduction, cache optimization and parallel performance enhancement.

Results and Impact

Recent, in-depth application optimization efforts resulted in significant performance boosts for several user codes. For example, the introduction of OpenMP into two codes-Satellite Data Simulation Unit (SDSU) and a solar acoustic computational code, A_SH_B_WAVES—improved performance by 8x and 2.7x respectively. In addition, a 3x improvement in the I/O performance of the Goddard Cumulus Ensemble (GCE) code allows it to scale up to 4,096 cores on the Pleiades supercomputer.

The APP team's efforts have also enhanced user productivity and system efficiency through developing an approach to package hundreds to thousands of serial or parallel simulations in a single batch job; creating a tool to facilitate the rapid analysis of individual job failures and system-wide issues by mining for error patterns in log messages; and developing a methodology to detect a large class of uninitialized floating-point variables, which are undetected by standard compiler options.

Role of High-End Computing Resources

NAS APP experts regularly use a suite of NASA-relevant codes to characterize performance of new high-performance computing architectures, including Intel Xeon-based systems, NVDIA graphics processing units, and cloud computing offerings.

Piyush Mehrotra, NASA Ames Research Center
piyush.mehrotra@nasa.gov
Robert Hood, NASA Ames Research Center
robert.hood@nasa.gov

More Media

Since its installation in 2008, the Pleiades supercomputer has undergone several expansions, and now contains four generations of Intel Xeon processors. This graph shows the performance (relative to the Intel Xeon Westmere chip) of six applications, and illustrates how the performance tracks Moore's Law and the SPECfp benchmarks.
http://nas.nasa.gov/SC12/demos/demo33.html