Research and development of global computing


Mitsuhisa Sato
Parallel and Distributed System Performance Laboratory

Information exchange and information searching using the Internet such as electronic mail and WWW services are now an indispensable part of daily life. These current network services are mainly sharing data among themselves. By promoting this, the resources needed for large-scale computing such as CPU and database can be shared over a wide-area network in a virtual manner.

In recent years, computing systems that use available computing resources over a wide-area network such as the Internet, so-called global computing, are attracting attention. The Parallel and Distributed System Performance Laboratory considers the research and development of global computing to be important technology for seamless parallel and distributed computing, and is promoting such efforts.

Put simply, the term "global computing" involves using computers connected by a wide-area network as if they were connected by a LAN without having to be aware of various barriers such as differences of accounts and security. In practice, there are many cases where the term "seamless" is used for global computing that eliminates this barrier (seam). Global computing systems that utilize a wide-area network can be roughly divided by application structure and purpose into the following two types.

Systems that use remote computers by offering a user interface with the computer at hand. Now being called Datorr (Desktop Access to Remote Resource), such a system aims at connecting a PC or workstation with computer systems that are connected by the network, and can execute high-performance computing in a "seamless" manner.

Systems that perform distributed and parallel computing on more than one computing resources. Connected to a large-scale supercomputer, etc., the objective is to expand the computing resources and scale to execute high-performance computing.

Our laboratory is conducting the Ninf (Network based Information library for High Performance Computing) project to develop the framework for sharing such information computing resources in cooperation with the Electrotechnical Laboratory (ETL), National Institute for Fusion Science (NIFS), and Tokyo Institute of Technology.

The objective of Ninf is to provide a mechanism for providing and sharing information and computing resources on scientific and technical computing field through a numerical computing library or a numerical information database necessary for scientific and technical computing that are on a LAN or a wide-area network.

The Ninf system is middleware for global computing. Providing a simple interface based on Remote Procedure Call, the Ninf enables remote computing resources to be used from PC or workstation at hand without needing to be conscious of the difference between computers. It can be called using various languages such as C, Fortran, and Java.

Ninf provides a method to use a routine to be executed on remote computers as one component on the program of the calling-side client. By utilizing a parallel numerical fluid analysis program called femFlow that has been developed by the laboratory, we developed a Ninf component called netCFD for numerical fluid analysis. By preparing this component for a high-performance computer system such as a PC cluster, an arbitrary computer on the wide-area network can have a PC cluster perform fluid computing. As a demonstration application that uses the computing component by netCFD, we designed a GUI written using Java applets and exhibited our research at SC98. (Fig.)

In this way, the system can select the computing data from a Web browser, start up numerical fluid computing and visualize the executed results. Simple visualization functions such as the display of 2-dimensional-vector figures, nodes by color, flow rate of elements, pressure, and temperature are supported and the user can execute a simulation interactively by checking the result during execution. In addition, we developed a computing component called netMO that performs molecule orbit computing. By means of these software, we can use a remote supercomputer as if it were part of the computer at hand.

At present, a system called Globus, which was developed in the U.S., is widely used in the research field of global computing.

Globus is a system consisting of a collection of program groups that become necessary when performing global computing such as certification, security, remote execution, and situation control for execution when using a computer from one site to another site. However, at a site where security is stringent, there are problems such as limited communications. We designed a new mechanism that solves these problems and developed software that are incorporated into Globus. By using this, we can use a computer cluster or a supercomputer at a site under strict security just like a computer connected by a LAN. Since there are restrictions on communication speed in existing wide-area networks, it is limited to parallel applications that require only a relatively small amount of communications in a large processing unit. However, the system can be used for a wide range of applications such as searching for optimal parameters by executing more than one large program while changing the parameters.

In the near future, as the speed and capacity of wide-area networks improve, global computing will spread. In the same way that home pages on the Internet anywhere in the world can be viewed, we will be able to use computers anywhere in the world when they are connected to the network, as a part of parallel computing. Also, even if there is no program available at hand, we will be able to call up an advanced application through a simple interface such as Ninf. At present, we are conducting experiments on parallel computing by utilizing computers across the Pacific Ocean through the Australia line.

Fig.: Configuration of netCFD

In addition, the demonstration of netCFD introduced here is always available for use at:

http://pdplab.trc.rwcp.or.jp/netCFD/