Home Contents Search

Simulations
Up ] EE ] Mechanical ] ChemE ] [ Simulations ] OR ] Environment ]

 

Current Status

Highly Available Engineering Simulations

To make simulation-based engineering education possible, we must address the enormous computational needs of engineering simulations. Most physical phenomena are modeled using partial differential equations with appropriate boundary conditions. Since these equations cannot usually be solved exactly, it is necessary to use numerical methods like the finite element method. Such methods can easily require 100 Gflops/sec or more. For example, crack propagation requires a finite element mesh with about 10^6 points, and the solution of large sparse linear systems; on a mesh of this size, the simulation requires roughly 10-100 Gflops/sec to perform crack propagation "online". Currently, we perform such simulations on the IBM SP-2 using batch jobs. To permit such simulations to be performed routinely by faculty and students, it is necessary to deliver such computational power "anytime and anywhere".

Within the timeframe of this proposal, a computer based on a single Intel processor is unlikely to deliver much more than a 1 Gflops/sec. Therefore, it is necessary to use compute-servers consisting of small clusters of Intel processors to deliver the computational cycles required for a single simulation. To ensure that these servers have high availability, we will create a network of servers that delivers computational cycles transparently to the simulation. Two major technical challenges in accomplishing this are providing cycles transparently and performing a single simulation in parallel on a small number (8-16) of processors. This work will build on the extensive experience of our team in designing and implementing state-of-the-art mesh generators. Chew’s Delauney-triangulation based mesh generator and Vavasis’s QMG mesh generator based on oct-trees are used by many groups all over the world.

Pingali’s group is developing restructuring compiler technology that will transform sequential programs for finite-element solvers into efficient code for the parallel platforms. A first version of this compiler has been implemented for the IBM SP-2; it generates code competitive with the Argonne BlockSolve library code for iterative methods. Work is under way to extend the compiler to enable handling of direct methods. Although direct methods are unlikely to be used for 3-D FEM solvers, preconditioners for iterative methods are often generated using incomplete factorization, and handling this in the compiler requires similar techniques. This work suggests the plausibility of generating parallel code for sparse linear solvers using a compiler. To generate optimized code for a cluster, we must tackle the memory hierarchy problem as well. Pingali and his students have developed a novel algorithm for automatically blocking programs for multi-level memory hierarchies. This technology will be integrated with the sparse compiler, and the compiler retargeted to the computational servers provided by this proposal.

Participants

Keshav Pingali, Associate Professor, Computer Science Department
Stephen Vavasis, Associate Professor, Computer Science Department
 

 

Back Home Up Next

Last modified on: 07/30/99