Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Parallel and Distributed Programming Using C++ (paperback) 1st Edition

3.1 out of 5 stars 10 customer reviews
ISBN-13: 978-0321544674
ISBN-10: 0321544676
Why is ISBN important?
This bar-code number lets you verify that you're getting exactly the right version or edition of a book. The 13-digit and 10-digit formats both work.
Scan an ISBN with your phone
Use the Amazon App to scan ISBNs and compare prices.
Have one to sell? Sell on Amazon
Buy used On clicking this link, a new layer will be open
$43.26 On clicking this link, a new layer will be open
Buy new On clicking this link, a new layer will be open
$54.99 On clicking this link, a new layer will be open
More Buying Choices
12 New from $42.01 16 Used from $13.95
Free Two-Day Shipping for College Students with Prime Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

The Amazon Book Review
The Amazon Book Review
Author interviews, book reviews, editors picks, and more. Read it now
$54.99 FREE Shipping. Only 1 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.
click to open popover

Editorial Reviews

From the Back Cover

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

About the Author

CAMERON HUGHES is a senior software engineer for CTEST Laboratories and a staff programmer/analyst at Youngstown State University. He has been involved in software development efforts of all sizes and is currently working in cluster programming of the Proteus V that involves NLP and knowledge representation modeling at CTEST and the Colony at Youngstown.

TRACEY HUGHES is a software engineer at CTEST, where she does graphics programming and simulation in C++ and develops image processing class libraries and virtual worlds.

Together they are the co-authors of numerous books including Linux Rapid Application Development and Object-Oriented Multithreading Using C++.


The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Paperback: 720 pages
  • Publisher: Addison-Wesley Professional; 1 edition (September 4, 2003)
  • Language: English
  • ISBN-10: 0321544676
  • ISBN-13: 978-0321544674
  • Product Dimensions: 7 x 1.6 x 9 inches
  • Shipping Weight: 2.6 pounds (View shipping rates and policies)
  • Average Customer Review: 3.1 out of 5 stars  See all reviews (10 customer reviews)
  • Amazon Best Sellers Rank: #5,018,377 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

Format: Hardcover
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.
Comment 15 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
I gave it 3 stars only because there are few books on the subject; it deserves only 2.

The main problem I see with this book is that it tries to cover too much ground, even with subjects that it should not touch upon: there are whole chapters (7 and 9, for example) that are more about C++ than parallel or distributed programming, and one chapter (10) is about UML. Although it is interesting to see C++ and UML techniques applied to parallel and distributed programming, this leaves little space left for the coverage of MPI, for example. PVM and pthreads are given somewhat more attention, but still not nearly enough.

Another problem is that the examples are mostly incomplete code fragments. There are few complete, running examples. I hoped to see bigger examples in the last chapters (they seem like case studies), but again they are made of too much "talk" and no code.

The chapters are mostly independent of one another; it can be good if all you need is a quick first read on one of the subjects, but it gets annoying if you try to read it sequentially. Exercise for the reader: count how many times the PRAM model is cited AND explained.

To say something good about it, the book has some nice general musings about the nature and fundamental problems of concurrent systems. But it is not a coherent whole and is not particularly good at explaining any of the myriad subjects it touches upon.

Bottomline: It's neither an applied book about specific technologies, nor a general treatment. I would not buy this book unless it were very cheap. Take a look at it at the bookstore or borrow from a library, but don't spend your money.
Read more ›
Comment 12 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
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.
Comment 6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Hardcover
This book covers the MPI (Message Passing Interface) library, the PVM (Parallel Virtual Machine) library, and the MICO (CORBA) library. If any these libraries were new to you, then this book is would be very beneficial to you.
So many books have been written on PTHREADS, threading, multiprocessing, etc, and yet, this book seems to cover more grounds, teach more concepts, and show you more simple but useful examples that any other one's that I have seen. The books on PTHREADS cover threading, there are a number of books on multiprocessing, networking (Stevens book comes to mind), but as far as generic multiprocessing, and parallel processing is concerned, this book is the key. Hughes and Hughes have written another similar book, but that book mainly covered C++ and threading (hence the title of the book). This book covers other great C++ tools such as the PVM (parallel virtual machine), which to my limited knowledge has not been covered greatly in any other books.
The first couple of chapters cover basic Operating System stuff. I don't know if it's because I have working for a number of years, or not, but the it actually made sense. We all have read the ever popular Modern Operating Systems book, but that book is somewhat dry. Maybe I think that say since I HAD to read the book for my class, but that feeling hasn't changed. This book covered the topics that you NEED to know, if you want to be able to write a program that takes advantage of some of the libraries mentioned above (MPI, PVM, MICO, and PTHREADS). It talks about the benefits, differences, and ideas behind parallel and distributed programming.
The next two chapters are probably the best chapters I have read on the topics of Multiprocessing and Multithreading respectively.
Read more ›
Comment 18 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews

Set up an Amazon Giveaway

Parallel and Distributed Programming Using C++ (paperback)
Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more about Amazon Giveaway
This item: Parallel and Distributed Programming Using C++ (paperback)

What Other Items Do Customers Buy After Viewing This Item?