The ALICE project, a collaborative effort among researchers in the Mathematics and Computer Science Division of Argonne National Laboratory, has grown out of our long tradition of expertise in high-performance software. This experience has demonstrated the benefits of encapsulating numerical and parallel computing expertise in user-ready tools. However, the complexity of today's large-scale scientific simulations often necessitates the combined use of multiple software packages to address areas such as mesh manipulations, numerical solution of partial differential equations, optimization, sensitivity analysis, and visualization. While efficient and robust tools exist, combining them remains difficult because of data management and interoperability problems.
ALICE research focuses on (1) developing low-overhead mechanisms for integrating extensible software for scientific problem solving and (2) building component-based toolkits that encapsulate expert knowledge in numerical algorithms and parallel computing. ALICE development is motivated by a range of large-scale scientific applications that ensure the relevance and practicality of our design. Our approach supports both new and legacy applications, thereby enabling scientists to reuse legacy kernels and to program in the style of most comfort to them, for example, traditional Fortran development or more object-oriented paradigms.
In addition, we are actively engaged in dialogues within the DOE Common Component Architecture Forum concerning component-based software interoperability throughout the DOE high-performance computing community.
ALICE is based on an open software architecture. This enables third parties to develop ALICE-compliant components, thus expanding the suite of tools available to the user. At the same time, extensibility allows ongoing incorporation of the latest algorithmic research developments and architecture-specific performance optimizations, thus enabling scalability over the full range of computer architectures.
Argonne: A Tradition of Excellence in High-Performance Software
ALICE builds upon a number of popular and established numerical
software packages developed at Argonne and now used worldwide
[short overview]:
Preliminary work has been promising. For example, automatic differentiation technology has made NEOS easier to use, and SUMAA3d/PETSc interfacing is facilitating complex adaptive simulations. Further research and development in interoperable ALICE components is underway via:
ALICE also seeks to combine numerical algorithms and codes with non-numerical applications, particularly in visualization (both three-dimensional immersive environments such as the CAVE and lower end facilities via techniques such as VRML), interactive computational steering, data management, and dynamic resource selection. For many of the non-numerical components such as computational steering, immersive visualization, and dynamic resource management, ALICE also leverages Argonne expertise via
The new ALICE environment targets large, interdisciplinary projects. Major projects using ALICE include:
A common theme within these simulations is the need for injecting state-of-the-art numerical techniques into applications that are based on large legacy codes. Various ALICE components already provide such functionality, (e.g., PETSc and SUMAA3d for PDE solution and NEOS for advanced optimization). The modular and extensible nature of ALICE facilitates the reuse of legacy kernels, which typically represent the most intensive investments in application development. Our experiences thus far are merely the first steps toward much larger computing and component sharing.
ALICE Developers
E-mail:
alice@mcs.anl.gov
or
Tom Morgan
Mathematics and Computer Science Division
Argonne National Laboratory
9700 South Cass Avenue
Argonne, IL 60439-4844
FAX: 630-252-5986
E-mail:
tmorgan@mcs.anl.gov
.
Some employment opportunities within MCS, including ALICE-related projects for students, postdocs, visitors, and staff.
.
We welcome inquiries from scientific application groups who may be interested in using preliminary versions of ALICE tools and motivating further enhancements to functionality.