
\documentstyle[12 pt]{article}

\textheight=8.0in
\voffset=-0.5in
\textwidth=6.0in
\hoffset=-0.5in

\begin{document}

\title{\large \bf{Quarterly R\&D Status Report No. 14}\\
  \large \bf{Common Runtime Support for High Performance Languages}}

\author{\sf Period Covered \\
    \sf From: 1 October 1997 \\
    \sf To: 31 December 1997 \vspace{10mm} }

\date{\bf January 10, 1998}
    
\maketitle

\begin{center}
Prepared By \vspace{3mm} \\
Geoffrey C. Fox \\
Northeast Parallel Architectures Center \\
at Syracuse University \\
111 College Place \\
Syracuse, NY 13244-4100 \vspace{10mm} \\
Prepared For \vspace{3mm} \\
ESC/ENS \\
5 Eglin Street, Building 1704 \\
Hanscom AFB, MA 01731-2116 \\
Attn.: Mr. Harry Koch \vspace{10mm} \\
Sponsored By \vspace{3mm} \\
Advanced Research Projects Office/CSTO \\
\underline{Common Runtime Support for High Performance Parallel Languages}\\
ARPA Order No. B526 \\
Issued by ESC/ENS under contract \\
\# F19628-94-C-0057
\end{center}

\section*{Program Technical Status}

\subsection*{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
\begin{itemize}
\item
According to contractual agreement, an interim final report has been delivered.
\item
A release of the NPAC PCRC kernel software has been placed in
the public domain.  It is available from
\small
\begin{verbatim}
http://www.npac.syr.edu/projects/pcrc/July97/download.html
\end{verbatim}
\normalsize
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 {\em 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
\begin{itemize}
\item
IBM SP2
\item
DEC alpha cluster
\item
Sun Ultrasparc cluster
\item
SGI Challenge
\item
Beowulf cluster (LINUX)
\end{itemize}
The release package includes a test-suite for the kernel library, and
about 200 pages of documentation.

\item
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 data-parallel 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.

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

\item
Subcontractors at Texas are continuing the development of DAGH.

\item
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:
\begin{enumerate}
\item
The hierarchical nature of the problem requires solving subproblems
on subgroups of processors.
\item
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.
\end{enumerate}
The goal will be to demonstrate good overall performance and ease of
programming for a challenging application.

\item
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.
\end{itemize}

\subsection*{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.

\subsection*{C. Notifications of any changes in key personnel associated
with the contract during the reporting period}

No change during this reporting period.

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

\begin{itemize}
\item
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.
\end{itemize}
     
\subsection*{E. Summary of any problems or areas of concern on which
procuring activity or guidance is required}

None.

\subsection*{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.

\subsection*{G. Related accomplishments: i.e., scientific papers published,
etc.}

The following is a partial list of related reports/papers completed 
during this reporting period.
\begin{enumerate}

\item
Bryan Carpenter, Guansong Zhang and Yuhong Wen,
``NPAC PCRC Runtime Kernel Definition'', January 1998,\\
http://www.npac.syr.edu/projects/pcrc/July97/doc.html.

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

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

\item
Geoffrey C. Fox, editor, ``Java for Computational Science and
Engineering---Simulation and Modelling II'',
{\em Concurrency: Practice and Experience}, 9(11), November, 1997.

\item
Michal Cierniak and Wei Li,
``Just-In-Time Optimizations for High-Performance {Java} Programs'',
{\em Concurrency: Practice and Experience}, 9(11), November, 1997.

\item
Michal Cierniak and Suresh Srinivas,
``A portable browser for performance programming'',
to appear in {\em Concurrency: Practice and Experience}.

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

\item
A.J.C. Bik, F. Breg and D.B. Gannon,
``Compiler Support for {Java} Parallelization'',
to appear in {\em Compilers for Physics}, 1998.

\item
A.J.C. Bik and D.B. Gannon,
``A Note on Native Level 1 {BLAS} in {Java}'',
{\em Concurrency: Practice and Experience}, 9(11), November, 1997.

\item
A.J.C. Bik, J.E. Villacis and D.B. Gannon,
``{JAVAR}: a prototype {Java} restructuring compiler'',
{\em Concurrency: Practice and Experience}, 9(11), November, 1997.

\item
S. Bae and S. Ranka,
``Vector Reduction and Prefix on Coarse-Grained,
Distributed-Memory Parallel Machines'', submitted to IPPS '98.

\item
S. Bae and S. Ranka,
``Array Combining Scatter Functions on Coarse-Grained,
Distributed-Memory Parallel Machines'', submitted to IPPS '98.

\item
Ajita John and J.C. Browne,
``Compilation of Constraint Programs with Non-Cyclic and Cyclic
Dependencies to Procedural Parallel Programs'',
to appear in {\em Journal of Parallel and Distributed Systems}.

\item
Manish Parashar and J.C. Browne,
``A Common Data Management Infrastructure for Adaptive
Algorithms for {PDE} Solutions'',
{\em Supercomputing '97}, November, 1997.
\end{enumerate}

%@MISC{Java98,
%  KEY       = "Geoffrey C. Fox",
%  TITLE     = "{ACM} 1998 Workshop on {Java} for High-Performance
%               Network Computing",
%  NOTE      = "To be held at Palo Alto, California, February 28 and March 1,
%               1998.  URL: http://www.cs.ucsb.edu/conferences/java98"
%}


\subsection*{H. Planned activities and milestones for the next reporting
period}

\begin{itemize}
\item
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.

\item
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 {\em 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.

\item
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.

\item
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.

\item
We are investigating porting the NPAC runtime software to Windows NT.
\end{itemize}

\subsection*{I. List of all equipment purchased during reporting period}

None.

\pagebreak

\section*{Program Financial Status}


%Planned Expended:	3,218,954   unchanged
%
%Actual Expended:	2,992,051
%
%Percent Completed:	92.95%
%
%A & B on fiscal report page should be unchanged.  C only you can answer.
%
%any questions please ask


The table below provides information required by contract.

\vspace{5mm}

\small
\begin{tabular}{| c | c | c | c | c | c | c |} \hline
\begin{tabular}{c}
WORK BREAKDOWN \\ 
STRUCTURE 
\end{tabular} & \multicolumn{3}{c|}
                {CUMULATIVE TO DATE} & 
                \multicolumn{3}{c|}{AT COMPLETION} \\ \hline
ELEMENT & \begin{tabular}{c}
          Planned \\
          Expended
          \end{tabular} & \begin{tabular}{c}
                          Actual \\
                          Expended 
                          \end{tabular} & \begin{tabular}{c}
                          Percent \\
                          Completed
                          \end{tabular} & BAC & LRE & Remarks \\ \hline
        & & & & & & \\ \hline
CLIN 0001 & & & & & & \\ \hline
Syracuse University & 3,218,954 & 3,085,510 & & & & \\ \hline
 \& subcontractors & & & & &  & \\ \hline
        & & & & & & \\ \hline
        & & & & & & \\ \hline
        & & & & & & \\ \hline
TOTAL &  3,218,954 & 3,085,510 & 95.85\% & & & \\ \hline
\end{tabular}
\normalsize

\vspace{5mm}

\begin{itemize}
\item[A.] Is current funding sufficient for the current FY ?  ~~~Yes.

\item[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.

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

\end{itemize}

\vspace{5mm}

\begin{tabbing}
\underline{Distr}\=\underline{ibution:} \\
\> ARP\=A/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
\end{tabbing}

\end{document}

