Alumni Project

Center for Component Technology for Terascale Simulation Software

PI:
R. Armstrong (SNL)

Co-PIs:

D. Bernholdt (ORNL)
L. Diachin (LLNL)
D. Gannon (Indiana Univ.)
J. Kohl (ORNL)
G. Kumfert (LLNL)
L. McInnes (ANL)
J. Nieplocha (PNL)
S. Parker (Univ. of Utah)
C. Rasmussen (LANL)

Summary

The Center for Component Technology for Terascale Simulation Software (CCTTSS) is dedicated to accelerating science by bringing a “plug and play” style of programming to high-performance computing. Through our programming model called the Common Component Architecture (CCA), we can dramatically reduce the time and effort required to compose independently created software libraries into a new terascale applications. Major early-adopters of our technology include the application areas of combustion, quantum chemistry, and climate modeling, and new efforts in fusion and nanoscale simulations have just begun.

The CCTTSS center was formed around the grass roots Common Component Architecture (CCA) Forum, already in existence for three years prior to the start of the SciDAC initiative. Our vision is to bring the software component paradigm to high-performance scientific computing, thereby reducing barriers to software reuse by allowing independently developed modules to be composed together to form complete simulations. This mode of programming is common in industry, but was heretofore unknown in scientific computing. The CCA effort is differentiated from those in the commercial sector because we address the challenges associated with maintaining high performance, work with a broad spectrum of scientific programming languages and computer architectures, and aim to help preserve DOE investments in legacy codes.

CCA Usage in Scientific Applications

Prototype of a CCA component-based system integration of the CCSM.
Prototype of a CCA component-based system integration of the CCSM.

An excellent example of the CCA approach in action is a prototype application under development by researchers within the Community Climate System Model (CCSM) project1. As shown above, the CCA is used at the level of system integration to connect skeleton components for the atmosphere, ocean, sea ice, land surface, river routing, and flux coupler. Prototype applications within the Earth System Modeling Framework (ESMF)2, the infrastructure targeted for the future CCSM, also employ the CCA, including reusable components for visualization and connectivity.

In addition, CCTTSS researchers are collaborating closely with application scientists to create high-performance simulations in quantum chemistry and combustion. Moreover, new externally funded projects incorporate CCA concepts in applications involving nanotechnology, fusion, and underground transport modeling, and proposals have been recently submitted involving biotechnology and fusion.

CCA Technology Development

The CCTTSS is addressing a number of challenging research issues. In particular, we are pursuing ongoing work in framework development, language interoperability, scientific component design, and parallel data redistribution.

Frameworks: A CCA framework is a tool that composes components into applications. The CCTTSS maintains three frameworks: Ccaffeine, which is devoted solely to parallel components and applications; XCAT, which supports components running on distributed remote machines; and SCIRun, which supports both modes of programming. Ongoing research addresses interoperability among these tools.

Language Interoperability: Because application scientists use a variety of programming languages, the CCA has been designed to be language neutral. Our Scientific Interface Definition Language (SIDL) and associated compiler, Babel, allow component interfaces to be written and used from any of C, C++, Python, and Fortran with minimal performance costs.

Scientific Components: As a part of its mission, the CCTTSS has developed production components that are used in scientific applications as well as prototype components that aid in teaching CCA concepts. These freely available components include various service capabilities, tools for mesh management, discretization, linear algebra, integration, optimization, parallel data description, parallel data redistribution, visualization, and performance evaluation. The CCTTSS is also collaborating with the APDEC3 , TSTT4 and TOPS5 SciDAC centers to define common interfaces for mesh-based scientific data management as well as linear, nonlinear, and optimization solvers.

CCA Outreach Activities

Much of CCA's success thus far has been due to the outreach done by the CCTTSS in the SciDAC and larger computational science community. During the past year, we conducted six tutorials and numerous conference presentations.

Benefits from SciDAC

SciDAC funding has accelerated both CCA technology development and the insertion of this technology into massively parallel scientific applications. After two years of funding, CCA components and infrastructure are used in two major SciDAC applications, numerous CCA-compliant application components have been developed and deployed, and the underlying infrastructure is maturing and establishing itself in the scientific community.

For further information on this subject contact:
Robert Armstrong (PI)
Sandia National Laboratories
Livermore, CA 94551-9915
Phone: 925-294-2470
E-mail: rob@ca.sandia.gov
http://www.cca-forum.org

1 Community Climate System Model , PIs: J. Drake and R. Malone, http://www.cgd.ucar.edu/csm
2 Earth System Modeling Framework , PIs: T. Kileen, J. Marshall, and A. da Silva , http://www.esmf.ucar.edu
3 Algorithmic and Software Frameworks for Applied Partial Differential Equations , PI: P. Collella, http://davis.lbl.gov/APDEC
4 Terascale Simulation Tools and Technologies Center , PIs: J. Glimm, D. Brown, and L. F. Diachin, http://www.tstt-scidac.org
5 Terascale Optimal PDE Simulations Center , PI: D. Keyes, http://tops-scidac.org

back to project page

 


Home  |  ASCR  |  Contact Us  |  DOE disclaimer