\section{Conclusion}
\vspace {-1.0pc}

Whether fine-grain multithreading becomes a truly useful compiling
discipline for distributed memory parallel processors depends upon
many factors. In this paper, we have at least shown how the technique
influences local memory reference behavior in two different
parallelism regimes --- loop-based parallelism and recursive tree-like
parallelism. Surprisingly, we discovered that the reference streams
could be characterized by a working set function which is similar to
those associated with uniprocessor, single threaded programs. By using
this working set function as a basis for an analytic model of cache
behavior, we were able to derive a set of useful relations that
accurately predict frame and instruction cache miss ratios.

It seems to us that the most important areas of future research lie in
understanding the tradeoffs in scheduling ready-to-run data threads.
While we have explored very simple LIFO and FIFO strategies, there is
a very rich space of possible structures. Our belief is that perhaps
the best scheduling algorithms could be generated by the compiler as
part of the code generation process itself. Overall, we are encouraged
that a fine-grain multithreading compiling discipline is compatible
with the local memory organizations of future generations of high
performance microprocessors.


