\noindent
{\bf\Large Running Title: Comparing Multithreaded and Data Parallel Versions of an Ocean Model}

\vspace{1in}

\noindent
{\bf Please send proofs to:}\\

\noindent
Prof.~ Arvind\\
545 Technology Square, Room 210\\
Cambridge, MA 02139\\
phone: (617) 253-6090\\
fax:   (617) 253-6652\\

\vspace{1cm}

\begin{center}
{\bf\large Abstract}\\
\end{center}

\noindent We present a state-of-the-art general circulation model (GCM),
which has been used to model oceans, and develop and compare two
implementations of it.  One implementation is written in the implicitly
parallel functional language Id for the multithreaded Monsoon dataflow
machine, while the other is written in a data parallel Fortran dialect for
the CM-5.  The multithreading model is more expressive than the data
parallel model, so a goal of this study is to understand the performance
penalties of multithreaded execution, if any.  In order to avoid technology
and machine configuration issues, the two implementations are compared in
terms of overhead cycles per required floating point operation.  The static
nature of the data might be expected to favor the data parallel
implementation.  However, it turns out that both implementations have
similar efficiency in geometries typical of ocean basins at spatial
resolutions employed in ocean modeling.  The inefficiency in the data
parallel approach arises from unnecessary calculations done on land zones,
while the inefficiency in the multithreaded approach arises from overhead
due to the exploitation of asynchronous fine-grain parallelism.

\newpage
