posted on 1977-01-01, 00:00authored byGuy E. Blelloch, Margaret Reid-Miller
We present parallel algorithms for union, intersection and
difference on ordered sets using random balanced binary
trees (treaps [26]). For two sets of size n and m (m ≤ n) the
algorithms run in expected O(mlg(n=m)) work and O(lg n)
depth (parallel time) on an EREW PRAM with scan operations
(implying O(lg2 n) depth on a plain EREW PRAM).
As with the sequential algorithms on treaps for insertion
and deletion, the main advantage of our algorithms are their
simplicity. In fact, our algorithms for set operations seem
simpler than previous sequential algorithms with the same
work bounds, and might therefore also be useful in a sequential
context. To analyze the effectiveness of the algorithms
we implemented both sequential and parallel versions of the
algorithms and ran several experiments on them. Our parallel
implementation uses the Cilk [5] shared memory runtime
system on a 16 processor SGI Power Challenge and a
6 processor Sun Ultra Enterprise 3000. It shows reasonable
speedup: 6.3 to 6.8 speedup on 8 processors of the SGI, and
4.1 to 4.4 speedup on 5 processors of the Sun.