Quarterly R&D Status Report No. 14

Common Runtime Support for High Performance Languages

Period Covered From: 1 October 1997 To: 31 December 1997

January 10, 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

Work continues according to the revised statement of work. In particular

• According to contractual agreement, an interim final report has been delivered.

• A release of the NPAC PCRC kernel software has been placed in the public domain. It is available from

http://www.npac.syr.edu/projects/pcrc/July97/download.html

The package consists of a C++ library implementing a standard distributed array descriptor (DAD) for HPF-style regular distributed arrays, together with a comprehensive family of communication schedules for moving and transforming arrays described by the kernel DAD.

The array mapping options supported by the kernel DAD include all distribution formats and alignment options required by HPF 1.0. Further distribution formats can be incorporated by extending the class hierarchy of distributed range descriptors within the DAD structure. The communication schedules include all regular array remapping functions needed to implement HPF array assignment and dynamic redistribution and realignment, and direct support for essentially all the transformational array intrinsic functions of Fortran 90. The library also includes support for irregular communication through general gather and scatter operations.

The library is implemented on top of MPI. It is installed using a GNU-style configuration script. It has been tested on various platforms, including

– IBM SP2

– DEC alpha cluster

– Sun Ultrasparc cluster

– SGI Challenge

– Beowulf cluster (LINUX)

The release package includes a test-suite for the kernel library, and about 200 pages of documentation.

• Development of the new Java interface to the common runtime kernel continues. Completion is expected early in the next reporting period (January-February, ’98). We have mooted a set of language extensions to Java for SPMD dataparallel programming, via suitable high-level language bindings to the DAD and transformational functions of our library. A paper describing these extensions has been submitted to the 1998 ACM workshop on Java for High-performance Network Computing.

A paper describing similar SPMD extensions to Fortran has been accepted for the 3rd International Workshop on High-level Parallel Programming Models and Supportive Environments.

• 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 Universtiy of Florida subcontractors are now looking at parallel classification codes using the PCRC kernel software. This application has several features that make it interesting:

1. The hierarchical nature of the problem requires solving subproblems on subgroups of processors.

2. Each internal node of the hierarchical tree structure is essentially data parallel in nature. However, it requires structured and unstructured data accesses, combining gather/scatter functions and pack/unpack operations.

The goal will be to demonstrate good overall performance and ease of programming for a challenging application.

• Subcontractors at Indiana are working on IIOP and Nexus links between HPC++, Java, CORBA and object encapsulated HPF and Fortran with MPI. They will extend IDL to support parallel streams in Java along the lines of their work on PARDIS, and attempt to extend the Java Beans and Java Studio Component model to allow them to build components from HPC++, CORBA, HPF or 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

• Distribution of project reports and demonstration of library software, including the new Java interface, as part of CRPC exhibits at Supercomputing ’97, November 17-20, 1997.

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. Bryan Carpenter, Guansong Zhang and Yuhong Wen, “NPAC PCRC Runtime Kernel Definition”, January 1998, http://www.npac.syr.edu/projects/pcrc/July97/doc.html.

2. Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li and Yuhong Wen, “Language Bindings for a Data-Parallel Runtime”, to be presented at the 3rd International Workshop on High-level Parallel Programming Models and Supportive Environments, Orlando, Florida, March 30-April 3, 1998.

3. Bryan Carpenter, Guansong Zhang, Geoffrey Fox, Xinying Li and Yuhong Wen, “HPJava: data parallel extensions to Java” submitted to the 1998 ACM workshop on Java for High-performance Network Computing, http://www.npac.syr.edu/projects/pcrc/July97/doc.html

4. Geoffrey C. Fox, editor, “Java for Computational Science and Engineering— Simulation and Modelling II”, Concurrency: Practice and Experience, 9(11), November, 1997.

5. Michal Cierniak and Wei Li, “Just-In-Time Optimizations for High-Performance Java Programs”, Concurrency: Practice and Experience, 9(11), November, 1997.

6. Michal Cierniak and Suresh Srinivas, “A portable browser for performance programming”, to appear in Concurrency: Practice and Experience.

7. Mohammed Javeed Zaki, Srinivasan Parthasarathy, Mitsunori Ogihara and Wei Li, “New Parallel Algorithms for Fast Discovery of Association Rules”, to appear in Data Mining and Knowledge Discovery: An International Journal, special issue on Scalable High-Performance Computing for KDD, late 1997.

8. A.J.C. Bik, F. Breg and D.B. Gannon, “Compiler Support for Java Parallelization”, to appear in Compilers for Physics, 1998.

9. A.J.C. Bik and D.B. Gannon, “A Note on Native Level 1 BLAS in Java”, Concurrency: Practice and Experience, 9(11), November, 1997.

10. A.J.C. Bik, J.E. Villacis and D.B. Gannon, “JAVAR: a prototype Java restructuring compiler”, Concurrency: Practice and Experience, 9(11), November, 1997.

11. S. Bae and S. Ranka, “Vector Reduction and Prefix on Coarse-Grained, Distributed-Memory Parallel Machines”, submitted to IPPS ’98.

12. S. Bae and S. Ranka, “Array Combining Scatter Functions on Coarse-Grained, Distributed-Memory Parallel Machines”, submitted to IPPS ’98.

13. Ajita John and J.C. Browne, “Compilation of Constraint Programs with Non-Cyclic and Cyclic Dependencies to Procedural Parallel Programs”, to appear in Journal of Parallel and Distributed Systems.

14. Manish Parashar and J.C. Browne, “A Common Data Management Infrastructure for Adaptive Algorithms for PDE Solutions”, Supercomputing ’97, November, 1997.

H. Planned activities and milestones for the next reporting period

• Completion of various interfaces to the kernel library. The new release of the NPAC library includes the kernel code and an exemplar C++ user-level interface. The Fortran and Java compiler-level interfaces are partially implemented. They will now be completed and documented to the same level as the kernel library.

• Java preprocessor. Work will continue on a source-to-source preprocessor for a minimally extended Java dialect, providing a high-level interface to the PCRC run-time (this can be seen as a new compiler targetting the run-time—an HPJava—although the scope of this work is less ambitious than for HPF). This work fits naturally in the revised work plan. It will exploit an existing infra-structure for Java compilation.

• One by-product of this work will be a Java interface to MPI. This work is in progress, with wrapper code to more than half of the functions in the MPI standard completed. We will produce a Java/MPI test suite.

• Further refinement of the kernel runtime. In particular, support for HPF-2-style block-irregular distributions will be added to the kernel runtime.

Further benchmarking and optimization.

• We are investigating porting the NPAC runtime software to Windows NT.

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,085,510

& subcontractors

TOTAL  3,218,954  3,085,510  95.85%

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