Home

Scans as primitive parallel operations


Author(s) : Guy E. Blelloch, 
Publisher : N/A
Publication Date : 1989
ISSN : N/A
Abstract : In most parallel random-access machine (P-RAM) models, memory references are assumed to take unit time. In practice, and in theory, certain scan operations, also known as prefix computations, can executed in no more time than these parallel memory references. This paper outline an extensive study of the effect of including in the P-RAM models, such scan operations as unit-time primitives. The study concludes that the primitives improve the asymptotic running time of many algorithms by an O(lg n) factor, greatly simplify the description of many algorithms, and are significantly easier to implement than memory references. We therefore argue that the algorithm designer should feel free to use these operations as if they were as cheap as a memory reference. This paper describes five algorithms that clearly illustrate how the scan primitives can be used in algorithm design: a radix-sort algorithm, a quicksort algorithm, a minimumspanning-tree algorithm, a line-drawing algorithm and a merging algorithm. These all run on an EREW P-RAM with the addition of two scan primitives, and are either simpler or more efficient than their pure P-RAM counterparts. The scan primitives have been implemented in microcode on the Connection Machine System, are available in PARIS (the parallel instruction set of the machine), and are used in a large number of applications. All five algorithms have been tested, and the radix-sort is the currently supported sorting algorithm for the Connection Machine.,