David A. Bader
IEEE Fellow
AAAS Fellow
College of Computing
Georgia Tech
Atlanta, GA 30332



High-Performance Algorithms and Applications for SMP Clusters

The future of high-performance computing relies on the efficient and scalable use of clusters with symmetric multiprocessor (SMP) nodes and low-latency, high-bandwidth interconnection networks. Current examples of such platforms include Sun Ultra HPC machines, Compaq AlphaServers with Quadrics switches, SGI Origins, and the IBM SP system with SMP nodes. Moreover, the future of NASA mission-critical computing for computational aerosciences relies on the success of computational clusters (e.g., SMP Linux clusters at Goddard Space Flight Center, and large SGI Origin arrays at Ames Research Center). Hardware benchmark results reveal awesome performance rates for each component; however, few applications on SMP clusters ever reach a fraction of these peak speeds. While methodologies for symmetric multiprocessors (e.g., OpenMP or POSIX threads) and message-passing primitives for clusters (e.g., MPI) are well developed, performance dictates the use of a hybrid solution. We present preliminary results of our complexity model and programming methodology that is based hierarchically upon realistic model components for message-passing and for symmetric multiprocessor parallel architectures. The current deployment of teraflops and the future development of petaflops systems will certainly require the exploitation of similar hybrid programming models.

Our goal is to validate and refine a core complexity model, efficient primitives and algorithmic libraries needed to support the effective use of SMP clusters for computational aeroscience (CAS) and earth and space science (ESS) codes. In addition, we will show how to design, implement, analyze, and refine algorithms that take advantage of the hybrid programming model and contribute to significant speed-ups for real computational science problems. These will include some basic combinatorial support tasks used in numerical aerodynamics simulations (e.g., sorting integers for particle-in-cell codes) and selected numerical computations (e.g., fast transforms).

These algorithmic kernels exhibit promising performance improvements. Our hybrid programming environment also must support mission-critical high-performance computing applications. Thus, we use real computational aeroscience and Earth and space science codes drive our algorithmic development. These applications include segmentation and classification of remotely-sensed imagery, and navigation, calibration, and registration of terascale data sets, for remote sensing (AVHRR and MODIS) and three-dimensional numerical relativity with the CACTUS computational astrodynamics toolkit.

Publication History

Versions of this paper appeared as:
    Presented at the NASA High Performance Computing and Communications Computational Aerosciences Workshop (CAS 2000), NASA Ames Research Center, Moffett Field, CA, February 15-17, 2000.

Download this report in Adobe PDF



Last updated: July 18, 2005


Computational Biology

Parallel Computing