Toshiyuki Takahashi and Akinori Yonezawa
Graduate School of Information Science
University of Tokyo

The objective of our research is to develop a practical parallel object-oriented language processing system and its programming environment.

Many real-world problems can be solved more easily using parallel algorithms than sequential algorithms that have often been used conventionally. Parallel object-oriented languages allow such parallel algorithms to be written in a natural way.

Our proposed parallel object-oriented language can be used on a wide range of platforms, from sequential computers to massively parallel computers. We believe that parallel object-oriented languages are essential for creating applications, especially in massively parallel computers, in order to allow efficient use of the computing resources available.

With this objective in mind, we have so far implemented the parallel object-oriented languages ABCL/1 and ABCL/f. This article reports on the current status of, and prospects for, ABCL/f implementation and the MPC++-related studies being carried out in collaboration with TRC.

1. The Current Status and Prospects of the ABCL/f Processing System

Implementation of ABCL/f on the highly parallel computer AP1000 and workstation clusters linked with PVM has been almost completed, and evaluation with application programs such as the N-body problem and the RNA secondary structure prediction problem is now being carried out (Figs. 1 and 2).

Fig.1 Example of an ABCL/f application:
an RNA(246-base) secondary structure
of the Cadang-Cadang coconut Viroid

This evaluation has confirmed that our language and implementation system show far higher productivity (cost-effectiveness) than the common programming of using a communication library with sequential languages, such as C.

This year, we plan to improve the implementation system to achieve higher effectiveness. A workstation cluster linked with Myrinet will also be added to the target computers. Myrinet is a network interface developed by the Myricom Corporation to allow low-cost configuration of workstation clusters using a high-speed network.

As for the programming environment, we are studying debugging systems and the extension of the language using metalevel architecture.

Debugging systems are essential to improve the efficiency of application development. In general, parallel software contains many elements that behave in a non-deterministic fashion, and debugging systems often interfere with the behavior of software, making the identification of bugs difficult. Debugging facilities with a reproducing capability are therefore required, and we are also working on this topic.

Also included in our research themes is R&D of metalevel architectures for ABCL/f in order to provide parallelizing syntax and optimization flexibly at the user level. In particular, compilation is carried out by using partial evaluation to achieve an efficiency level satisfactory for parallel computation.

Fig.2 Example of an ABCL/f application:snapshot of screen in which
a Mandelbrot set is being calculated

We plan to make ABCL/f available for general users who need parallel computers and want to use ABCL/f to develop parallel programs efficiently. We are currently preparing language and programming manuals for ABCL/f.

2. MPC++-Related Research

MPC++ which is an extension to C++ is being developed as the kernel language for RWC-1 under Dr. Ishikawa, chief of Massively Parallel Software Lab. at TRC. It has primitive facilities for parallel execution, and allows user-level customization of the language processing system.

We are responsible for porting the MPC++ runtime library to AP1000. With the current MPC++ on AP1000, it takes about 150 microseconds to invoke a program on the adjacent node and return, several times faster than the workstation cluster version using UDP communication or Myrinet (about 500 and 300 microseconds, respectively). It is expected that it may eventually be possible to achieve a speed as low as ten microseconds on the AP1000 version. Comparable performance is also expected by the library customized on Myrinet being developed at TRC. Comparison of these will be of great interest.

AP1000(64 processors) installed at Yonezawa Laboratory

We are also participating in the implementation of metalevel functions which is a core of the MPC++ compiler. Metalevel functions of MPC++ will make a description of the extension of the compiler functions open to programmers. We are now, in cooperation with TRC, extending metalevel functions to allow control parallelism-related compilation rules to be written at the metalevel. It is expected that this will increase the number of compiler functions that can be written at the metalevel, improving the flexibility and portability of the MPC++ compiler.

We plan to improve the design of metalevel functions. The algorithm for parallel distributed execution should be separated from algorithms for solving target problems and written at the metalevel. We are improving MPC++ metalevel functions and working on the separate description of these algorithms.

3. Conclusions

The results of our research are open to the public via the World Wide Web (http://web.y1.is.s.u-tokyo.ac.jp) and FTP (camille.is.s.u-tokyo.ac.jp). Latest information of the research can be requested via e-mail (tosiyuki@is.s.u-tokyo.ac.jp).