Towards understanding exclusive read
SPAA '89 Proceedings of the first annual ACM symposium on Parallel algorithms and architectures
Deterministic P-RAM simulation with constant redundancy
SPAA '89 Proceedings of the first annual ACM symposium on Parallel algorithms and architectures
The APRAM: incorporating asynchrony into the PRAM model
SPAA '89 Proceedings of the first annual ACM symposium on Parallel algorithms and architectures
Optimal on-line load balancing
SPAA '89 Proceedings of the first annual ACM symposium on Parallel algorithms and architectures
Local reorientation, global order, and planar topology
STOC '89 Proceedings of the twenty-first annual ACM symposium on Theory of computing
Parallel compilation for a parallel machine
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
Parallel tree pattern matching
Journal of Symbolic Computation
SPAA '90 Proceedings of the second annual ACM symposium on Parallel algorithms and architectures
Scalability of parallel machines
Communications of the ACM
Time-Space Optimal Parallel Merging and Sorting
IEEE Transactions on Computers
More time-work tradeoffs for parallel graph algorithms
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
Constructing arrangements optimally in parallel (preliminary version)
SPAA '91 Proceedings of the third annual ACM symposium on Parallel algorithms and architectures
Parallel complexity of tridiagonal symmetric Eigenvalue problem
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
Time-work tradeoffs for parallel graph algorithms
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
NC algorithms for dominations in permutation graphs
SAC '92 Proceedings of the 1992 ACM/SIGAPP symposium on Applied computing: technological challenges of the 1990's
SODA '92 Proceedings of the third annual ACM-SIAM symposium on Discrete algorithms
Wait-free clock synchronization
PODC '93 Proceedings of the twelfth annual ACM symposium on Principles of distributed computing
Efficient parallel algorithms for functional dependency manipulations
DPDS '90 Proceedings of the second international symposium on Databases in parallel and distributed systems
Efficient parallel algorithms for some integer problems
CSC '91 Proceedings of the 19th annual conference on Computer Science
Efficient parallel algorithms for finding biconnected components of some intersection graphs
CSC '91 Proceedings of the 19th annual conference on Computer Science
Efficient Algorithms for List Ranking and for Solving Graph Problems on the Hypercube
IEEE Transactions on Parallel and Distributed Systems
Learning nested concept classes with limited storage
IJCAI'91 Proceedings of the 12th international joint conference on Artificial intelligence - Volume 2
A hoare calculus for the verification of synchronous languages
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
Fully homomorphic encryption over the integers
EUROCRYPT'10 Proceedings of the 29th Annual international conference on Theory and Applications of Cryptographic Techniques
Aspen: a domain specific language for performance modeling
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Modeling communication in cache-coherent SMP systems: a case-study with Xeon Phi
Proceedings of the 22nd international symposium on High-performance parallel and distributed computing
A memory access model for highly-threaded many-core architectures
Future Generation Computer Systems
Hi-index | 0.02 |
This paper is a survey of the growing body of theory concerned with parallel algorithms and the complexity of parallel computation. The principal computation that we consider is the parallel random-access machine (PRAM), in which it is assumed that each processor has random access in unit time to any cell of a global memory. This model permits the logical structure of parallel computation to be studied in a context divorced from issues of interprocessor communication. Section 2 surveys efficient parallel algorithms for bookkeeping operations such as compacting an array by squeezing out its "dead" elements, for evaluating algebraic expressions, for searching a graph and decomposing it into various kinds of components, and for sorting, merging and selection. These algorithms are typically completely different from the best sequential algorithms for the same problems, and their discovery has required the creation of a new set of paradigms for the construction of parallel algorithms. Section 3 studies the relationships among several variants of the PRAM model which differ in their implementation of concurrent reading and/or concurrent writing, presents lower bounds on the time to solve certain elementary problems on various kinds of P RAMs, and compares the PRAM with other models such as bounded-fan-in and unbounded-fan-in circuits, alternating Turing machines and vector machines. Section 3 also introduces NC, a hierarchy of problems solvable by deterministic algorithms that operate in polylog time using a polynomial-bounded number of processors. Section 4 discusses specific problems within NC. Among the problems shown to lie at low levels within this hierarchy are the basic arithmetic operations, transitive closure and Boolean matrix multiplication, the computation of the determinant, the rank an d inverse of a matrix, the evaluation of certain classes of straight-line programs and the construction of a maximal independent set of vertices in a graph. Section 4 also discusses the randomized version of NC, and gives fast randomized parallel algorithm s for problems such as finding a maximum matching in a graph. Section 4 concludes by exhibiting several problems that are complete in the sequential complexity class P with respect to logspace reducibility, and hence unlikely to lie in NC.