\documentclass[10pt]{article}
\pagestyle{empty}
\usepackage{a4wide}
\newcommand{\todo}[1]{{\bf ToDo: #1}}
\begin{document}

\thispagestyle{empty}

\section*{Workpackage 9: Prototyping}

\subsection*{Objectives}

Prototypes can be can be constructed quickly in parallel functional
languages because they describe parallel coordination at a high level
of abstraction and directly support many of the underlying concepts,
including higher-order functions and polymorphism. The high level of
abstraction has an implementation cost, and implies that the
functional skeletons will not be as efficient as the instantiation
constructed in WP4. Instead fast construction will enable alternative
parallel versions of the proposed skeletons to be prototyped, and the
quick delivery of a prototype skeleton library.

\begin{itemize}
\item To prototype alternative coordination behaviours as part of the
skeleton standardisation process.
\item 
% After reading the ICFP'99 paper "Calling hell from heaven and heaven
% from hell", see Simon PJ page,
% I believe that our library could perhaps be encapsulated as a COM object.
To quickly deliver a prototype
instantiation of the standard skeleton library, and subsequent
versions.
\end{itemize}

\subsection*{Description of Work}

A skeleton has both computational and coordination components, and
often alternative coordination behaviours are possible, e.g. a
parallel map may be data parallel, or a task farm. There are also
lower-level alternatives, e.g. should workers on the task farm
pre-fetch tasks, and if so should the number be controlled by a
parameter?

The first objective of this workpackage is to aid the
standardisation process by exploring alternative coordination
behaviours for the skeletons. The prototypes will be constructed
relatively quickly in Eden, a parallel extension of the standard
Haskell non-strict functional language. Alternative Eden skeleton
implementations can be measured and compared on our Beowulf and
Sun SMP platforms (Deliverable 1).

Because the skeletons can be quickly developed in Eden, a prototype
version of the standard skeleton library can be delivered early to
users.  This library can be used from any host language given an
appropriate interface, and we will provide a C interface and wrap the
library as a COM object (Deliverable 2).

\subsection*{Deliverables}
\begin{enumerate}
\item A report evaluating alternative coordination behaviours
for  the standard skeletons.
\item An accessible Eden prototype of the standard skeleton library.
\end{enumerate}

\subsection*{Milestones and Expected Results}

The prototyping will start once the first draft specification of the
skeletons library exists (6 months from beginning), and will be
completed 10 months later. The report on alternative coordination
behaviours will be provided at this time. Constructing the C interface
and COM wrapper for the prototype standard library will require an
additional 2 months. Once the prototype library is complete,
applications using it can be tested.

\end{document}
