Quarterly R&D Status Report No. 13

Common Runtime Support for High Performance Languages

Period Covered From: 1 July 1997

To: 30 September 1997

October 9, 1997

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 submitted with the previous quarterly report. In particular

• A public domain release of the PCRC kernel software (developed at NPAC) is now expected in the next reporting period. The functionality of the kernel is essentially frozen and fully implemented. An initial package is available for use by project partners. The interface and implementation are currently being documented, prior to wider release. The final task before release will be to simplify the installation procedures, improving portability across platforms with diverse operating systems, MPI implementations, and compilers. A GNU-style configuration script is under development.

• The proposed Java interface to the kernel runtime is being actively developed. At Syracuse we are investigating a minimal set of extensions to the Java language to support data-parallel programming using distributed arrays plus the PCRC run-time functions. Besides its intrinsic value as a Java environment for parallel programming, the envisaged system can be viewed as a pilot study towards incorporation of similar extensions in more complex languages. This work comes under the umbrella of stage 2, item 4—Infrastructure supporting high-level SPMD, and stage 1, item 1g—Java interface, in the revised statement of work, submitted with the previous quarterly report. Some preliminary

reports are available at http://www.npac.syr.edu/projects/pcrc/HPJava/

Indiana have released their restructuring Java compiler, JAVAR.

• 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 have developed an MPI version of their algorithms for combining scatter. This version is link-compatible with the PCRC kernel developed at Syracuse. Syracuse has provided interface code so that these routines are now callable using the generic DAD array descriptors employed by the kernel library.

• Work continues on implementating the full HPF specification for parallel prefix and sorting operations (these are the only significant functions from the standard HPF library not implemented in our kernel library).

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

• Paper “PCRC-based HPF Compilation” presented at LCPC ’97 in Minnesota.

• Paper “Java as a Language for Scientific Parallel Programming” presented at LCPC ’97 in Minnesota.

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. Guansong Zhang, Bryan Carpenter, Geoffrey Fox, Xiaoming Li, Xinjing Li, Yuhong Wen, “PCRC-based HPF Compilation,” to appear in Lecture Notes in Computer Science.

2. Bryan Carpenter, Yuh-Jye Chang, Geoffrey Fox, et al, “Java as a Language for Scientific Parallel Programming,” to appear in Lecture Notes in Computer Science.

3. Sanjay Ranka, Hon W Yau, Kenneth A Hawick and Geoffrey C Fox, “High-Performance Fortran for SPMD programming: An Applications Overview,”

http://www.npac.syr.edu/hpfa/Papers/HPFforSPMD/ (HTML)
http://www.npac.syr.edu/hpfa/Papers/HPFforSPMD/HPFforSPMD.ps

(Postscript).

4. Guy Edjlali, Alan Sussman and Joel Saltz, “Interoperability of Data Parallel Runtime Libraries with Meta-Chaos,” University of Maryland Department of Computer Science technical report, CS-TR-3633 (1996).

5. Guy Edjlali, Alan Sussman and Joel Saltz, “Interoperability of Data Parallel Runtime Libraries,” Proceedings of the Eleventh International Parallel Processing Symposium, IEEE press (1997).

6. A.J.C. Bik, J.E. Villacis, and D.B. Gannon, “JAVAR: a prototype Java restructuring compiler,” 2nd Workshop on java for High Performance Computing. To appear in Concurrency, Practice and Experience.

7. Michal Cierniak and Wei Li. “Interprocedural Array Remapping,” To appear in Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (PACT ’97), San Francisco, CA, November 1997.

8. Mohammed Javeed Zaki, Wei Li, and Srinivasan Parthasarathy, “Customized Dynamic Load Balancing for a Network of Workstations,” to appear in the Journal of Parallel and Distributed Computing, special issue on Workstation Clusters and Network-based Computing (Performance Evaluation, Scheduling, and Fault-Tolerance), September 1997.

9. Seungjo Bae, Sanjay Ranka, “nplc tsc: Implementation of HPF Array Combining Scatter Functions by using Two-Stage Algorithm,”

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

10. Ravi V. Shankar and Sanjay Ranka. “Random Data Accesses on a Coarsegrained Parallel Machine I. One-to-one Mappings,” Journal of Parallel and Distributed Computing, July 1997, pp. 15-23.

11. Ravi V. Shankar and Sanjay Ranka. “Random Data Accesses on a Coarsegrained Parallel Machine II. One-to-many and Many-to-one Mappings.” Journal of Parallel and Distributed Computing, July 1997, pp. 24-34.

12. K. Alsabti and S. Ranka, “Integer Sorting Algorithms for Coarse-Grained Parallel Machines”, to appear in HiPC 1997.

13. A.J.C. Bik and D.B. Gannon, “Exploiting Implicit Parallelism in Java,” Concurrency, Practice and Experience, Volume 9(6): pages 579–619, 1997.

14. A.J.C. Bik and D.B. Gannon, “A Note on Native Level 1 BLAS in Java,” 2nd Workshop on Java for High Performance Computing. To appear in Concurrency, Practice and Experience.

15. M. Ranganathan, Anurag Acharya, Shamik Sharma and Joel Saltz “Network Aware Mobile Programs”, Proceedings of the USENIX 1997 Annual Technical Conference, Usenix Association (1997).

16. M. Ranganathan, Anurag Acharya and Joel Saltz, “Adapting to Bandwidth Variations in Wide-area Data Access”, University of Maryland Department of Computer Science technical report, in preparation (1997).

17. Anurag Acharya, M.Ranganathan and Joel Saltz, “Sumatra: A Language for Resource-aware Mobile Programs,” in Lecture Notes in Computer Science: Mobile Object Systems, eds J. Vitek and C. Tschudin, Springer-Verlag (1997).

18. Michal Cierniak and Wei Li. “Just-In-Time Optimizations for High-Performance Java Programs,” To appear in Concurrency: Practice and Experience.

19. Michal Cierniak, Wei Li and Mohammed Javeed Zaki, “Compile-time Scheduling Algorithms for Heterogeneous Network of Workstations,” To appear in The Computer Journal, 1997.

H. Planned activities and milestones for the next reporting period

• An interim final report will be delivered, as per contractual agreement.

• The documentation of the NPAC runtime kernel will be completed. (This is a substantial document. The current draft—around 120 pages—describes about half of the system.)

• The runtime kernel will be tested on various platforms (including PC operating systems). The installation scripts will be completed.

• The release of the kernel software will be made public.

• Java interface. A Java interface complementing the current C++ and Fortran interfaces will be produced. Work will start 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 much less ambitious than for HPF). As explained in section A, this work fits naturally in the revised work plan. It will exploit an existing infra-structure for Java compilation.

One product of this work will be a Java interface to MPI.

• Support for HPF-2-style block-irregular distributions will be added to the kernel runtime

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 2,992,051

& subcontractors

TOTAL  3,218,954  2,992,051  92.95%

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/ENK (ltr only) 5 Eglin Street Hanscom AFB, MA 01731-2116 Attn.: Mr. Dale V. Hawley