did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321544674

Parallel and Distributed Programming Using C++ (paperback)

by ;
  • ISBN13:

    9780321544674

  • ISBN10:

    0321544676

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2003-08-25
  • Publisher: Addison-Wesley Professional
  • Purchase Benefits
  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $54.99
We're Sorry.
No Options Available at This Time.

Summary

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

Author Biography

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++.

Table of Contents

Preface
The Joys of Concurrent Programming
What is Concurrency?
The Benefits of Parallel Programming
The Benefits of Distributed Programming
The Minimal Effort Required
The Basic Layers of Software Concurrency
No Keyword Support for Parallelism in C++
Programming Environments for Parallel and Distributed Programming
Summary-Toward Concurrency
The Challenges of Parallel and Distributed Programming
The Big Paradigm Shift
Coordination Challenges
Sometimes Hardware Fails and Software Quits
Too Much Parallelization or Distribution Can Have Negative Consequences
Selecting a Good Architecture Requires Research
Different Techniques for Testing and Debugging are Required
The Parallel or Distributed Design Must Be Communicated
Summary
Dividing C++ Programs into Multiple Tasks
Process: A Definition
Anatomy of a Process
Process States
Process Scheduling
Context Switching
Creating a Process
Terminating a Process
Process Resources
What are Asynchronous and Synchronous Processes?
Dividing the Program into Tasks
Summary
Dividing C++ Programs into Multiple Threads
Threads: A Definition
The Anatomy of a Thread
Thread Scheduling
Thread Resources
Thread Models
Introduction to the Pthread Library
The Anatomy of a Simple Threaded Program
Creating Threads
Managing Threads
Thread Safety and Libraries
Dividing Your Program into Multiple Threads
Summary
Synchronizing Concurrency between Tasks
Coordinating Order of Execution
Synchronizing Access to Data
What are Semaphores?
Synchronization: An Object-Oriented Approach
Summary
Adding Parallel Programming Capabilities to C++ through the PVM
The Classic Parallelism Models Supported by PVM
The PVM Library for C++
The Basic Mechanics of the PVM
Accessing Standard Input (stdin) and Standard Output (stdout) within PVM Tasks
Summary
Error Handling, Exceptions, and Software Reliability
What is Software Reliability?
Failures in Software Layers and Hardware Components
Definitions of Defects Depend on Software Specifications
Recognizing Where to Handle Defects versus Where to Handle Exceptions
Software Reliability: A Simple Plan
Using Map Objects in Error Handling
Exception Handling Mechanisms in C++
Event Diagrams, Logic Expressions, and Logic Diagrams
Summary
Distributed Object-Oriented Programming in C++
Decomposition and Encapsulation of the Work
Accessing Objects in Other Address Spaces
The Anatomy of a Basic CORBA Consumer
The Anatomy of a CORBA Producer
The Basic Blueprint of a
Table of Contents provided by Publisher. All Rights Reserved.

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program