scispace - formally typeset
Open AccessBook

An introduction to parallel algorithms

Reads0
Chats0
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
Journal ArticleDOI

TIME OPTIMAL n-SIZE MATCHING PARENTHESES AND BINARY TREE DECODING ALGORITHMS ON A p-PROCESSOR BSR

TL;DR: This paper discusses and gives two algorithms on a p-processor BSR for the two n-size problems of matching parentheses and decoding a binary tree from its bit-string, respectively, and shows that they are time optimal.
Journal ArticleDOI

Separating the power of EREW and CREW PRAMs with small communication width

TL;DR: It is proved that evaluating a Boolean decision tree of height h requires Ω(h/log*h) time on any EREW PRAM with communication width one, and this gives a separation between the two models.
Journal ArticleDOI

Bulk synchronous parallel: practical experience with a model for parallel computing

TL;DR: This paper explores the practical use of BSP, focusing on the portability and predictability it offers, without incurring any significant loss in performance.
Proceedings ArticleDOI

An Extended Work-Stealing Framework for Mixed-Mode Parallel Applications

TL;DR: This paper presents a shared-memory programming framework that allows tasks to dynamically spawn subtasks with a given degree of parallelism for implementing tightly coupled parallel parts of the algorithm, and presents a new algorithm for work-stealing with deterministic team-building.
Proceedings ArticleDOI

Parallel dictionaries on AVL trees

TL;DR: This work identifies rotations (in addition to AVL tree rotations) required to restore balance and presents parallel algorithm to perform p insertions/deletions in O(log n+log p) time with p processors.
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.