Parallel Processing and Parallel Algorithms: Theory and ComputationMotivation 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. |
Contents
1 | |
Components of Parallel Computers | 57 |
Principles of Parallel Programming | 109 |
Parallel Programming Approaches | 137 |
Principles of Parallel Algorithm Design | 217 |
Parallel Graph Algorithms | 259 |
Parallel Search Algorithms | 319 |
8 | 352 |
Asynchronous Parallel Programming | 438 |
Data Parallel Programming | 477 |
Artificial Intelligence and Parallel Processing | 501 |
535 | |
Glossary | 547 |
551 | |
554 | |
559 | |
Other editions - View all
Parallel Processing and Parallel Algorithms: Theory and Computation Seyed H Roosta Limited preview - 1999 |
Parallel Processing and Parallel Algorithms: Theory and Computation Seyed H Roosta No preview available - 2012 |
Common terms and phrases
adjacency matrix array associated breadth-first search C-Linda called chare clause color communication compiler Concurrent Prolog consists Control Unit data parallel data parallel programming data type declared defined depth-first depth-first search distributed edge endfor endif evaluation example Fortran functional programming graph G hypercube implemented indicates input instruction integer interconnection network iteration logic programming loop machine mapping MasPar matching matrix multiplication meaning mesh message-passing MIMD MIMD computers minimum spanning tree Modula-2 module Multilisp multiprocessor node number of processors operating system OR-parallelism output parallel algorithm parallel architectures parallel computation parallel processing parallel programming parallel variable partitioning performed pipeline primitives problem proc procedure processing elements production systems Prolog provides queue recursive represented result sequence sequential shared shared-memory shortest path shown in Figure SIMD solution solve specify speedup statement synchronization task thread tion tuple space vector vertex vertices