Parallel and Distributed Programming Using C++

Published by:

Addison-Wesley Professional (Owned by Pearson Education)

Publication Date: September 4, 2003

Paperback: 720 pages

Language: English

ISBN-10: 0321544676

ISBN-13: 978-0321544674

Manufactured in the United States of America


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 developed using the C++ language. Those corporations and government agencies are now Web-enabling their applications. Applications that were originally developed as simple client/server now requires Internet/Intranet face-lifts. This book helps software developers and programmers who need to add the techniques of parallel and distributed programming to existing applications. Parallel programming uses multiple computers, or computers with multiple internal processors, to solve a problem at a greater computational speed than using a single computer. It also offers the opportunity to tackle larger problems; that is, problems with more computational steps or more memory requirements.


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.

  1. Demonstrates how agents and blackboards can be used to make

   parallel programming easier

  1. Shows object-oriented approaches to multitasking and multithreading

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

  3. Contains the new POSIX/UNIX IEEE Standard for the Pthreads library


Chapter 1. The Joys of Concurrent Programming. 

Chapter 2. The Challenges of Parallel and Distributed Programming. 

Chapter 3. Dividing C++ Programs into Multiple Tasks. 

Chapter 4. Dividing C++ Programs into Multiple Threads. 

Chapter 5. Synchronizing Concurrency between Tasks.

Chapter 6. Adding Parallel Programming Capabilities to C++ through the PVM. 

Chapter 7. Error Handling, Exceptions, and Software Reliability.

Chapter 8. Distributed Object-Oriented Programming in C++. 

Chapter 9. SPMD and MPMD Using Templates and the MPI. 

Chapter 10. Visualizing Concurrent and Distributed System Design. 

Chapter 11. Designing Components That Support Concurrency. 

Chapter 12. Implementing Agent-Oriented Architectures. 

Chapter 13. Blackboard Architectures Using PVM, Threads, And C++ Components. 

Appendix A. 

Appendix B. 


Book Index