Project Leader: Anupam Joshi, CECS
The evolution of the Internet into the Global Information Infrastructure (GII) is impacting many institutions of life in general, and the way we view computing in particular. The realization of rapid multidisciplinary problem solving or prototyping is the new grand challenge for Computational Science and Engineering (CS&E). The scientific computing software of tomorrow, developed with such applications in mind, will use collaborating software systems and agent based techniques to build systems from software components which run on heterogeneous, networked platforms. It will allow wholesale reuse of legacy software and provide a natural approach to parallel and distributed problem solving.
The advent of fast networks (vBNS, I2, NGI), and distributed computing infrastructure like the CORBA/DCE/NCA/Servelets etc. are making the concept "The Network is the Computer" a reality. The "network" interconnects heterogeneous computational units (ranging from workstations to massively parallel machines). An infrastructure needs to be developed to allow scientific computing applications to use resources and services from many sources spread across the network. The system, however, needs to be network and evolution transparent to the user. In other words, the user must be presented an abstraction of the underlying networked infrastructure as a single "meta-computer", which can be accessed using a Problem Solving Environment (PSE).
In some sense, a primitive version of the system we described above can be said to exist today. Several software libraries for scientific computing are available, such as Netlib, Lapack/ScaLapack etc. There are even some attempts to make such systems accessible over the web, such as Web //ELLPACK(from Purdue) and NetSolve(from UTK/ORNL). Software such as GAMS and PYTHIA exists which enables users to chose the right software for their problem. The user can locate and download the appropriate software components and their installation and use instructions, install the software, compile and (possibly) port it, and learn how to invoke it appropriately. These are clearly not tasks for the uninitiated, such as most application scientists are wont to be. The systems today are the equivalent of programming ENIAC, which required direct manipulation of connecting wires. Research is needed to provide systems that will abstract away the detail of the underlying networked system from the user, who should be able to interact with this system in the application domain. Our long-term research focus is to create PSEs to address this task.
This effort involves a collaborative effort with Rice's PSE group at Purdue and will build on our prior work in creating the PYTHIA advisory systems and SciAgents collaborative agents system for PDEs. The issues we address solve only some of the problems associated with realizing the vision of networked scientific computing. However, it is a starting point and would not be feasible without high-speed access to a range of computational resources and agents distributed throughout the network.
CECS Multimedia Communications and Visualization Laboratory