![]() |
|
||||||
| Home
| Mission
|
about SciDAC
|
Contact Us |
||||||
Alumni ProjectCenter for Component Technology for Terascale Simulation Software PI: SummaryThe 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
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: 1 Community Climate System Model , PIs: J. Drake and R. Malone, http://www.cgd.ucar.edu/csm
|
Home | ASCR | Contact Us | DOE disclaimer |
|
|