\section{Conclusions}
\label{section: conc}

In this paper we have presented the first analysis of diffracting 
trees capable of addressing critical design issues. We have 
identified four ranges of $P$ for which 
% fixed Ref A #11
there are
specific performance bounds.

\begin{itemize} 
\item
If $ {{P}\over{dL}}=O(1)$ and  $L\leq 2^d$,
then the throughput of the system is optimal and the expected latency is 
$O(d)$, which is optimal up to a constant factor.
\item
As $P$ gets smaller, the diffracting probability decreases, and the
performance degrades, reaching a formerly unnoticed local maxima in
latency at about $P = d\sqrt{L}$, where the latency is $O(d\sqrt{L})$.
\item
For even smaller values of $P$, processor advancement is mainly due
to the toggle bits. Thus when $P=o(d\sqrt{L})$, the expected
latency is ${\rm MAX}[P,d]$.
\item
When {\tt work}$=O(1)$ and $P$ is substantially larger than
$dL$, the expected throughput is $L-o(L)$ and if $L<2^d$ then the
expected latency is $P\over L$ which is the best one can expect
considering the contention on a prism cell. If $L>2^d$ the main
congestion is in the counters. In both cases the performance is less
than optimal.
\end{itemize}
Finally, our model shows that when $P=O(dL)$, which is the optimal range,
the contention in the tree is low: the expected
number of processors trying to access a prism cell simultaneously
is $O(1)$, and with high probability no more than $\log L$ processors
try to reach the same cell simultaneously. 

We strongly believe our model and modeling approach pave the way to
steady-state combinatorial analysis of other distributed-parallel data
structures such as counting networks and other diffracting tree based
data structures such as elimination trees \cite{ST}, pools \cite{ST},
priority queues, and so on.
