Quarterly R&D Status Report No. 15

Common Runtime Support for High Performance Languages

Period Covered From: 1 January 1998 To: 31 March 1998

April 6, 1998

Prepared By

Geoffrey C. Fox

Northeast Parallel Architectures Center

at Syracuse University

111 College Place Syracuse, NY 13244-4100

Prepared For

ESC/ENS

5 Eglin Street, Building 1704 Hanscom AFB, MA 01731-2116

Attn.: Mr. Harry Koch

Sponsored By

Advanced Research Projects Office/CSTO

Common Runtime Support for High Performance Parallel Languages

ARPA Order No. B526 Issued by ESC/ENS under contract

# F19628-94-C-0057

Program Technical Status

A. Description of progress during reporting period, supported by reasons for any changes reported previously

Significant achievements in the reporting period include

• The initial release of the NPAC PCRC kernel software has been installed at various user sites, including Pacific Northwest National Lab (PNNL), European Center for Parallel Computation in Vienna (VCPC), University of Florida, and the University of Peking. Feedback from these sites (particularly relating to installation of the package on diverse systems with different compilers and MPI platforms) has been incorporated into the software. We expect this process to continue over the coming months, leading to improved portability.

• The definitions of the HPJava language and the associated “HPspmd” programming model have been further refined, and presented at two workshops (Java ’98 and IPPS/SPDP ’98).

The basic Java interface to NPAC kernel library is now operational. Design of the HPJava translator is maturing. Work continues on the implementation of the translator. We have started to assemble a test suite of HPJava programs.

Experiments with hand-translated HPJava benchmarks display performance within a factor of 2-3 of C++. (The gap is attributable to the difference in performance of the target Java and C compilers. This gap is has been closing rapidly over the last year.)

• A proposal to continue research and development of software and programming approaches evolved over the course of this project has been submitted to the National Science Foundation, in the Advanced Computational Infrastructure and Research Programs, New Technologies Program.

• We are collaborating with Pacific Northwest National Lab, investigating integration of the PCRC software with the Global Array toolkit (GA). The goal is to improve the GA system by adding support for general distributed arrays, and to improve the NPAC PCRC software by lifting the one-sided communication layer from GA. This will allow better support for task parallelism from the PCRC library, and may yield improved implementations of the existing collective operations on platforms that support remote memory access (RMA) in hardware.

• NPAC and Indiana presented papers at the 1998 ACM workshop on Java for High-performance Network Computing, February 28-March 1. This was the third in a series of workshops on Java for Scientific and Engineering computation. The series was initiated with support from this project.

• A full, object-oriented Java interface to MPI 1.1 has been implemented using the Java native methods interface (JNI). The comprehensive IBM MPI test suite has been translated to Java. We plan to release this software in the next reporting period (a beta version has been made available to a few sites).

• Ports of the NPAC kernel software and the Java MPI interface to Windows NT have been demonstrated “in house” at NPAC. Eventually these ports will be made available on the Web.

• Our subcontractors at the University of Maryland continue work on interoperability among different runtimes in the context of the MetaChaos framework.

• Subcontractors at Texas are continuing the development of DAGH.

• The University of Florida subcontractors continue work on parallel classification codes using the NPAC PCRC kernel software. The goal is to demonstrate good overall performance and ease of programming.

• Subcontractors at Indiana are working on IIOP and Nexus links between HPC++, Java, CORBA and object encapsulated HPF and Fortran with MPI.

B. Description of any special programs developed or major items of experimental or special equipment purchased or constructed during reporting period

No special problems were encountered in this reporting period.

C. Notifications of any changes in key personnel associated with the contract during the reporting period

No change during this reporting period.

D. Summary of substantive information derived from noteworthy trips, meetings, and special conferences held in connection with the contract during the reporting period

• Visit by Bryan Carpenter of NPAC to PNNL (February), to discuss possibilities for integrating parts of PCRC software with Global Arrays Toolkit software.

• Poster display and distribution of project reports at the 1998 ACM workshop on Java for High-performance Network Computing, February 28-March 1, 1998.

• Presentation “Language Bindings for a Data-parallel Runtime” at 3rd International Workshop on High-level Parallel Programming Models and Support, held in conjunction with IPPS/SPDP ’98, March 30-April 3, 1998.

E. Summary of any problems or areas of concern on which procuring activity or guidance is required

None.

F. Statement relative to the apparent sufficiency of contractually prescribed effort to achieve the objectives of the contract

The contractually prescribed effort is sufficient to achieve the objectives of this contract.

G. Related accomplishments: i.e., scientific papers published, etc.

The following is a partial list of related reports/papers completed during this reporting period.

1. Ibraheem Al-Furaih and Sanjay Ranka “Memory Hierarchy Management for Iterative Graph Structures”, Proceedings IPPS/SPDP ’98, IEEE Computer Society Press, 1998.

2. Khaled Alsabti, Sanjay Ranka, and Vineet Singh, “An Efficient Parallel Algorithm for High Dimensional Similarity Join” Proceedings IPPS/SPDP ’98, IEEE Computer Society Press, 1998.

3. Seungjo Bae, Dongmin Kim and Sanjay Ranka, “Vector Reduction and Prefix Computation on Coarse-Grained, Distributed-Memory Parallel Machines”, Proceedings IPPS/SPDP ’98, IEEE Computer Society Press, 1998.

4. Aart J.C. Bik and Dennis B. Gannon, “A Prototype Bytecode Parallelization Tool (javab Manual)” 1998 ACM workshop on Java for High-performance Network Computing to appear in Concurrency, Practice and Experience.

5. Bryan Carpenter and Geoffrey Fox “HPspmd: Data Parallel SPMD Programming Models from Fortran to Java”, A proposal submitted to the National Science Foundation, in response to Advanced Computational Infrastructure and Research Programs, New Technologies Program. March, 1998. http://www.npac.syr.edu/projects/pcrc/doc

6. Bryan Carpenter, Geoffrey Fox, Xinying Li and Guansong Zhang, “A Draft Java Binding for MPI”. http://www.npac.syr.edu/projects/pcrc/doc

7. Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xiaoming Li, Xinying Li and Yuhong Wen, “Towards a Java Environment for SPMD Programming”, Submitted to Europar ’98.

8. Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li and Yuhong Wen, “HPJava: data parallel extensions to Java”, 1998 ACM workshop on Java for High-performance Network Computing to appear in Concurrency, Practice and Experience.

9. Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li and Yuhong Wen, “Language Bindings for a Data-Parallel Runtime”, 3rd International Workshop on High-level Parallel Programming Models and Supportive Environments, Orlando, Florida, IEEE Computer Society Press, 1998.

10. Jang Sun Lee, Sung Hoon Ko, Sanjay Ranka, and Byung Eui Min, “High-Performance External Computations Using User-Controllable I/O”, Proceedings IPPS/SPDP ’98, IEEE Computer Society Press, 1998.

H. Planned activities and milestones for the next reporting period

• Further work on interfaces to the kernel library. An earlier Fortran interface to the library was rewritten in the current reporting period. Work on Java and Fortran interfaces will continue. Work will start on a user-level Fortran interface styled after the GA interface, but providing access to PCRC functionality.

• Java preprocessor. Work will continue on a source-to-source preprocessor for the HPJava dialect of Java. This provides a high-level interface to the PCRC run-time (and, potentially, other similar libraries).

• Our Java interface to MPI (with test suite) will be released on the Web.

• Further refinement of the kernel runtime. HPF-2-style block-irregular distributions still have to be added. Benchmarking and optimization.

• Final release (in the time frame of this project) of the NPAC PCRC kernel software, and interfaces.

I. List of all equipment purchased during reporting period

None.

Program Financial Status

The table below provides information required by contract.

WORK BREAKDOWN STRUCTURE

CUMULATIVE TO DATE AT COMPLETION

ELEMENT Planned Expended Actual Expended Percent Completed

BAC LRE Remarks

CLIN 0001

Syracuse University 3,218,954 3,163,510

& subcontractors

TOTAL  3,218,954  3,163,510  98.28%

A. Is current funding sufficient for the current FY ? Yes.

B. What is the next Fiscal Year’s funding requirement at current anticipated levels ? No new funding required to complete remaining work as described in this report by June 30, 1998.

C. Have you included in the report any explanation of the above data and are they cross-referenced ? No.

\underline{Distr}\underline{ibution:}

ARPA/CSTO (2 org)

3701 N. Fairfax Drive Arlington, VA 22203-1714

ESC/PRK CODE: FA8718 (ltr only) 104 Barksdale Street Hanscom AFB, MA 01731-1806 Attn: Ms. Therese C. Pierce, ESC/PKRB