This book covers wealth of important material on parallel algorithms in depth for the solution of problems in a variety of application areas highlighting the importance of parallel graph algorithms. It covers all existing material and research on parallel graph algorithms as well as other important topics relating to parallel algorithms such as: parallel matrix and boolean matrix multiplication algorithms. The book is written for application software designers working in parallel processing environments but will also form an invaluable reference work for researchers.
Author: C. Xavier
Publisher: John Wiley & Sons
Release Date: 1998-08-05
Parallel algorithms Made Easy The complexity of today's applications coupled with the widespread use of parallel computing has made the design and analysis of parallel algorithms topics of growing interest. This volume fills a need in the field for an introductory treatment of parallel algorithms-appropriate even at the undergraduate level, where no other textbooks on the subject exist. It features a systematic approach to the latest design techniques, providing analysis and implementation details for each parallel algorithm described in the book. Introduction to Parallel Algorithms covers foundations of parallel computing; parallel algorithms for trees and graphs; parallel algorithms for sorting, searching, and merging; and numerical algorithms. This remarkable book: * Presents basic concepts in clear and simple terms * Incorporates numerous examples to enhance students' understanding * Shows how to develop parallel algorithms for all classical problems in computer science, mathematics, and engineering * Employs extensive illustrations of new design techniques * Discusses parallel algorithms in the context of PRAM model * Includes end-of-chapter exercises and detailed references on parallel computing. This book enables universities to offer parallel algorithm courses at the senior undergraduate level in computer science and engineering. It is also an invaluable text/reference for graduate students, scientists, and engineers in computer science, mathematics, and engineering.
Author: Justin R. Smith
Publisher: Oxford University Press on Demand
Release Date: 1993
This text for students and professionals in computer science provides a valuable overview of current knowledge concerning parallel algorithms. These computer operations have recently acquired increased importance due to their ability to enhance the power of computers by permitting multiple processors to work on different parts of a problem independently and simultaneously. This approach has led to solutions of difficult problems in a number of vital fields, including artificial intelligence, image processing, and differential equations. As the first up-to-date summary of the topic, this book will be sought after by researchers, computer science professionals, and advanced students involved in parallel computing and parallel algorithms.
Take advantage of the power of parallel computers with this comprehensive introduction to methods for the design, implementation, and analysis of parallel algorithms. You'll examine many important core topics, including sorting and graph algorithms, discrete optimization techniques, and scientific computing applications, as you consider parallel algorithms for realistic machine models. Features: presents parallel algorithms as a small set of basic data communication operations in order to simplify their design and increase understanding; emphasizes practical issues of performance, efficiency, and scalability; provides a self-contained discussion of the basic concepts of parallel computer architectures; covers algorithms for scientific computation, such as dense and sparse matrix computations, linear system solving, finite elements, and FFT; discusses algorithms for combinatorial optimization, including branch-and-bound, heuristic search, and dynamic programming; incorporates illustrative examples of parallel programs for commercially available computers; and contains extensive figures and examples that illustrate the workings of algorithms on different architectures.
Author: Selim G. Akl
Publisher: Academic Press
Release Date: 2014-06-20
Parallel Sorting Algorithms explains how to use parallel algorithms to sort a sequence of items on a variety of parallel computers. The book reviews the sorting problem, the parallel models of computation, parallel algorithms, and the lower bounds on the parallel sorting problems. The text also presents twenty different algorithms, such as linear arrays, mesh-connected computers, cube-connected computers. Another example where algorithm can be applied is on the shared-memory SIMD (single instruction stream multiple data stream) computers in which the whole sequence to be sorted can fit in the respective primary memories of the computers (random access memory), or in a single shared memory. SIMD processors communicate through an interconnection network or the processors communicate through a common and shared memory. The text also investigates the case of external sorting in which the sequence to be sorted is bigger than the available primary memory. In this case, the algorithms used in external sorting is very similar to those used to describe internal sorting, that is, when the sequence can fit in the primary memory, The book explains that an algorithm can reach its optimum possible operating time for sorting when it is running on a particular set of architecture, depending on a constant multiplicative factor. The text is suitable for computer engineers and scientists interested in parallel algorithms.
Focusing on algorithms for distributed-memory parallel architectures, Parallel Algorithms presents a rigorous yet accessible treatment of theoretical models of parallel computation, parallel algorithm design for homogeneous and heterogeneous platforms, complexity and performance analysis, and essential notions of scheduling. The book extracts fundamental ideas and algorithmic principles from the mass of parallel algorithm expertise and practical implementations developed over the last few decades. In the first section of the text, the authors cover two classical theoretical models of parallel computation (PRAMs and sorting networks), describe network models for topology and performance, and define several classical communication primitives. The next part deals with parallel algorithms on ring and grid logical topologies as well as the issue of load balancing on heterogeneous computing platforms. The final section presents basic results and approaches for common scheduling problems that arise when developing parallel algorithms. It also discusses advanced scheduling topics, such as divisible load scheduling and steady-state scheduling. With numerous examples and exercises in each chapter, this text encompasses both the theoretical foundations of parallel algorithms and practical parallel algorithm design.
Author: Seyed H Roosta
Publisher: Springer Science & Business Media
Release Date: 2012-12-06
Motivation It is now possible to build powerful single-processor and multiprocessor systems and use them efficiently for data processing, which has seen an explosive ex pansion in many areas of computer science and engineering. One approach to meeting the performance requirements of the applications has been to utilize the most powerful single-processor system that is available. When such a system does not provide the performance requirements, pipelined and parallel process ing structures can be employed. The concept of parallel processing is a depar ture from sequential processing. In sequential computation one processor is in volved and performs one operation at a time. On the other hand, in parallel computation several processors cooperate to solve a problem, which reduces computing time because several operations can be carried out simultaneously. Using several processors that work together on a given computation illustrates a new paradigm in computer problem solving which is completely different from sequential processing. From the practical point of view, this provides sufficient justification to investigate the concept of parallel processing and related issues, such as parallel algorithms. Parallel processing involves utilizing several factors, such as parallel architectures, parallel algorithms, parallel programming lan guages and performance analysis, which are strongly interrelated. In general, four steps are involved in performing a computational problem in parallel. The first step is to understand the nature of computations in the specific application domain.
Introduction to Parallel Algorithms and Architectures: Arrays Trees Hypercubes provides an introduction to the expanding field of parallel algorithms and architectures. This book focuses on parallel computation involving the most popular network architectures, namely, arrays, trees, hypercubes, and some closely related networks. Organized into three chapters, this book begins with an overview of the simplest architectures of arrays and trees. This text then presents the structures and relationships between the dominant network architectures, as well as the most efficient parallel algorithms for a wide variety of problems. Other chapters focus on fundamental results and techniques and on rigorous analysis of algorithmic performance. This book discusses as well a hybrid of network architecture based on arrays and trees called the mesh of trees. The final chapter deals with the most important properties of hypercubes. This book is a valuable resource for readers with a general technical background.
Author: Jagdish J. Modi
Publisher: Oxford University Press, USA
Release Date: 1988
One of the first textbooks on the topic, this book brings together and further articulates the fundamental concepts in parallel computing. It covers the application of parallel algorithms to numerical linear algebra, with an emphasis on the design and analysis of algorithms that are of particular importance in both industrial and academic research. The first part is devoted to a discussion of the general principles and techniques involved, and is illustrated by numerous examples. Dr. Modi goes on to describe some key areas of application, such as sorting, linear systems, partial differential equations, singular-value decomposition, and eigenvalue analysis. Based on a lecture course at the University of Cambridge, the text will appeal to those with an interest in the design and implementations of algorithms in parallel computing.
Author: Fayez Gebali
Publisher: John Wiley & Sons
Release Date: 2011-03-29
There is a software gap between the hardware potential and the performance that can be attained using today's software parallel program development tools. The tools need manual intervention by the programmer to parallelize the code. Programming a parallel computer requires closely studying the target algorithm or application, more so than in the traditional sequential programming we have all learned. The programmer must be aware of the communication and data dependencies of the algorithm or application. This book provides the techniques to explore the possible ways to program a parallel computer for a given application.
Author: Nicola Santoro
Publisher: John Wiley & Sons
Release Date: 2006-11-03
This text is based on a simple and fully reactive computational model that allows for intuitive comprehension and logical designs. The principles and techniques presented can be applied to any distributed computing environment (e.g., distributed systems, communication networks, data networks, grid networks, internet, etc.). The text provides a wealth of unique material for learning how to design algorithms and protocols perform tasks efficiently in a distributed computing environment.