並行編程模式為一些具有明確定義的編程模式——用以描述並行編程的形式和方法。
基本介紹
- 書名:並行編程模式
- 作者: [美]Timothy
- 原版名稱:Patterns for Parallel Programming
- 定價:29.80元
- 出版社:清華大學出版社
- 出版時間:2005-11-22
- 裝幀:簡裝本
概述
定義
目錄
1.2 並行編程 2
1.3 設計模式和模式語言 3
1.4 並行編程的模式語言 4
第2章 並行計算的背景和術語 5
2.1 並行程式與作業系統的並發性比較 5
2.2 並行體系結構簡介 5
2.2.1 Flynn分類法 6
2.2.2 MIMD的進一步分類 7
2.2.3 小結 9
2.3 並行編程環境 9
2.4 並行計算術語 12
2.5 並行計算的度量 14
2.6 通信 16
2.6.1 延遲和頻寬 16
2.6.2 重疊通信和計算與隱藏延遲 16
2.7 本章小結 17
第3章 “尋找並發性”設計空間 18
3.1 設計空間簡介 18
3.1.1 概述 19
3.1.2 使用分解模式 19
3.1.3 示例的背景 19
3.2 任務分解模式 21
3.3 數據分解模式 25
3.4 分組任務模式 28
3.5 排序任務模式 30
3.6 數據共享模式 32
3.7 設計評估模式 35
3.8 本章小結 39
第4章 “算法結構”設計空間 40
4.1 概述 40
4.2 選擇一種算法結構模式 41
4.2.1 目標平台 41
4.2.2 主要組織原則 42
4.2.3 算法結構決策樹 42
4.2.4 重新評估 43
4.3 示例 44
4.3.1 醫學成像 44
4.3.2 分子動力學 44
4.4 任務並行模式 45
4.5 分治模式 52
4.6 幾何分解模式 56
4.7 遞歸數據模式 70
4.8 流水線模式 75
4.9 基於事件的協作模式 84
第5章 “支持結構”設計空間 88
5.1 概述 88
5.1.1 程式構造模式 88
5.1.2 表示數據結構的模式 89
5.2 面臨的問題 89
5.3 模式的選擇 91
5.4 SPMD模式 92
5.5 主/輔助進程模式 105
5.6 循環並行模式 113
5.7 派生/連線模式 125
5.8 共享數據模式 129
5.9 共享佇列模式 137
5.10 分散式數組模式 151
5.11 其他支持結構 161
5.11.1 SIMD 162
5.11.2 MPMD 162
5.11.3 客戶-伺服器計算 163
5.11.4 使用聲明語言的並發編程 163
5.11.5 問題求解環境 164
第6章 “實現機制”設計空間 165
6.1 概述 166
6.2 UE的管理 166
6.2.1 執行緒的創建/銷毀 166
6.2.2 進程的創建/銷毀 167
6.3 同步 168
6.3.1 存儲器同步和圍柵 169
6.3.2 柵欄 172
6.3.3 互斥 175
6.4 通信 182
6.4.1 訊息傳遞 182
6.4.2 集合通信 188
6.4.3 其他通信構造 193
附錄A OpenMP簡介 195
A.1 核心概念 195
A.2 結構塊和指令格式 198
A.3 工作分攤法 199
A.4 數據環境子句 202
A.5 OpenMP運行時庫 204
A.6 同步 205
A.7 調度子句 208
A.8 本附錄小結 210
附錄B MPI簡介 211
B.1 概念 211
B.2 啟動 212
B.3 基本的點到點訊息傳遞 214
B.4 集合操作 216
B.5 高級的點到點訊息傳遞方法 220
B.6 MPI和FORTRAN 224
B.7 本附錄小結 226
附錄C Java並發編程簡介 227
C.1 執行緒的創建 228
C.1.1 匿名的內部類 229
C.1.2 Executor和工廠方法 230
C.2 原子性、存儲器同步和volatile關鍵字 232
C.3 同步塊 232
C.4 等待並通知 234
C.5 鎖 235
C.6 其他同步機制和共享數據結構 237
C.7 中斷 238
術語表 239
參考文獻 249