
\documentstyle[twocolumn]{article}

\setlength{\oddsidemargin}{0in}
\setlength{\evensidemargin}{0in}
\setlength{\topmargin}{-0.3in}
\setlength{\headheight}{0in}
\setlength{\headsep}{0in}
\setlength{\textwidth}{6.5in}
\setlength{\textheight}{9.8in}
\setlength{\parindent}{0in}
\setlength{\parskip}{0.1in}

\begin{document}

\bf
\hfill Name:  $\underline{ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ }$
% \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
\rm
\bigskip
                                      
{\bf Directions:} Work on this sheet (both sides, if needed) only;
{\bf do not turn in any supplementary sheets of paper}.  There is actually
plenty of room for your answers, as long as you organize yourself
BEFORE starting writing.  In order to get full credit,
\large\bf
WRITE LEGIBLY
\normalsize\rm
($\infty$ points off for illegible handwriting!), and
\large\bf
SHOW YOUR WORK.  The earlier problems, and the earlier parts within each 
problem, are intended to be easier---MAKE SURE YOU WORK ON THEM FIRST!  
\normalsize\rm

{\bf 1.}  Answer the following questions about the MPI-FM paper:

\begin{itemize}

\item [(a)]  (10) Fill in the blank:  The name of the communication
protocol stack that FM replaces in MPI-FM is
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.

\item [(b)]  (15) Fill in the blanks with terms from the paper:  Suppose
we wish to send a message consisting of every, say, 12th word in memory
in a certain range.  The operation of forming such a message is called
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.  Its inverse operation is
called \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.

\item [(c)]  (10) Fill in the blanks with two words drawn from the set
(high, low, nested, overlap, latency, degree of layering,
bandwidth):  If we are sending very short messages, what is
most important to good performance is
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_
\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_.

\item [(d)]  (15) We have mentioned many times that networks of
workstations, being much cheaper, are highly attractive as an
alternative to specialized, costly hardware which is tailored to the
message-passing paradigm, such as hypercubes.  To date, though, doing
message passing, say using MPI, on networks of workstations, just cannot
compete with the high performance levels attained by specialized
hardware.  Yet the authors blame this gap on the software, not the
hardware.  Cite two passages from the paper in which the authors
say that (i) the problem does lie in the software and (ii) the
problem is not with the network hardware.

\item [(e)]   (15) In the third paragraph of p.13, the authors state that the
upcall may return a null value.  State the specific set of circumstances
which leads to this, and {\bf cite a specific passage in the paper
which describes these circumstances.}

\item [(f)]  (15) The authors concede that there is one aspect of FM
which fails to take full advantage of the Myrinet hardware.  Cite a
specific passage in the paper where this is discussed.

\end{itemize}

{\bf 2.}  (20) Write a MulSim implementation of the parallel version of
the shortest-path algorithm from our handout.  You will be required to
have and use the following global declarations:

\begin{verbatim}
int Dist[MAX_N],NonDone[MAX_N],N,LN;
\end{verbatim}

It is assumed that Dist is read from disk, which your code will not
show.  NonDone[I] will be equal to 1 if I is in our set ``NonDone''
in the pseudocode in the paper, 0 otherwise.

Assume that $N = 2^{LN}$.  Remember that the line ``find J...'' in the
pseudocode will be parallelized as a binary tree.  Use the following
relation:  Node I of the graph has as its children nodes 2I+1 and 2I+2.

\end{document}


