Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...
Patterns for Parallel Programming

Patterns for Parallel Programming
by Timothy G. Mattson; Beverly A. Sanders; Berna L. Massingill

Top Sellers in this Category

Elements of Programming

Elements of Programming
by Alexander Stepanov; Paul McJones

The C++ Programming Language, Special Edition

The C++ Programming Language, Special Edition
by Bjarne AT&T Labs Murray Hill, New Jersey Stroustrup

C++ Primer, Fourth Edition

C++ Primer, Fourth Edition
by Stanley B. Lippman; Josée Lajoie; Barbara E. Moo

Parallel and Distributed Programming Using C++ provides an up-close look at how to build software that can take advantage of multiprocessor computers. Simple approaches for programming parallel virtual machines are presented, and the basics of cluster application development are explained. Through an easy-to-understand overview of multithreaded programming, this book also shows you how to write software components that work together over a network to solve problems and do work.

Parallel and Distributed Programming Using C++ provides an architectural approach to parallel programming for computer programmers, software developers, designers, researchers, and software architects. It will also be useful for computer science students.

  • Demonstrates how agents and blackboards can be used to make parallel programming easier

  • Shows object-oriented approaches to multitasking and multithreading

  • Demonstrates how the UML is used to document designs that require parallel or distributed programming

  • Contains the new POSIX/UNIX IEEE Standard for the Pthreads library

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 3.0 out of 5 rating Based on 10 Ratings

Absolute disaster: the authors know neither parallel programming nor C++ - 2007-01-15
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Even the bad reviews here are too kind. What can I say about this book? Let us start with Chapter 7, which is about exceptions and error handling -- as applied to parallel programming you'd think. But there is nothing about parallel programming and nothing good about exceptions in this chapter, which reads like a blog written by a C++ programming beginner who has just stumbled upon exceptions and thought, hey this is cool, nothing of the sort in Fortran, let me write about it.

Section 9.2 talks about using template functions for parallel programming. Their examples are of the sort: (if rank is 0, let us call the multiplies() fn that is templated on int; if rank is 1, let us call the multiplies() fn that is templated on double). What were these people smoking?

Section 9.3 overloads stream operators (<<,>>) to do MPI send/recv. This is bad design because the rank of the other process (for one) is an input to the MPI functions, so there is a stream class per other process - which is more messy than convenient. A better design would be to make a communicator class with send(), recv() fns taking the other rank as input. This would also support collective (gather, scatter) communication. Not to mention *unbuffered* MPI send/recv calls can be terribly slow, so there should be some buffering support.

This brings to my basic gripe about this book: it is incredibly shallow. Of course it is garbage to an expert, but even to the dullest of beginners it can be of little use. Just about anything that you can find on parallel programming or C++ is better than this.

Don't worth the money - 2004-09-29
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book is a collection of many topics about MPI, PVM, Pthread, UML, CORBA, etc. None of them explains thoroughly. All the parts don't have coherence and don't have a complete example about parallel and distributed application. Readers would be better off just Google these topics and will find free documents which are far better than this book. It wastes your money to buy this book.

Parallel and Distributed Programming using C++ - 2007-12-22
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
The title was ever so promising. But when I finally got to use this book,my disappointment was limitless.I found myself having to be on the lookout for errors of all sorts instead of learning from the book.While the book is in the 600s in the number of pages,it is rather thin on content on the topics that it covers. Take Chapter 4, "Dividing C++ Programs into Multiple Threads" for instance.The authors do a lot of hand waving explaining what is essentially threads in C (behind some little C++ syntax),and just when you are hoping to learn about threads in the presence of composition (as you might need with nested parallelism) or inheritance, you are met with section 4.11.5 "Creating Multi threaded Objects" that is only one and half pages long and tells you nothing you did not know already. The authors then proceed to add more than hundred pages in the form of appendix B on material that you can get off the internet.I've since decided to use Intel TBB (and bought Intel Threading Building Blocks by Reinders) for my project. With POSIX threads here to stay and parallel programming becoming mainstream,the authors ought to use subsequent editions as opportunity for great improvement.

Choppy, redundant, and full of errors - 2009-05-21
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
In many sections this book lacks a smooth flow of writing. Paragraphs often feel like poorly ordered lists rather than leading from one idea to the next. This is especially true in Chapter 4's description of the Pthreads API.

Much space is dedicated to describing the Pthreads API, both in Chapter 4 and again in Appendix B. Most systems with Pthreads installed have man pages that already supply this information but with fewer errors (for example, see p. 150).

Some of the code examples seem like they were added in a hurry. They are incomplete, not in the sense of omitting implementation details but because they lack basic C++ syntax (e.g., types). If they were intended as language-independent pseudocode this would make sense, but the book is ostensibly about C++. For example, see Examples 4.11.1 and 5.3.1.

A better source for practical tools for parallel programming is Patterns for Parallel Programming by Mattson.

Wrong title - 2007-06-09
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I think that the book is quite good. However, do not look architecture level concepts, neither mathematics, neither an explanation of distributed and parallel concepts (well, there is something...). The title shoudl be something like "C++ tools for distributed and parallel programming"

However, this is the only book I know that introduces the biggest amount of tools in other to implement distributed applications in C++ (in case you do not want to start from sctach). Of course, there are missing thinks like web services, sockets, peer2peer middlewares, etc. However, the explained packages are the most used in the market.

Browse Similar Topics

Top Level Categories:
Programming

Sub-Categories:
Programming > C++
Programming > Parallel or Concurrent Programming

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.