Computing Reviews

Elements of parallel computing
Aubanel E., Chapman & Hall/CRC,Boca Raton, FL,2017. 238 pp.Type:Book
Date Reviewed: 11/27/17

Elements of parallel computing is a short introductory text aimed at undergraduate computer science (CS) students or students and researchers in disciplines other than CS who want to gain skills in parallel programming. The book presents basic concepts of parallel programming in chapters 1 and 2. In contrast to other introductory texts where the parallel programming (machine) models are usually the starting point, the author outlines what “thinking in parallel” means in the context of different programming models. That puts the focus on programming models rather than on parallel machine execution models. Indeed, the latter are described in essence in chapter 2, but the focus of the book is building up knowledge of parallel programming for users who are not necessarily fascinated by the hardware.

The structure of the book resembles the structure of the classical texts in data structures and algorithms. For example, the author discusses parallel programming structures and parallel algorithm structures in chapters 3 and 4. A significant plus in the book is a chapter on performance analysis and optimization, which may be very useful to students starting their path in parallel programming. Chapters 6, 7, and 8 provide a practical discussion of some of the most common classical algorithms in CS--Bellman–Ford, Dijkstra, delta stepping, and others. In the same chapter, the author discusses the same fundamental algorithms in their parallel variant. That approach is very informative and well balanced because it supplies students with mechanisms for converting sequential thinking to parallel thinking. In addition, the author (chapter 6, paragraph 6.3.2) discusses the Bellman–Ford algorithm on a graphics processing unit (GPU). Indeed, the book does not go further into GPU programming, but this example is enough to provoke readers’ curiosity to explore parallel programming models and techniques.

The book has clean style with plenty of examples in pseudocode. Avoiding a particular programming language and using pseudocode is another plus of the text because it gives students the freedom to interpret a given algorithm in the comfort of their own working programming language. The book is enjoyable to read and is an excellent text that presents fundamental concepts of parallel computing from the viewpoint of algorithms and data structures.

Reviewer:  Alexander Tzanov Review #: CR145671 (1802-0035)

Reproduction in whole or in part without permission is prohibited.   Copyright 2024 ComputingReviews.com™
Terms of Use
| Privacy Policy