The Linear System Analyzer


The Linear System Analyzer (LSA) is a dual goal research project. One goal is a problem solving environment (PSE) for solving large, sparse, unstructured linear systems of equations which occur in computational science and engineering problems. This problem domain, and the need for a PSE to handle it, are described later. The second LSA project goal is research into and development of PSE infrastructure tools, by providing reusable PSE subsystems and by creating a component architecture for scientific computing. The LSA provides one focus (or "point solution") for the PSE research, while the PSE research provides the mechanisms which enable the LSA.

The work is part of the PSEware project , an NSF-funded joint research project with Drexel, CalTech, UC Irvine, and Los Alamos National Laboratory. 

The LSA project has evolved into the CAT project, whose aim is to develop a component-based software toolkit designed to facilitate the construction of high-performance scientific applications that can efficiently operate in heterogeneous distributed computing environments.

Project Description

The word "component" has an English language meaning of "part", but here we will only use it for the specific meaning of a software component. We give a definition of "component" and explanation of the relationship of the LSA and component frameworks. However, the role of component systems in scientific computing is still a developing area.

The LSA architecture consists of four modular subsystems, each with its own subparts.

  1. User control and interface
    1. Palette
    2. Canvas
    3. State save/restore
    4. SubGUI's
  2. Framework manager
    1. Resource database management
    2. Component instance ID
    3. Collaboration (planned)
  3. Communications subsystem
    1. Nexus communication library
    2. HPC++ wrapper interface
    3. NexusJava GUI/Manager protocol
  4. Information subsystem
    1. Component framework statistics (juan)
    2. Error/exception handling (tom)
    3. Component-specific (tom)

The HPC++ wrapper code for the LSA modules is available for browsing.

The problem domain addressed by the LSA is large, sparse linear systems of equations. This is a common and difficult subproblem for many scientific and engineering computations, making it a useful target.

The actual computational components currently in the LSA include I/O, filters, and solvers. The set is not exhaustive, but provides at least one example of each kind of operation typically done with sparse matrices.

The target audience or user model for the LSA is multilevel, as is appropriate for component systems. The levels include expert researchers in numerical linear algebra, scientists and engineers who need to experiment with sparse linear systems, and students.

The actual LSA usage model is a visual programming, data flow model.

Finally, future developments for the LSA include several extensions: adding new components, providing Globus and possibly Netsolve resource management, etc.

Research Team

As part of the PSEware project, the LSA uses tools, techniques, and ideas from several participating institutions, and the PSEware home page has the full list of those participants. The LSA is an Indiana University component of that overall project, and the primary IU-affiliated researchers working on the LSA are: A PSEware alumnus who built an Iris Explorer system ancestral to the LSA is

Papers and Conferences

Below is a selected list of papers and conferences which featured the PSE LSA system.


Primary funding is from the CISE directorate of the National Science Foundation, as grant number CCR-9527130. Additional funding support comes from the NSF grant ASC-9502292 , Partial Orthogonalization Methods in Scientific Computing.

The CalTech ASCI/ASAP Center for Simulating Dynamic Response of Materials is also providing support for the component architecture research. 

  • Next page: Component architectures and the LSA

    [ IU CS ] [ Extreme! Computing ] [ PSEware ]

    Last updated: Tue Jan 26 12:55:40 1999