The National Science Foundation has awarded a new contract to a group of CRPC researchers and colleagues to study the problem of building Problem Solving Environments (PSEs). The group is led by K. Mani Chandy at the California Institute of Technology and includes collaborators from Los Alamos, Indiana University, Drexel University and New Mexico State University.
The project spans four related areas: (1) PSEs that support the transformation of symbolic differential equation problem definitions to code that executes efficiently on parallel machines, (2) object-oriented libraries of parallel program templates to support PSEs, (3) graphical user interfaces that support education in parallel computing and that also support naive users, and (4) PSEs for collaboration and ubiquitous distributed computing using the World Wide Web and Java.
One of the goals of the project is to integrate existing tools to develop a PSE builder--a machine tool for generating PSEs. By using existing tools such as Explorer, Maple, Matlab, Fortran and High Performance Fortran (HPF) libraries, High Performance C++ (HPC++) libraries and C++ extensions, Java, and the World Wide Web, the group expects to gain maximum leverage from earlier work.
This consortium has built a prototype PSE builder that uses Explorer to create an interoperability environment between advanced math packages, such as Maple, Matlab, Fortran libraries, and Advanced Visual Systems (AVS) modules. The current focus is on linking the system to high-performance parallel libraries and solvers, such as the HPC++ array class library and A++, creating a graphical user interface for input, and AVS visualization for results.
In addition, the researchers are developing a prototype interface in Maple that takes users from symbolic differential equations to numeric equations with finite difference operators. The numerics can be fed to Matlab, which then calls the parallel Fortran libraries from Indiana or the object-oriented libraries developed at New Mexico State University and Los Alamos.
An example of such a PSE is a tool that uses the Los Alamos object-oriented libraries (Parallel Object-Oriented Methods and Applications) that generate Single-Program Multiple Data (SPMD) code in HPC++ compatible libraries, and that use an object framework from Fortran M. Applications being investigated include parallel gyrokinetic plasma physics simulation and spectral simulation of the Burger's equation using components of the POOMA FrameWork. The achievement of these goals will enable the group to focus on PSE design in the context of actual grand challenge problems rather than toy simulations.
The group is also doing research on user interfaces that help naive users develop parallel applications. Focus application areas include plasma physics, cosmology, and a parallel airshed model of the Los Angeles basin used in EPA studies of smog. They are developing a prototype interface for the smog model that allows environmental engineers to experiment with different modules, for instance replacing one chemistry component with another by merely clicking on a menu. The airshed model interface is a case study in research on user interfaces for parallel computation.
A second case study deals specifically with education. The project's goal is to build a user interface for certain patterns of parallel computation, specifically computations based on the mesh-spectral archetype. The user interface will educate the naive user by employing graphics and animation, and support development of simple applications by using the archetype. After the researchers have developed an educational program based on mesh-spectral calculations, they will evaluate the material in courses and use the knowledge gained with new archetypes.
PSEs have been discussed primarily in the context of scientific computation using differential equations and linear algebra. The benefits of PSEs apply equally well to other domains, such as empowering people to use the global information infrastructure. The information infrastructure is the foundation for a world-wide distributed system which in turn is the foundation for a world-wide collaboratory. The group is focusing on PSEs that could possibly empower large numbers of people to use distributed applications and a collaboratory on the global information infrastructure, just as Web browsers have done for world-wide data access.
As such, PSE researchers are concentrating on two areas: PSEs and the communication infrastructure to facilitate a world-wide distributed system that can be used by people who today use Web browsers, and PSEs and infrastructure for collaboration among groups of scientists developing software. The group is developing class libraries in Java and using sockets and internet protocols necessary for both of these areas.