hide
Free keywords:
-
Abstract:
The {\em $\lambda$-approximate compaction} problem is: given an input
array of $n$ values, each
either 0 or 1, place each value in an output array so that all the 1's
are in the first $(1+\lambda)k$ array locations, where $k$ is the number of 1's
in the input. $\lambda$ is an accuracy parameter. This problem is
of fundamental importance in parallel
computation because of its applications to processor
allocation and approximate counting.
When $\lambda$ is a constant, the problem is called
{\em Linear Approximate Compaction} (LAC). On the CRCW PRAM model,
%there is an algorithm that solves approximate compaction in $\order{(\log\log n)^3}$
time for $\lambda = \frac{1}{\log\log n}$, using $\frac{n}{(\log\log
n)^3}$ processors. Our main result shows that this is close to the
best possible. Specifically, we prove that LAC requires
%$\Omega(\log\log n)$ time using $\order{n}$ processors.
We also give a tradeoff between $\lambda$
and the processing time. For $\epsilon < 1$, and $\lambda =
n^{\epsilon}$, the time required is $\Omega(\log \frac{1}{\epsilon})$.