## Parallel Solutions to Geometric Problems in the Scan Model of Computation (1994)

Venue: | IN PROCEEDINGS INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING |

Citations: | 22 - 8 self |

### BibTeX

@INPROCEEDINGS{Little94parallelsolutions,

author = {James J. Little and Guy E. Blelloch},

title = {Parallel Solutions to Geometric Problems in the Scan Model of Computation},

booktitle = {IN PROCEEDINGS INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING},

year = {1994},

pages = {218--222},

publisher = {}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper describes several parallel algorithms that solve geometric problems. The algorithms are based on a vector model of computation---the scan-model. The purpose of this paper is both to show how the model can be used and to formulate a set of practical algorithms. The scan-model is based on a small set of operations on vectors of atomic values. It differs from the P-RAM models both in that it includes a set of scan primitives, also called parallel prefix computations, and in that it is a strictly data-parallel model. A very useful abstraction in the scan-model is the segment abstraction, the subdivision of a vector into a collection of independent smaller vectors. The segment abstraction permits a clean formulation of divide-and-conquer algorithms, and is used heavily in the algorithms described in this paper. Within the scan-model, using the operations and routines defined, the paper describes a k-D tree algorithm requiring O(lg n) calls to the primitives for n points, a closes...

### Citations

1228 |
Multidimensional binary search trees used for associative searching
- Bentley
- 1975
(Show Context)
Citation Context ...nates---so the vector [(3, 6) (4, 5) (9, 7)] represents the three points (3, 6), (4, 5) and (9, 7). At the primitive level such a structure vector would be implemented with two vectors ([3, 4, 9] and =-=[6, 5, 7]-=-) but a higher level language could support vectors of record-like elements each with some constant number of components, and them map this onto multiple vectors. 2.1 Segments A segmented vector is a ... |

640 | An algo rithm for finding best matches in logarithmic expected time
- Friedman, Bentley, et al.
- 1977
(Show Context)
Citation Context ...d only examine regions they cross. This can greatly reduce the number of objects that each ray must examine. k-D trees are also used in many proximity algorithms such as the all-closest-pairs problem =-=[20]-=- or the closest-pair problem (see Section 5). k-D trees have also been suggested for use in some machine-learning algorithms [27]. The algorithm described here is a parallel version of a standard seri... |

291 | Parallel merge sort
- Cole
- 1986
(Show Context)
Citation Context ...REW) P-RAM model [1, 4]. Both the k-D tree algorithm and the third convex-hull algorithm require sorting as a substep. The paper therefore shows how to implement the CREW version of Cole's merge sort =-=[14]-=- in the scan-model with S(n) = O(lg n) and E(n) = O(n lg n). Most of the algorithms described in this paper have been implemented on the Connection Machine (Cole's merge sort and the second convex-hul... |

281 | Parallel prefix computation
- Ladner, Fischer
- 1980
(Show Context)
Citation Context ...o not receive any value; and a selection vector, which masks out certain elements so that they do not permute. The scan primitives execute a scan operation, also called an all-prefix-sums computation =-=[24]-=-, on a vector. The scan operation takes a binary associative operator \Phi, with identity I \Phi , and a vector [a 0 ; a 1 ; :::; a n\Gamma1 ] of n elements, and returns the vector [I \Phi ; a 0 ; (a ... |

247 | The parallel evaluation of general arithmetic expressions
- Brent
- 1974
(Show Context)
Citation Context ...tion (an exclusive read or write on a P-RAM) takes "constant-time", then it is reasonable to also assume that the scan takes "unit-time". It is not hard to show, based on Brent's s=-=cheduling principle [12]-=-, that any scan-model algorithm with element complexity E(n) and step complexity S(n) can be simulated on a pure EREW P-RAM in time O(E(n)=p + S(n) lg p) [9]. If the P-RAM has a scan primitive [8], th... |

224 |
A Taxonomy of Problems with Fast Parallel Algorithms
- Cook
- 1985
(Show Context)
Citation Context ...ipulated in each step. The two complexities can be thought of as the parallel and serial complexities, respectively, and are analogous to the depth and size complexities in the boolean circuit models =-=[35, 11, 17]-=-. To guarantee that the primitives run in reasonable times, and to put useful bounds on simulating them within other models, two restrictions are placed on them. First, it is required that all vector ... |

189 |
Computer processing of line-drawing images
- Freeman
- 1974
(Show Context)
Citation Context ...ably the most studied problem in computational geometry, both because it is a simple problem, making it easy to study, and because it has many applications---applications range from computer graphics =-=[19]-=- to statistics [22]. Parallel Solutions to Geometric Problems - Scan Model 34 This section describes three scan-model based algorithms for determining the convex hull of a set of points. The first two... |

164 | Scans as primitive parallel operations - Blelloch - 1989 |

97 | On relating time and space to size and depth
- Borodin
- 1977
(Show Context)
Citation Context ...ipulated in each step. The two complexities can be thought of as the parallel and serial complexities, respectively, and are analogous to the depth and size complexities in the boolean circuit models =-=[35, 11, 17]-=-. To guarantee that the primitives run in reasonable times, and to put useful bounds on simulating them within other models, two restrictions are placed on them. First, it is required that all vector ... |

87 |
Efficient algorithms with neural net work behavior
- Omohundro
- 1987
(Show Context)
Citation Context ... n points in a k-dimensional space into n regions each with a single point. The k-D tree technique is used as a subroutine in a number of applications ranging from image rendering to machine learning =-=[27]-=-. For n points, the algorithm described has complexities S(n) = O(k lg n) and E(n) = O(kn lg n). Based on the k-D tree algorithm, we describe a two-dimensional closest-pair algorithm. The twodimension... |

76 |
Finding the maximum, merging, and sorting in a parallel computation model
- SHILOACH, VISHKIN
- 1981
(Show Context)
Citation Context ...algorithms. The Model Researchers have suggested several synchronous parallel models of computation. The most popular of these models are the parallel random access machine (P-RAM) and related models =-=[18, 34, 21]-=-. A P-RAM consists of a set of processors (random access machines) attached to a single shared memory. Processors communicate through the shared memory: one processor can write a value into the memory... |

62 |
Cascading divide-andconquer: a technique for designing parallel algorithms
- Atallah, Cole, et al.
- 1989
(Show Context)
Citation Context ...x and y coordinates---so the vector [(3, 6) (4, 5) (9, 7)] represents the three points (3, 6), (4, 5) and (9, 7). At the primitive level such a structure vector would be implemented with two vectors (=-=[3, 4, 9]-=- and [6, 5, 7]) but a higher level language could support vectors of record-like elements each with some constant number of components, and them map this onto multiple vectors. 2.1 Segments A segmente... |

59 |
Deterministic coin tossing and accelerating cascades: Micro and macro techniques for designing parallel algorithms
- Cole, Vishkin
- 1986
(Show Context)
Citation Context ...se running time of a sequential RAM algorithm, and if E(n) = Seq(n), then we say the algorithm has optimal speed-up. This is analogous to the notion of optimal speed-up as defined for the P-RAM model =-=[16]-=-. The scan-model is a V-RAM with three classes of primitive instructions: elementwise arithmetic and logical operations, permutation operations, and scan operations. All these primitives satisfy the a... |

50 |
Computational Geometry|An Introduction
- Preparata, Shamos
- 1985
(Show Context)
Citation Context ...st-pair problem (see Section 5). k-D trees have also been suggested for use in some machine-learning algorithms [27]. The algorithm described here is a parallel version of a standard serial algorithm =-=[30]-=-. For n points, our algorithm has complexities S(n) = O(k lg n) and E(n) = O(kn lg n). Our algorithm consists of one step per split. For each step, S(n) = O(k). Before executing any steps, the algorit... |

39 | Scan primitives for vector computers
- Chatterjee, Blelloch, et al.
- 1990
(Show Context)
Citation Context ...allel computers, they can be efficiently implemented on vector processors or single instruction parallel computers. A language based on the VRAM model, VCODE [10], has been implemented on a CRAY Y-MP =-=[13]-=- and on the Connection Machine [9]. It is also easy to include a more practical set of primitives in the V-RAM model. For example, one might include merging two ordered sequences into a single ordered... |

33 | V-Code: A Data-Parallel Intermediate Language. Frontiers of Massively Parallel Computation - Blelloch, Chatterjee - 1990 |

31 | A characterization of the power of vector machines
- PRATT, STOCKMEYER
- 1976
(Show Context)
Citation Context ...nput of size n, the element complexity will be denoted as E(n) and the number of program steps as S(n). The V-RAM models are variants of the bit-vector machine model suggested by Pratt and Stockmeyer =-=[29]. The main-=- difference is that in a V-RAM each element of a vector is a "word" of data instead of a single bit, and that V-RAM models include the element complexity, therefore avoiding the P=NP problem... |

30 |
A universal interconnection pattern for parallel computers
- GOLDSCHLAGER
- 1982
(Show Context)
Citation Context ...algorithms. The Model Researchers have suggested several synchronous parallel models of computation. The most popular of these models are the parallel random access machine (P-RAM) and related models =-=[18, 34, 21]-=-. A P-RAM consists of a set of processors (random access machines) attached to a single shared memory. Processors communicate through the shared memory: one processor can write a value into the memory... |

28 |
Ecient parallel convex hull algorithms
- Miller, Stout
- 1988
(Show Context)
Citation Context ...(lg n) and an element complexity of O(n lg n). The algorithm has optimal speed-up. Miller and Stout have shown an exclusive-read exclusivewrite (EREW) convex-hull algorithm with an O(lg n) complexity =-=[25]-=-. Our algorithm, however, is simpler, and the binary search technique it uses is interesting on its own. We begin by reviewing the CREW algorithm. The algorithm sorts the points according Parallel Sol... |

24 |
Ecient parallel solutions to some geometric problems
- Atallah, Goodrich
- 1986
(Show Context)
Citation Context ...omplicated and probably less practical, but has optimal speed-up: E(n) = O(n lg n). This algorithm is based on a parallel algorithm designed for the concurrent read exclusive write (CREW) P-RAM model =-=[1, 4]-=-. Both the k-D tree algorithm and the third convex-hull algorithm require sorting as a substep. The paper therefore shows how to implement the CREW version of Cole's merge sort [14] in the scan-model ... |

24 | Optimal randomized parallel algorithms for computational geometry, in
- Reif, Sen
- 1987
(Show Context)
Citation Context ...he effect of including other operations as primitives. The inclusion of a merge primitive, for example, could greatly simplify the construction and manipulation of the plane-sweep tree data structure =-=[3, 1, 5, 31]-=-. It is also possible to argue that on feasible hardware models, a merge primitive can be as efficient as a read or write to a global shared memory. We hope that the paper will help spur further inter... |

19 |
Universal circuits (preliminary report
- Valiant
- 1976
(Show Context)
Citation Context ...ipulated in each step. The two complexities can be thought of as the parallel and serial complexities, respectively, and are analogous to the depth and size complexities in the boolean circuit models =-=[35, 11, 17]-=-. To guarantee that the primitives run in reasonable times, and to put useful bounds on simulating them within other models, two restrictions are placed on them. First, it is required that all vector ... |

13 |
On the Identification of the Convex Hull of a Finite Set
- Jarvis
- 1972
(Show Context)
Citation Context ...4 This section describes three scan-model based algorithms for determining the convex hull of a set of points. The first two, a parallel quickhull [30] algorithm and a parallel Jarvis march algorithm =-=[23, 2]-=-, are simple and likely to perform well in practice but are not provably optimal. The third algorithms is more complicated and impractical but is theoretically optimal. The algorithm is based on a par... |

10 |
Optimal Parallel Algorithms for Point-Set and Polygon Problems
- Cole, Goodrich
- 1992
(Show Context)
Citation Context ...thm to solve the closest-pair problem in the concurrent-read exclusive-write (CREW) P-RAM model [4]. Cole and Goodrich have described an O(lg n) time O(n) processor algorithm for the EREW P-RAM model =-=[15]-=-, which uses the cascading divide-and-conquer technique [3]. The algorithm discussed here is significantly simpler. 5 These vectors are all boolean vectors. Parallel Solutions to Geometric Problems - ... |

3 | Two remarks on a convex hull algorithm - Akl - 1979 |

3 |
Render: A Data Parallel Approach to Polygon Rendering
- Salem
- 1988
(Show Context)
Citation Context ... a finite-resolution grid lie on a line between the endpoints. For n pixels in a line, this routine has complexities S(n) = O(1) and E(n) = O(n). The routine has been extended to render solid objects =-=[32]-=-. The fourth algorithm is a line-of-sight algorithm. Given a grid of altitudes and an observation point on the grid, the algorithm returns the points visible from the observation point. For n grid poi... |