
\documentstyle[psfig]{book}


\begin{document}


\chapter{Research Summary}

\section{Research Accomplishments} \label{Research-Accomplishments}

\subsection{Fortran Parallel Programming Systems}

\begin{description}


\item
{\bf WebFlow: Programming with the Web.}
Our research in this area addresses needs for high level programming
environments and tools to support distance computing on heterogeneous
distributed commodity platforms and high-speed networks, spanning
across labs and facilities. More specifically, we are developing
WebFlow---a scalable, high level, commodity standards based HPDC system
that integrates: high-level front-ends for visual programming (in Tier
1), distributed object-based, scalable, and reusable Web server and
Object broker Middleware (in Tier 2), and a high performance backend
implemented using the metacomputing toolkit of  GLOBUS (Tier 3).

We demonstrated an early prototype of WebFlow at Supercomputing '97. In
this demo, using our Web interface, we run an HPF application
encapuslated as a WebFlow module. In addition, we integrated WebFlow
with the DARP system which allowed us to extract data from the HPF
application on-the-fly, without any modification of ther original code,
and visualize them using other WebFlow modules at runtime. During the
Alliance'98 meeting, we used WebFlow as a high level user interface to
Globus: the click-drag-and-drop methapor was used to create a network
of computational modules, and to distribute it over nodes of the
virtual metacomputer.

\item
{\bf Common runtime support for parallel languages (PCRC).}
Syracuse have delivered the NPAC kernel runtime, a C++ class
library implemented on top of the standard Message Passing Interface,
MPI.  Classes in the library implement a Distributed Array Descriptor
(DAD) that supports all HPF distribution formats and alignment
options, and the library provides an extensive set of collective data
movement routines and collective array arithmetic routines.  
%The kernel
%library has interface code making it callable from Fortran 90, Fortran
%77, C++ and Java.  
In collaboration with the University of Peking and
Harbin institute of Technology, Syracuse developed a research HPF
compiler that uses the NPAC library to manage array access and
communication.  The library is also being used as a foundation of the
{\em HPJava} programming environment.
%As part of the PCRC
%collaboration Maryland developed the Meta-Chaos library for
%transferring data between distributed arrays created in diverse
%environments, and also worked on mobility of Java programs in the
%context of an extended language called Sumatra.
%PCRC provided early support for the ongoing Java Grande process.
%The PCRC project formally ended on June 30, 1998.


\item
{\bf {\em HPJava}: a Java environment for parallel programming.}
Syracuse are developing a Java environment for distributed-memory
SPMD parallel computing called {\em HPJava}.  This will eventually
contain Java bindings for distributed-array-oriented libraries,
general MIMD programming libraries, and a preprocessor for an extended
dialect of Java.  The HPJava language model was motivated by work on
HPF during in the PCRC project---it captures the HPF
distributed array model in special syntax, but assumes that the
programmer directly calls high-level runtime functions for
communication and array manipulation.
%---functions originally developed
%to support HPF translation.
%Calling these routines explicitly is
%tedious in standard languages, but much less so if distributed
%arrays are integrated into the language,
%Thus HPJava programming sits at an intermediate level between HPF and
%low-level MPI programming.
In the last year the HPJava language definition has been devised, work
on the translator has commenced, and Java bindings of suitable runtime
functions have been implemented.  The first useable component of the
HPJava environment is the {\em mpiJava} binding of MPI, which was
recently released.

\item
{\bf Java Grande Forum.}
The Java Grande Forum is a group of academic and industrial partners
aiming to promote Java standards for communication and compute
intensive applications.  The process was initiated after a series of
successful workshops on Java for Computational Science and
%Engineering---held at Syracuse, Las Vegas and Palo Alto---demon\-str\-ated
Engineering demon\-str\-ated
a broad community interest in the area.
The stated goal of the Java Grande Forum is to develop community
consensus and recommendations for either changes to Java or
establishment of standards (frameworks) for Grande libraries and
services.  These language changes or frameworks are designed to realize
the {\em best ever} Grande programming environment.

See http://www.npac.syr.edu/javagrande/charterindex.html.

Highlights of the last year include creation of the Java Grande
Forum, three meetings of the forum in Palo Alto, a Birds of a
Feather meeting at JavaOne, and delivery of a Java Grande Forum Charter
document.

%\end{list}
\end{description}

\section{Research Plan}

\subsection{Fortran Parallel Programming Systems}

\begin{description}

\item
{\bf WebFlow: Programming with the Web.}
The first experience using the system are very encouraging.
Nevertheless the system requires many improvements we want to address
in the next phases of the project. The plans for the next year include
implementation of a more robust and user friendly front-end, addressing
security issues adequatly,  providing  support for a high performance data
transfer and QoS networking (using  Globus mechanisms, in particular GASS
services), and upgrading  the middle-tier by employing industry standard
distributed object technologies (such as CORBA).


\item
{\bf {\em HPJava}: a Java environment for parallel programming.}
An initial version of the HPJava translator will be completed.  Various
applications will be implemented in the new environment.  We will
investigate making HPJava bindings to various established parallel
programming libraries.  The mpiJava interface will be extended to
incorporate object serialization.

%\end{list}
\end{description}

\end{document}

