next up previous
Next: Solving a Problem Up: Interactive and Dynamic Content Previous: Inferno and ApproxWizard

NetSolve

An ongoing thread of research in scientific computing is the efficient solution of large problems. Various mechanisms have been developed to perform computations across diverse platforms. The most common mechanism involves software libraries. Unfortunately, the use of such libraries presents several difficulties. Some software libraries are highly optimized for only certain platforms and do not provide a convenient interface to other computer systems. Other libraries demand considerable programming effort from the user, who may not have the time to learn the required programming techniques. While a limited number of tools have been developed to alleviate these difficult ies, such tools themselves are usually available only on a limited number of computer systems. MATLAB is an example of such a tool.

These considerations motivated the establishment of the NetSolve project. The NetSolve system, developed at the University of Tennessee, is a client-server application designed to solve computational science problems over a network gif. A number of different interfaces have been developed to the NetSolve software so that users of C, Fortran, MATLAB, or the World Wide Web can easily use the NetSolve system. The underlying computational software can be any scientific package, thus helping to ensure good performance through choice of an appropriate package. Figure 1 shows the conceptual picture of the NetSolve system. In this figure, a NetSolve clients sends a request to the NetSolve agent. The agent chooses the ``best'' NetSolve resource according to the size and nature of the problem to be solved. Several instances of the NetSolve agent can exist on the network. Every host in the NetSolve system rusn a NetSolve computational server, also called a resource. The NetSolve resources have access to scientific packages such as libraries or stand-alone software systems. More information about the NetSolve system may be found in [7]. In this paper, we describe recent work on the Web interfaces to Netsolve.

An HTML forms interface is available from the NetSolve home page that allows a user to contact a NetSolve agent to obtain information about software and hardware resources for an instance of the NetSolve system. The user enters the name of a host running a NetSolve agent in either the Software Resources or the Hardware Resources form. The Software Resources form returns a list of all the problems that can be solved on the NetSolve system. The list contains all the information about what type of input data is needed and what type of output will be produced. The Hardware Resources form returns a list of all the agent or computational servers in a NetSolve system. The list contains information such as Internet addresses and host and server status. Although the HTML forms cannot be used to submit problems for solution, they can be used to obtain information prior to using one of the programming interfaces to NetSolve.

The Java interface to NetSolve provides a user-friendly graphical tool for accessing the NetSolve system. Because the Java interface should be runnable from many Web browsers, it also provides the opportunity to solve problems without downloading or compiling any source code. However, the current Web browsers that support Java impose restrictions on the networking capabilities of applets. At this time, it appears to be impossible to open sockets to remote hosts, making the NetSolve Java interface unusable from a Web browser. Future version of Web browsers will undoubtedly alleviate this problem. In the meantime, the Java NetSolve client must be run as a standalone Java application.

Let us now assume that the user has started the Java interface, either as an applet (via the Web) or as a stand-alone application. Figure 2 shows the initial screen, which consists of several components:

To contact an agent, the user can enter the hostname in the Agent Selection Box and then click on the ``Contact/Update'' button. In some cases, the user may have already contacted an agent, but just wants to update the list of problems. If so, clicking on the ``Contact/Update'' button without changing the text in the Agent Selection Box will reload the problem list. Once the list of available problems has been loaded it is then displayed in the Problem List, located in the upper left region of the interface.

To find out more about any problem listed, the user may click on that problem and view pertinent information displayed in the Problem Description Box, the Input List, and the Output List. The Problem Description Box, located in the lower left region of the interface, contains a short description of the selected problem. The Input List contains a list of the input objects required to solve the selected problem. Similarly, the Output List contains a list of the output objects that are returned by the server. When the user clicks on any item in the Input List, the interface updates the Input Description Box with text describing the selected input object. Likewise, clicking on any item in the Output List updates the Output Description Box with text describing the selected output object.




next up previous
Next: Solving a Problem Up: Interactive and Dynamic Content Previous: Inferno and ApproxWizard

Jack Dongarra
Wed Feb 26 17:42:27 EST 1997