\section{Future Work}
\label{sec-future}

There are a number of possible extensions to this work. The
annotations described here suffer from some limitation imposed by the
Charlotte \texttt{parbegin()}/\texttt{parend()} structure. In
particular, it is awkward to use more than one routine per
\texttt{Droutine} object and, hence, annotating such  routines is
difficult, too. We are currently investigating a different syntactic
approach for both Charlotte and Calypso (a page-based DSM system
\cite{BarDasKed:Calypso}). Studying the applicability of such
annotations to Calypso is under way. 


Also, the annotation techniques proposed here should be studied
with some more elaborate examples to establish the difficulty of
writing the annotations. The biggest improvement is to be expected for
programs that show regular data-access behavior. But since annotated
and pure DSM objects can be freely mixed, even programs with more
difficult structures should be manageable (e.g., with speculative
annotations). 

This can be extended by studying the impact
of problem size and communication/computation ratio on the relative
performance of these optimizations. Generating the annotations by a
compiler-based data-flow analysis would also be most interesting. 

Overlapping computation with computation is an orthogonal
issue. Coordinated execution of multiple workers within one browser is
an obvious approach to this problem.% \marginpar{is this wise?}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "frame"
%%% End: 
