Advanced Large-Scale Integrated Computational Environment


The ALICE project was founded in 1997 to address issues in high-performance numerical software interoperability. The main ALICE activities have transitioned to a new project, CCA@Argonne, which encompasses research at Argonne within the Common Component Architecture (CCA) Forum. For up-to-date project information, please see the CCA@Argonne site.

Introduction

The goal of the ALICE (Advanced Large-Scale Integrated Computational Environment) project is to eliminate barriers in using independently developed software components in the construction of high-performance numerical applications. We believe this will lay the groundwork for widespread exploitation of teraflop-scale computational resources and for new scientific insights.

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 Design Features

Critical is the design of interfaces to handle the interconnections among components. Clearly, no single mechanism will solve all problems. ALICE uses multiple layers to provide both coarse-grained functionality in connecting applications together and fine-grained functionality for high-performance data sharing. Key design features are
  • a numerical object interface based on mathematical abstractions (e.g., the interface specifies classes of linear and nonlinear solvers as opposed to particular algorithms and data structures), and
  • a common interface specification among components that may use various underlying implementations to address portability and performance issues.
  • 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.

    ALICE Overview Slides from the DOE2000 Retreat, January 7-9, 1998, Reston, VA.


    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]:
  • Automatic differentiation: ADIC and ADIFOR
  • High-performance portable I/O: ROMIO
  • Message-passing tools: MPICH
  • Optimization: MINPACK, NEOS, and metaNEOS
  • PDE and numerical linear algebra software: PETSc and BlockSolve95
  • Unstructured mesh computations: SUMAA3d
  • 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 Memory Snooper (AMS) - A client/server, multithreaded API designed to aid in writing computational steering, monitoring, and debugging tools.
  • ALICE Microkernel - Minimalist infrastructure for managing component interactions.
  • Optimization Toolkit (OT) - A set of component-based software tools for large-scale optimization problems.
  • Derivative-Enhanced Components - Computational differentiation technology that exploits the mathematical abstractions within ALICE numerical tools to aid in multivariate sensitivity analysis and design optimization.
  • ALICE Differencing Engine (ADE) - A toolkit for immersive visualization of multiple data sets, with emphasis on understanding the sometimes subtle differences among them.
  • 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

  • Advanced immersive visualization: Futures Lab
  • Distributed supercomputing tools: Globus

  • ALICE Computational Science Applications

    ALICE software tools have addressed a range of application areas, including aerodynamics, superconductivity, electromagnetics, atmospheric chemistry, ground water transport, and oil reservoir simulation.

    The new ALICE environment targets large, interdisciplinary projects. Major projects using ALICE include:

  • Center on Astrophysical Thermonuclear Flashes (ASCI ASAP Center).
  • Multi-Model Multi-Domain Computational Methods in Aerodynamics and Acoustics (NSF Multidisciplinary Challenge Project)
  • Massive Crystallographic and Microtomographic Structural Problems (DOE Grand Challenge Project)
  • 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.


    For More Information:

    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.


    [ ALICE Home Page | Applications | People | Papers | Related Links ]