• DocumentCode
    886086
  • Title

    Scans as primitive parallel operations

  • Author

    Blelloch, Guy E.

  • Author_Institution
    Sch. of Comput. Sci., Carnegie Mellon Univ., Pittsburgh, PA, USA
  • Volume
    38
  • Issue
    11
  • fYear
    1989
  • fDate
    11/1/1989 12:00:00 AM
  • Firstpage
    1526
  • Lastpage
    1538
  • Abstract
    A study of the effects of adding two scan primitives as unit-time primitives to PRAM (parallel random access machine) models is presented. It is shown that the primitives improve the asymptotic running time of many algorithms by an O(log n) factor, greatly simplifying the description of many algorithms, and are significantly easier to implement than memory references. It is argued that the algorithm designer should feel free to use these operations as if they were as cheap as a memory reference. The author describes five algorithms that clearly illustrate how the scan primitives can be used in algorithm design: a radix-sort algorithm, a quicksort algorithm, a minimum-spanning-tree algorithm, a line-drawing algorithm, and a merging algorithm. These all run on an EREW (exclusive read, exclusive write) PRAM with the addition of two scan primitives and are either simpler or more efficient than their pure PRAM 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)
  • Keywords
    computational complexity; instruction sets; parallel algorithms; parallel programming; search problems; sorting; Connection Machine system; EREW PRAM; O(log n) factor; PARIS; algorithm design; line-drawing algorithm; memory references; merging algorithm; minimum-spanning-tree algorithm; parallel instruction set; parallel random access machine; quicksort algorithm; radix-sort algorithm; scan primitives; unit-time primitives; Algorithm design and analysis; Artificial intelligence; Concurrent computing; Hardware; Merging; Parallel algorithms; Phase change random access memory; Read-write memory; Sorting; Testing;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/12.42122
  • Filename
    42122