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

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

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

定 價(jià):¥49.00

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

ISBN: 9787121038716 出版時(shí)間: 2007-02-01 包裝: 膠版紙
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 306 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

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

本目錄推薦

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