Skip to content
Hardcover Parallel and Distributed Programming Using C++ Book

ISBN: 0131013769

ISBN13: 9780131013766

Parallel and Distributed Programming Using C++

Select Format

Select Condition ThriftBooks Help Icon

Recommended

Format: Hardcover

Temporarily Unavailable

2 people are interested in this title.

We receive 1 copy every 6 months.

Book Overview

Today, the C++ language remains one of the most important languages used by professional software developers. Many corporations and government agencies have large investments in applications that are... This description may be from another edition of this product.

Customer Reviews

5 ratings

Wrong title

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.

Excellent introduction to the topics. Fills a real need.

C++ has no keyword support for parallelism. One must rely on libraries for parallel and distributed applications in C++. This turns out to be a good thing because the C++ programmer isn't stuck with only one concurrency model supported by the language. Instead there are several standard options: POSIX (pthreads), MPI, PVM and CORBA. This book relies on the new Single UNIX Specification Standard which encompasses the POSIX standards for UNIX/Linux. You won't find anything in here that is specific to Microsoft Windows programming or the WIN32 API.This book is a thorough and readable introduction to its topics. Its main strength its emphasis on design. Parallel and distributed applications are becoming the norm and doing them right impacts every phase of the software development process. Good, up-front design is necessary to avoid the serious problems one can encounter in this environment. The authors do a very effective job in helping the reader to first think about the problem they are trying to solve in terms of the inherent complexities and problems that parallel programing has over the sequential programming model that many programmers are used to.Coverage of each topic in the table of contents is very well done. It offers just the right amount of background information, code examples and well designed diagrams and tables to give the reader a good understanding of concepts and good design, not just a "how to" explanation. UML diagrams are put to good use. There's a small appendix covering the UML notation used in the book and a larger one that contains manual pages for the POSIX API for process and thread creation and control.Overall an excellent book. It would make a good textbook for students and a good tutorial and reference for experienced programmers.

Excellent introduction to parallel programming

I'm currently an undergraduate computer science student here at Youngstown State University, and in the course of research work for a Physics professor here, I have spent the last year struggling with learning what were very new concepts to me. I actually know Cameron in "real life," and on the occaisons I would run into him and try to get some advice on how to get my MPI scripts running correctly, etc., his reponse would invariably be "wait for the book, it will all be in there, I promise." Muddling through several poorly-written primers on programming for our cluster, and material on programming scattered on various part of the web, I can emphatically state my excitement that the book is finally done.I consider myself to be very much an amateur programmer, which is important. With the increasingly widespread use of inexpensive computer clusters, many amateurs like myself find themselves in the position of having to learn something completely new. Moreover, many researchers don't particularly want to invest a great deal of time in something that is little more than a tool for them to get their "real" work done. For those of us who fall into that category, I think Camereon's book is a godsend. It covers all of the major areas of interest in a technically thorough way, without being too challenging or offputting for a beginner. The book starts with some of the basics of how a UNIX(Linux) system works, and how parallelism and multiproccessing fit in. By the time you start coding, you have a firm grasp of just what is going on. If you're familiar with C++, but have never done any parallel programming, this book is for you.My personal opinion is that anyone becoming a new cluster user(They've been regularly doling clusters out here in Ohio) should recieve a copy of this book. A wonderful introduction. My only real complaint has been that Cameron didn't write it a year ago :-D

Covers the topics VERY well

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. The chapters are titled "Dividing C++ Programs into multiple tasks," and, "Dividing C++ Programs into multiple Threads." I cannot say enough about how good these two chapters cover the topics. They start by the definition of both models, and they peel the onion as each chapter moves along. By the end of the chapter, you have seen examples, different design models for each method, and the pros and cons of each design model. Following these two chapters, a chapter is dedicated to synchronization and issues that go along with that in multithreaded/multiprocessing applications. PVM, the Parallel Virtual Machine, is covered in chapter 6. This chapter must be my favorite chapter in the entire book. The authors give the following description for PVM:"The PVM represents a collection of networked computers to the developer as a single logical machine with parallel capabilities."The authors goes further and says:"The PVM library is perhaps the easiest way to add parallel programming capabilities to the C++ language."In general, the PVM is broken down into seven categories:i) Process Management and Control: Routines used to manage and control PVM processii) Message Packing and Sending: Routines used to pack messa

Great Book!!

Neat approach when discussing parallel and distributed programming, very good book. Keep up the good work. Raise the right hand.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured