並行編程模式

並行編程模式

並行編程模式為一些具有明確定義的編程模式——用以描述並行編程的形式和方法。

基本介紹

  • 書名:並行編程模式
  • 作者: [美]Timothy 
  • 原版名稱:Patterns for Parallel Programming
  • 定價:29.80元
  • 出版社:清華大學出版社
  • 出版時間:2005-11-22
  • 裝幀:簡裝本
概述,定義,目錄,

概述

並行編程模式,通俗的說就是指並行編程的一種形式,一種方式,就像串列編程時,你是採用過程式還是結構化一般。並行編程模式主要指並行編程時,程式設計師將程式各模組並行執行時,模組間的通信方式,目前並行編程模式主要包括以下三種:
1 共享記憶體模式,以openMP為代表;
2 訊息傳遞模式,以MPI,PVM為代表;
3 數據並行模式,以Fortran為代表;

定義

首先,所謂“並行編程模式”仍處於不斷的被發現、發掘的階段。當前已經有各路人馬對這一領域進行了研究,但遠遠沒有達到統一認識的高度。也沒有一套業界普遍認同的體系或者描述。這就造成了當前這一領域的現狀;
從事研究的人有不同的背景,他們各自總結出的模式種類不盡相同。即使是同一個模式,不同的團隊給它們取得名字也可能不一樣。不過這並不妨礙我們對“並行編程中的設計模式”進行一定的了解,並在實際的軟體開發工作中有所借鑑

目錄

第1章 並行編程的模式語言 1
1.1 引言 1
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

相關詞條

熱門詞條

聯絡我們