Results 1  10
of
38
Programming Parallel Algorithms
, 1996
"... In the past 20 years there has been treftlendous progress in developing and analyzing parallel algorithftls. Researchers have developed efficient parallel algorithms to solve most problems for which efficient sequential solutions are known. Although some ofthese algorithms are efficient only in a th ..."
Abstract

Cited by 193 (9 self)
 Add to MetaCart
In the past 20 years there has been treftlendous progress in developing and analyzing parallel algorithftls. Researchers have developed efficient parallel algorithms to solve most problems for which efficient sequential solutions are known. Although some ofthese algorithms are efficient only in a theoretical framework, many are quite efficient in practice or have key ideas that have been used in efficient implementations. This research on parallel algorithms has not only improved our general understanding ofparallelism but in several cases has led to improvements in sequential algorithms. Unf:ortunately there has been less success in developing good languages f:or prograftlftling parallel algorithftls, particularly languages that are well suited for teaching and prototyping algorithms. There has been a large gap between languages
Applications of parametric searching in geometric optimization
 J. Algorithms
, 1994
"... z Sivan Toledo x ..."
ExternalMemory Algorithms for Processing Line Segments in Geographic Information Systems
, 2007
"... In the design of algorithms for largescale applications it is essential to consider the problem of minimizing I/O communication. Geographical information systems (GIS) are good examples of such largescale applications as they frequently handle huge amounts of spatial data. In this paper we develop ..."
Abstract

Cited by 76 (30 self)
 Add to MetaCart
In the design of algorithms for largescale applications it is essential to consider the problem of minimizing I/O communication. Geographical information systems (GIS) are good examples of such largescale applications as they frequently handle huge amounts of spatial data. In this paper we develop efficient externalmemory algorithms for a number of important problems involving line segments in the plane, including trapezoid decomposition, batched planar point location, triangulation, redâ€“blue line segment intersection reporting, and general line segment intersection reporting. In GIS systems the first three problems are useful for rendering and modeling, and the latter two are frequently used for overlaying maps and extracting information from them.
Parallel Construction of Quadtrees and Quality Triangulations
, 1999
"... We describe e#cient PRAM algorithms for constructing unbalanced quadtrees, balanced quadtrees, and quadtreebased finite element meshes. Our algorithms take time O(log n) for point set input and O(log n log k) time for planar straightline graphs, using O(n + k/ log n) processors, where n measure ..."
Abstract

Cited by 61 (5 self)
 Add to MetaCart
We describe e#cient PRAM algorithms for constructing unbalanced quadtrees, balanced quadtrees, and quadtreebased finite element meshes. Our algorithms take time O(log n) for point set input and O(log n log k) time for planar straightline graphs, using O(n + k/ log n) processors, where n measures input size and k output size. 1. Introduction A crucial preprocessing step for the finite element method is mesh generation, and the most general and versatile type of twodimensional mesh is an unstructured triangular mesh. Such a mesh is simply a triangulation of the input domain (e.g., a polygon), along with some extra vertices, called Steiner points. Not all triangulations, however, serve equally well; numerical and discretization error depend on the quality of the triangulation, meaning the shapes and sizes of triangles. A typical quality guarantee gives a lower bound on the minimum angle in the triangulation. Baker et al. 1 first proved the existence of quality triangulations fo...
Efficient ExternalMemory Data Structures and Applications
, 1996
"... In this thesis we study the Input/Output (I/O) complexity of largescale problems arising e.g. in the areas of database systems, geographic information systems, VLSI design systems and computer graphics, and design I/Oefficient algorithms for them. A general theme in our work is to design I/Oeffic ..."
Abstract

Cited by 38 (12 self)
 Add to MetaCart
In this thesis we study the Input/Output (I/O) complexity of largescale problems arising e.g. in the areas of database systems, geographic information systems, VLSI design systems and computer graphics, and design I/Oefficient algorithms for them. A general theme in our work is to design I/Oefficient algorithms through the design of I/Oefficient data structures. One of our philosophies is to try to isolate all the I/O specific parts of an algorithm in the data structures, that is, to try to design I/O algorithms from internal memory algorithms by exchanging the data structures used in internal memory with their external memory counterparts. The results in the thesis include a technique for transforming an internal memory tree data structure into an external data structure which can be used in a batched dynamic setting, that is, a setting where we for example do not require that the result of a search operation is returned immediately. Using this technique we develop batched dynamic external versions of the (onedimensional) rangetree and the segmenttree and we develop an external priority queue. Following our general philosophy we show how these structures can be used in standard internal memory sorting algorithms
Parallel transitive closure and point location in planar structures
 SIAM J. COMPUT
, 1991
"... Parallel algorithms for several graph and geometric problems are presented, including transitive closure and topological sorting in planar stgraphs, preprocessing planar subdivisions for point location queries, and construction of visibility representations and drawings of planar graphs. Most of th ..."
Abstract

Cited by 23 (11 self)
 Add to MetaCart
Parallel algorithms for several graph and geometric problems are presented, including transitive closure and topological sorting in planar stgraphs, preprocessing planar subdivisions for point location queries, and construction of visibility representations and drawings of planar graphs. Most of these algorithms achieve optimal O(log n) running time using n = log n processors in the EREW PRAM model, n being the number of vertices.
Optimal Randomized Parallel Algorithms For Computational Geometry I
, 1989
"... We present parallel algorithms for some fundamental problems in computational geometry which have running time of O(logn) using n processors, with very high probability (approaching 1 as n ! 1). These include planar point location, triangulation and trapezoidal decomposition. We also present optimal ..."
Abstract

Cited by 22 (9 self)
 Add to MetaCart
We present parallel algorithms for some fundamental problems in computational geometry which have running time of O(logn) using n processors, with very high probability (approaching 1 as n ! 1). These include planar point location, triangulation and trapezoidal decomposition. We also present optimal algorithms for 3D maxima and twoset dominance counting by an application of integer sorting. Most of these algorithms run on CREW PRAM model and have optimal processortime product which improve on the previously best known algorithms of Atallah and Goodrich [3] for these problems. The crux of these algorithms is a useful data structure which emulates the plane sweeping paradigm used for sequential algorithms. We extend some of the techniques used by Reischuk [22] Reif and Valiant [21] for ashsort algorithm to perform divide and conquer in a plane very eciently leading to the improved performance by our approach.
Parallel Solutions to Geometric Problems in the Scan Model of Computation
 In Proceedings International Conference on Parallel Processing
, 1994
"... This paper describes several parallel algorithms that solve geometric problems. The algorithms are based on a vector model of computationthe scanmodel. The purpose of this paper is both to show how the model can be used and to formulate a set of practical algorithms. The scanmodel is based on a ..."
Abstract

Cited by 21 (8 self)
 Add to MetaCart
This paper describes several parallel algorithms that solve geometric problems. The algorithms are based on a vector model of computationthe scanmodel. The purpose of this paper is both to show how the model can be used and to formulate a set of practical algorithms. The scanmodel is based on a small set of operations on vectors of atomic values. It differs from the PRAM models both in that it includes a set of scan primitives, also called parallel prefix computations, and in that it is a strictly dataparallel model. A very useful abstraction in the scanmodel is the segment abstraction, the subdivision of a vector into a collection of independent smaller vectors. The segment abstraction permits a clean formulation of divideandconquer algorithms, and is used heavily in the algorithms described in this paper. Within the scanmodel, using the operations and routines defined, the paper describes a kD tree algorithm requiring O(lg n) calls to the primitives for n points, a closes...
Randomized Algorithms for Binary Search and Load Balancing on Fixed Connection Networks With Geometric Applications
, 1990
"... There are now a number of fundamental problems in computational geometry that have optimal algorithms on PRAM models. We present randomized parallel algorithms which execute on an nprocessor buttery interconnection network in O(log n) time for the following problems of input size n: trapezoidal ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
There are now a number of fundamental problems in computational geometry that have optimal algorithms on PRAM models. We present randomized parallel algorithms which execute on an nprocessor buttery interconnection network in O(log n) time for the following problems of input size n: trapezoidal decomposition, visibility, triangulation and 2D convex hull. These algorithms involve tackling some of the very basic problems like binary search and loadbalancing that we take for granted in PRAM models. Apart from a 2D convex hull algorithm, these are the rst nontrivial geometric algorithms which attain this performance on xed connection networks. Our techniques use a number of ideas from Flashsort which have to be modied to handle more dicult situations; it seems likely that they will have wider applications. 1 Introduction 1.1 Motivation and overview In the past decade, we have witnessed a systematic growth in the stateofart of parallelizing algorithms in the PRAM envi...
Polling: A New Randomized Sampling Technique For Computational Geometry
, 1989
"... We introduce a new randomized sampling technique, called Polling which has applications to deriving efficient parallel algorithms. As an example of its use in computational geometry, we present an optimal parallel randomized algorithm for intersection of halfspaces in three dimensions. Because of w ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
We introduce a new randomized sampling technique, called Polling which has applications to deriving efficient parallel algorithms. As an example of its use in computational geometry, we present an optimal parallel randomized algorithm for intersection of halfspaces in three dimensions. Because of wellknown reductions, our methods also yield equally efficient algorithms for fundamental problems like t,he convex hull in three dimensions, Voronoi diagram of point sites on a plane and Euclidean minimal spanning tree. Our algorithms run in time T = O(logn) for worstcase inputs and uses P = O(n) processors in a CREW PRAM model where n is the input size. They are randomized in the sense that they use a total of only O(log2 n) random bits and terminate in the claimed time bound with probability 1 n(y for any o> 0. They are also optimal in P. T product since the sequential time bound for all these problems is Sl(nlogn). The best known deterministic parallel algorithms for 2D Voronoidiagram and 3D Convex hull run in O(log2 n) and O(log2 nlog * n) time respectively while using O(n) processors.