Parallel and Distributed Programming Using C++
暫譯: 使用 C++ 的平行與分散式程式設計
Cameron Hughes, Tracey Hughes
- 出版商: Addison Wesley
- 出版日期: 2003-09-04
- 定價: $1,880
- 售價: 9.0 折 $1,692
- 語言: 英文
- 頁數: 720
- 裝訂: Hardcover
- ISBN: 0131013769
- ISBN-13: 9780131013766
-
相關分類:
C++ 程式語言
立即出貨(限量)
買這商品的人也買了...
-
$680$537 -
$650$514 -
$980$774 -
$480$379 -
$920$727 -
$860$679 -
$1,930$1,834 -
$690$587 -
$780$741 -
$590$466 -
$750$585 -
$690$538 -
$720$562 -
$780$616 -
$780$616 -
$720$569 -
$690$587 -
$400$316 -
$620$490 -
$990$782 -
$750$638 -
$490$382 -
$560$476 -
$450$356 -
$2,390$2,271
商品描述
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
Table of Contents
Preface.
1. The Joys of Concurrent Programming.
2. The Challenges of Parallel and Distributed Programming.
3. Dividing C++ Programs into Multiple Tasks.
4. Dividing C++ Programs into Multiple Threads.
5. Synchronizing Concurrency between Tasks.
6. Adding Parallel Programming Capabilities to C++ through the
PVM.
7. Error Handling, Exceptions, and Software Reliability.
8. Distributed Object-Oriented Programming in C++.
9. SPMD and MPMD Using Templates and the MPI.
10. Visualizing Concurrent and Distributed System Design.
11. Designing Components That Support Concurrency.
12. Implementing Agent-Oriented Architectures.
13. Blackboard Architectures Using PVM, Threads, And C++
Components.
Appendix A.
Appendix B.
Bibliography.
Index.
商品描述(中文翻譯)
《使用 C++ 的平行與分散式程式設計》提供了一個深入的視角,介紹如何構建能夠利用多處理器電腦的軟體。書中介紹了編寫平行虛擬機的簡單方法,並解釋了叢集應用程式開發的基本概念。透過易於理解的多執行緒程式設計概述,本書還展示了如何編寫能夠在網路上協同工作以解決問題和完成工作的軟體元件。
《使用 C++ 的平行與分散式程式設計》為電腦程式設計師、軟體開發人員、設計師、研究人員和軟體架構師提供了一種架構化的平行程式設計方法。對於計算機科學學生來說,這本書也將非常有用。
- 演示如何使用代理和黑板來簡化平行程式設計
- 展示物件導向的多任務和多執行緒方法
- 演示如何使用 UML 來記錄需要平行或分散式程式設計的設計
- 包含新的 POSIX/UNIX IEEE 標準的 Pthreads 函式庫
**目錄**
**前言。**
**1. 並行程式設計的樂趣。**
什麼是並行性?平行程式設計的好處。分散式程式設計的好處。所需的最小努力。軟體並行性的基本層次。C++ 中對平行性的關鍵字支援不足。平行與分散式程式設計的程式環境。總結—邁向並行性。
**2. 平行與分散式程式設計的挑戰。**
重大的範式轉變。協調挑戰。有時硬體故障和軟體崩潰。過度的平行化或分散可能會帶來負面後果。選擇良好的架構需要研究。需要不同的測試和除錯技術。必須傳達平行或分散式設計。總結。
**3. 將 C++ 程式劃分為多個任務。**
過程:定義。過程的解剖。過程狀態。過程排程。上下文切換。創建過程。終止過程。過程資源。什麼是非同步和同步過程?將程式劃分為任務。總結。
**4. 將 C++ 程式劃分為多個執行緒。**
執行緒:定義。執行緒的解剖。執行緒排程。執行緒資源。執行緒模型。Pthread 函式庫簡介。一個簡單的執行緒程式的解剖。創建執行緒。管理執行緒。執行緒安全性與函式庫。將程式劃分為多個執行緒。總結。
**5. 在任務之間同步並行性。**
協調執行順序。同步對數據的訪問。什麼是信號量?同步:物件導向的方法。總結。
**6. 通過 PVM 為 C++ 添加平行程式設計能力。**
PVM 支援的經典平行模型。C++ 的 PVM 函式庫。PVM 的基本機制。在 PVM 任務中訪問標準輸入(stdin)和標準輸出(stdout)。總結。
**7. 錯誤處理、例外和軟體可靠性。**
什麼是軟體可靠性?軟體層和硬體元件中的故障。缺陷的定義取決於軟體規範。識別處理缺陷與處理例外的區別。軟體可靠性:一個簡單的計劃。在錯誤處理中使用映射物件。C++ 中的例外處理機制。事件圖、邏輯表達式和邏輯圖。總結。
**8. C++ 中的分散式物件導向程式設計。**
工作的分解與封裝。在其他地址空間中訪問物件。基本 CORBA 消費者的解剖。CORBA 生產者的解剖。CORBA 應用程式的基本藍圖。命名服務。更深入了解物件適配器。實作與介面庫。使用 CORBA 的簡單分散式網路服務。交易服務。客戶端/伺服器範式。總結。
**9. 使用模板和 MPI 的 SPMD 和 MPMD。**
MPI 的工作分解結構。使用模板函式表示 MPI 任務。簡化 MPI 通訊。總結。
**10. 可視化並行與分散式系統設計。**
可視化結構。可視化並行行為。可視化整個系統。總結。
**11. 設計支援並行性的元件。**
利用介面類別的優勢。更深入了解物件導向的互斥和介面類別。維持串流隱喻。用於 PVM 串流的使用者定義類別。物件導向的管道和 FIFO 作為低階構建塊。支援並行性的框架類別元件。總結。
**12. 實作代理導向架構。**
什麼是代理?什麼是代理導向程式設計?基本代理元件。在 C++ 中實作代理。多代理系統。總結。
**13. 使用 PVM、執行緒和 C++ 元件的黑板架構。**
黑板模型。結構化黑板的方法。知識來源的解剖。黑板的控制策略。使用 CORBA 物件實作黑板。使用全域物件實作黑板。使用 Pthreads 啟動知識來源。總結。
**附錄 A。**
類別和物件圖。互動圖。狀態圖。包圖。
**附錄 B。**
**參考文獻。**
**索引。**