Parallel processing and parallel algorithms. Theory and computation

From MaRDI portal





The book presents parallel processing and parallel algorithms both from theoretical and practical point of view. It covers the essence of the architectures and the relationship between parallel programming approaches, algorithms and computer architectures. The first two chapters describe computer architectures and components of parallel computing. Both parallel architectures and data flow architectures are studied. Basic components include memory, interconnection networks, compilers, operating systems and input/output constraints. Chapter 3 contains the most important principles of parallel programming. Topics like message passing compared with shared address space, mapping to asynchronous, synchronous or distributed architectures and granularity are discussed here. Chapter 4 describes different parallel programming languages used on different platforms. A comparative study of parallel processing with UNIX, PCN, PVM, C-Linda, EPT and CHARM is performed. Chapter 5 studies the efficiency of parallel algorithms. The main performance measures are discussed. The complexity of sequential and parallel algorithms with regard to time and space requirements is studied too. In the next three chapters a large variety of parallel algorithms are included. They are structured in parallel graph algorithms, parallel search and selection algorithms and parallel algorithms for computation. Different architectures and time complexity are considered. Chapter 9 studies data flow computing and functional programming. It includes a description of the data flow programming language VAL and of the functional programming language SISAL. Chapter 10 deals with asynchronous parallel programming. Three asynchronous parallel programming languages are considered: Ada, Occam and Modula-2. Chapter 11 introduces a high-level notation that simplifies parallel programming and enhances portability. The programming languages Dataparallel C and Fortran 90, which are extensions of C and Fortran respectively, are presented. They are used in order to illustrate data parallel programming. Chapter 11 is dedicated to parallel processing in artificial intelligence. It is shown how the processing speed of rule-based expert systems may be increased by using parallel processing. Two parallel languages (Concurrent Prolog and Multilisp) are discussed. The book covers the majority of important approaches in parallel processing and algorithms. It provides a very useful support for graduate students, as well as reasearchers in the area.





Cited in
(26)


Describes a project that uses

Uses Software






This page was built for publication: Parallel processing and parallel algorithms. Theory and computation

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4704242)