注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)軟件與程序設(shè)計其他編程語言/工具多核程序設(shè)計技術(shù):通過軟件多線程提升性能

多核程序設(shè)計技術(shù):通過軟件多線程提升性能

多核程序設(shè)計技術(shù):通過軟件多線程提升性能

定 價:¥49.00

作 者: Shameem Akhter;Jason Roberts
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 高級程序語言設(shè)計

ISBN: 9787121038716 出版時間: 2007-02-01 包裝: 膠版紙
開本: 16開 頁數(shù): 306 字數(shù):  

內(nèi)容簡介

  本書從原理、技術(shù)、經(jīng)驗和工具等方面為讀者提供關(guān)于多核程序設(shè)計技術(shù)的全方位解釋。本書由三大部分組成:第一部分包括第1~4章,介紹軟件多線程的內(nèi)容;第二部分包括第5章和第6章,其中討論用于編寫并行程序的常用編程API:第三部分包括其余五章關(guān)于多核程序設(shè)計的內(nèi)容,講述常見并行程序設(shè)計問題及解決方法(第7章)、多線程應(yīng)用程序的調(diào)試技術(shù)(第8章)、單核與多核處理器基本原理(第9、10章)和所需的Inter公司的軟件開發(fā)輔助工具(第11章)。本書作者都是長期供職于Inter公司的資深軟件工程師和結(jié)構(gòu)師,書中融入了他們自己豐富的軟硬件開發(fā)經(jīng)驗,可以為面向多核體系結(jié)構(gòu)進行并行程序設(shè)計的開發(fā)人員提供巨大的幫助。不論對從未接觸過并行程序設(shè)計的開發(fā)人員,還是轉(zhuǎn)型面向多核體系結(jié)構(gòu)進行并行程序設(shè)計的開發(fā)人員來講,本書都是一本難得的參考書。

作者簡介

  ShameemAkhter是Intel公司的一名平臺結(jié)構(gòu)師,主要從事單插槽多核體系結(jié)構(gòu)和性能分析的研究和實現(xiàn)工作.他曾經(jīng)是Intel軟件和解決方案小組的一名資深軟件工程師,負責(zé)面向桌面和服務(wù)器平臺的應(yīng)用程序的優(yōu)化設(shè)計.Shameem獲得了一項關(guān)于面向受限程序設(shè)計的多線程接口的專利技術(shù),該項專利是其碩士論文(計算機科學(xué))的組成部分..JasonRoberts是Intel公司的一名資深軟件工程師.在過去的10年之中,Jason從事過大量不同的多線程軟件產(chǎn)品的開發(fā)工作,這些產(chǎn)品覆蓋了桌面平臺.手持平臺以及嵌入式DSP平臺上的各種應(yīng)用....

圖書目錄

第1章 多核體系結(jié)構(gòu)概述  ......1
1.1 促成軟件并發(fā)的因素  ......2
1.2 并行計算平臺  .....5
1.2.1 微處理器中的并行計算 ...7
1.2.2 超線程技術(shù)與多核體系結(jié)構(gòu)的聯(lián)系與區(qū)別 ......9
1.2.3 單核與多核平臺上的多線程技術(shù)對比 .......11
1.3 “性能”解析  .....14
1.3.1 Amdahl定律  ....14
1.3.2 Gustafson定律:增長式回報 .....18
1.4 本章要點  ......19
第2章 多線程技術(shù)概述  ....21
2.1 線程的定義  .......22
2.2 線程的層次  .......22
2.2.1 操作系統(tǒng)之上的線程 ...23
2.2.2 操作系統(tǒng)內(nèi)部的線程 ...26
2.2.3 硬件上的線程  ....30
2.3 線程創(chuàng)建之后的相關(guān)行為... .......31
2.4 應(yīng)用程序設(shè)計模型與多線程技術(shù) ......32
2.5 虛擬環(huán)境:虛擬機和虛擬平臺 ......33
2.5.1 運行時虛擬化  ....33
2.5.2 系統(tǒng)虛擬化  ...33
2.6 本章要點  ......36
第3章 并行程序設(shè)計的基本概念 ......37
3.1 多線程設(shè)計  .......37
3.1.1 任務(wù)分解  .......38
3.1.2 數(shù)據(jù)分解  .......39
3.1.3 數(shù)據(jù)流分解  ...40
3.1.4 各種分解方式的比較 ...41
3.2 并行程序設(shè)計人員面臨的挑戰(zhàn) ......42
3.3 并行程序設(shè)計模式  ...43
3.4 誤差擴散問題:一個具有啟發(fā)意義的例子 ...45
3.4.1 誤差擴散算法分析  .48
3.4.2 一種并行誤差擴散算法 ....48
3.4.3 其他并行誤差擴散算法 ....50
3.5 本章要點  ......52
第4章 多線程和并行程序設(shè)計結(jié)構(gòu) .......53
4.1 同步  .....53
4.2 臨界段  ......55
4.3 死鎖  .....56
4.4 同步原語  ......58
4.4.1 信號量  ......58
4.4.2 鎖  ...61
4.4.3 條件變量  .......64
4.5 消息  .....66
4.6 流控制相關(guān)的概念  ...69
4.6.1 柵欄  .....69
4.6.2 柵障  .....69
4.7 與實現(xiàn)相關(guān)的多線程特征 .....70
4.8 本章要點  ......71
第5章 線程API  ...72
5.1 微軟Windows的線程API ....72
5.1.1 Win32/MFC線程API .......72
5.2 微軟.NET框架的線程API .......107
5.2.1 創(chuàng)建線程  .....107
5.2.2 管理線程  .....111
5.2.3 線程池  ....113
5.2.4 線程同步  .....119
5.3 POSIX線程  ....122
5.3.1 創(chuàng)建線程  .....123
5.3.2 管理線程  .....125
5.3.3 線程同步  .....126
5.3.4 激發(fā)  ...128
5.3.5 編譯與鏈接  ......137
5.4 本章要點  ....137
第6章 OpenMP†:一種可移植的多線程解決方案 ......139
6.1 將循環(huán)多線程化所面臨的挑戰(zhàn) ....141
6.1.1 循環(huán)迭代相關(guān)  .......141
6.1.2 數(shù)據(jù)競爭  .....144
6.1.3 管理共享數(shù)據(jù)和私有數(shù)據(jù) ...145
6.1.4 循環(huán)調(diào)度與分塊  ...147
6.1.5 有效地使用歸約  ...151
6.2 降低線程開銷  .....154
6.2.1 任務(wù)分配區(qū)  ......156
6.3 提高程序性能的設(shè)計方法 ...157
6.3.1 使用Barrier和Nowait ....157
6.3.2 單線程和多線程交錯執(zhí)行 ...159
6.3.3 數(shù)據(jù)的Copy-in和Copy-out .....160
6.3.4 保護共享變量的更新操作 ...162
6.3.5 Intel OpenMP任務(wù)隊列擴展 ....165
6.4 OpenMP庫函數(shù)  ......167
6.5 OpenMP環(huán)境變量  .......169
6.6 編譯  ....169
6.7 調(diào)試  ...171
6.8 性能  ...173
6.9 本章要點  ....175
第7章 常見并行程序設(shè)計問題的解決方法 ......176
7.1 線程過多  ....176
7.2 數(shù)據(jù)競爭、死鎖和活鎖 ...179
7.2.1 死鎖  ...182
7.3 競爭激烈的鎖  .....185
7.3.1 優(yōu)先級倒置  ......186
7.3.2 鎖競爭激烈的解決方法 .......187
7.4 非阻塞算法  .....190
7.4.1 ABA問題  ...192
7.4.2 cache行乒乓現(xiàn)象  .194
7.4.3 存儲空間回收問題 .....194
7.4.4 一些建議  .....195
7.5 線程安全函數(shù)和庫  ......196
7.6 存儲問題  ....197
7.6.1 帶寬  ...197
7.6.2 cache的利用  ....198
7.6.3 存儲競爭  .....201
7.7 cache相關(guān)的問題  ...204
7.7.1 偽共享  ....204
7.7.2 存儲一致性  ......208
7.7.3 當(dāng)前的IA-32體系結(jié)構(gòu) .......209
7.7.4 Itanium®體系結(jié)構(gòu)  211
7.7.5 高級語言  .....214
7.8 避免IA-32上的流水線停頓 ....215
7.9 面向高性能的數(shù)據(jù)組織 ...216
7.10 本章要點  ....217
第8章 多線程調(diào)試技術(shù)  .......219
8.1 通用調(diào)試技術(shù)  .....219
8.1.1 在設(shè)計時考慮調(diào)試 .....220
8.1.2 使用trace緩沖擴展應(yīng)用程序 .......222
8.2 Windows多線程程序的調(diào)試 ...228
8.2.1 Threads窗口  ....229
8.2.2 跟蹤點  ....229
8.2.3 斷點過濾  .....230
8.2.4 線程命名  .....231
8.2.5 綜合討論  .....232
8.3 使用GDB進行多線程調(diào)試 .....236
8.3.1 線程創(chuàng)建通告  .......237
8.3.2 獲取應(yīng)用程序中所有線程的列表 ......237
8.3.3 設(shè)置線程相關(guān)的斷點 ......238
8.3.4 線程間切換  ......239
8.3.5 向一組線程發(fā)送命令 ......240
8.4 本章要點  ....240
第9章 單核處理器基礎(chǔ)  .......242
9.1 處理器體系結(jié)構(gòu)基礎(chǔ)知識 ...242
9.2 超標(biāo)量結(jié)構(gòu)與EPIC結(jié)構(gòu)的對比 ......249
9.3 本章要點  ....250
第10章 面向Intel®多核處理器的多線程技術(shù) .......251
10.1 基于硬件的多線程技術(shù) .....251
10.1.1 Intel處理器內(nèi)的多線程技術(shù) .......255
10.2 超線程技術(shù)  .......256
10.2.1 多處理器技術(shù)與超線程技術(shù)之間的區(qū)別 ...258
10.2.2 超線程體系結(jié)構(gòu)  .258
10.3 多核處理器  .......261
10.3.1 多核體系結(jié)構(gòu)知識 ...261
10.3.2 多處理器與多核處理器的對比 ...264
10.3.3 Itanium®體系結(jié)構(gòu)下的多核處理器 .......265
10.4 多個處理器之間的交互 .....269
10.4.1 處理器間通信與多線程程序設(shè)計 ....269
10.5 功耗  ......271
10.5.1 功耗公式  ...272
10.5.2 降低功耗  ...273
10.6 多核處理器體系結(jié)構(gòu)未來發(fā)展趨勢 .......274
10.7 本章要點  .......276
第11章 Intel®軟件開發(fā)產(chǎn)品  ...278
11.1 概述  ......278
11.1.1 調(diào)研  ......279
11.1.2 創(chuàng)建/表達  .......279
11.1.3 調(diào)試  ......280
11.1.4 優(yōu)化  ......280
11.2 Intel®線程檢測器  .......280
11.2.1 Intel線程檢測器的使用 .....282
11.2.2 使用提示  ...283
11.2.3 使用Intel®線程檢測器檢查OpenMP代碼 ...285
11.3 Intel編譯器  .......285
11.3.1 OpenMP†  ...285
11.3.2 軟件式推測預(yù)計算 ...291
11.3.3 編譯器優(yōu)化和cache優(yōu)化 .......292
11.4 Intel®調(diào)試器  ......293
11.5 Intel庫  ......294
11.5.1 Intel®數(shù)學(xué)核心函數(shù)庫 ...294
11.5.2 Intel®集成式高性能原函數(shù) .....295
11.5.3 使用并行庫時的一些并行程序問題 .....296
11.5.4 未來發(fā)展趨勢  .....297
11.5.5 Intel®線程構(gòu)建模塊 .......297
11.6 Intel® VTuneTM性能分析器 .......297
11.6.1 尋找熱點  ...298
11.6.2 使用調(diào)用圖來發(fā)現(xiàn)可采用多線程實現(xiàn)的地方 299
11.6.3 檢查負載平衡  .....300
11.7 Intel®線程直方統(tǒng)計器 ....301
11.8 MPI程序設(shè)計  ...302
11.8.1 Intel對MPI的支持 .......303
11.9 本章要點  .......306
術(shù)語表   .308
參考文獻  .......325
索引   ......330

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號