scispace - formally typeset
Open AccessBook

An introduction to parallel algorithms

TLDR
This book provides an introduction to the design and analysis of parallel algorithms, with the emphasis on the application of the PRAM model of parallel computation, with all its variants, to algorithm analysis.
Abstract
Written by an authority in the field, this book provides an introduction to the design and analysis of parallel algorithms. The emphasis is on the application of the PRAM (parallel random access machine) model of parallel computation, with all its variants, to algorithm analysis. Special attention is given to the selection of relevant data structures and to algorithm design principles that have proved to be useful. Features *Uses PRAM (parallel random access machine) as the model for parallel computation. *Covers all essential classes of parallel algorithms. *Rich exercise sets. *Written by a highly respected author within the field. 0201548569B04062001

read more

Content maybe subject to copyright    Report

Citations
More filters

Visibility-related problems on parallel computational models

TL;DR: The template algorithms presented in this work lead to optimal solu­ tions to various visibility-related problems on fine-grain mesh connected computers such as meshes with multiple broadcasting and reconfigurable meshes, and also on coarse-grain multicomputers.
Posted Content

PIRK: Scalable Interval Reachability Analysis for High-Dimensional Nonlinear Systems

TL;DR: PIRK can utilize HPC platforms for computing reachable sets for general high-dimensional non-linear systems of extremely high dimensions and the scalability of PIRK’s parallel implementations is found to be highly favorable.
Proceedings ArticleDOI

A parallel algorithm for k-minimum spanning trees

TL;DR: It is shown that to find k minimum spanning trees can be done in the same time bound as to find just one when k/spl les/O(log n) on a CREW PRAM.
Journal ArticleDOI

An optimal parallel algorithm for digital curve segmentation

TL;DR: The classical problem of partitioning a digital curve into a minimum number of digital line segments, which is of interest in digital image processsing, turns out to be a special case of this, and can be solved in O(log n) time using O(n) work on an EREW PRAM.
Journal ArticleDOI

Trade-offs between Communication Throughput and Parallel Time

TL;DR: In this paper, the effect of limited communication throughput on parallel computation in a setting where the number of processors is much smaller than the length of the input was studied, and an almost matching upper bound of O((n/mp)logO(1)n)n).
References
More filters
Book

Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes

TL;DR: This chapter discusses sorting on a Linear Array with a Systolic and Semisystolic Model of Computation, which automates the very labor-intensive and therefore time-heavy and expensive process of manually sorting arrays.
Book

Computer Architecture and Parallel Processing

Kai Hwang, +1 more
TL;DR: The authors have divided the use of computers into the following four levels of sophistication: data processing, information processing, knowledge processing, and intelligence processing.
Journal ArticleDOI

Data parallel algorithms

TL;DR: The success of data parallel algorithms—even on problems that at first glance seem inherently serial—suggests that this style of programming has much wider applicability than was previously thought.
Proceedings ArticleDOI

Parallelism in random access machines

TL;DR: A model of computation based on random access machines operating in parallel and sharing a common memory is presented and can accept in polynomial time exactly the sets accepted by nondeterministic exponential time bounded Turing machines.
Journal ArticleDOI

The Parallel Evaluation of General Arithmetic Expressions

TL;DR: It is shown that arithmetic expressions with n ≥ 1 variables and constants; operations of addition, multiplication, and division; and any depth of parenthesis nesting can be evaluated in time 4 log 2 + 10(n - 1) using processors which can independently perform arithmetic operations in unit time.