出版時(shí)間:2012-8 出版社:機(jī)械工業(yè)出版社 作者:9787111388067 頁(yè)數(shù):165 譯者:凌杰
Tag標(biāo)簽:無(wú)
內(nèi)容概要
在當(dāng)前多核體系結(jié)構(gòu)中,習(xí)慣于編寫(xiě)所有程序員熟悉的那種串行化代碼顯然已無(wú)法滿足用戶的性能需求,并行編程將是提升系統(tǒng)性能的最簡(jiǎn)單、最直接的途徑。
并行編程一直被認(rèn)為只有專(zhuān)家才能涉足的領(lǐng)域,同時(shí)也經(jīng)常被視為一個(gè)雷區(qū),其中隱藏著各種難以重現(xiàn)的、詭異的軟件缺陷。幸運(yùn)的是,并行模式庫(kù)(PPL)和異步代理庫(kù)的出現(xiàn)將我們引入了一種全新的并行編程模型,這大大地簡(jiǎn)化了編寫(xiě)并行程序的工作。當(dāng)然,這一切要?dú)w功于一系列精致而復(fù)雜的算法,它們能夠很好地適應(yīng)多核體系結(jié)構(gòu)中的動(dòng)態(tài)分布式計(jì)算。
通過(guò)學(xué)習(xí)《Visual
C++并行編程實(shí)戰(zhàn)(多核構(gòu)架下分工與協(xié)作的設(shè)計(jì)模式)》(作者坎貝爾、米勒)介紹的設(shè)計(jì)模式,讀者可以極大地改善應(yīng)用程序在多核計(jì)算機(jī)上的性能?!禫isual
C++并行編程實(shí)戰(zhàn)(多核構(gòu)架下分工與協(xié)作的設(shè)計(jì)模式)》介紹的這些模式不僅適用于現(xiàn)階段的硬件環(huán)境,同時(shí)也方便日后擴(kuò)展使用。
隨著計(jì)算機(jī)并行架構(gòu)的不斷提升,應(yīng)用程序的表現(xiàn)也會(huì)越來(lái)越好。
作者簡(jiǎn)介
作者簡(jiǎn)介
Colin Campbell 資深并發(fā)編程專(zhuān)家,Model Computation公司的創(chuàng)始人,與人合著有《Model-Based Software Testing and Analysis in C#》、《Parallel Programming with Microsoft .NET》等經(jīng)典著作,還發(fā)表了若干篇針對(duì)軟件分析(嚴(yán)格數(shù)學(xué)方法)的學(xué)術(shù)論文。
Ade Miller 資深并發(fā)編程專(zhuān)家,微軟研究院首席軟件開(kāi)發(fā)工程師,擔(dān)任基于Windows HPC Server團(tuán)隊(duì)的項(xiàng)目經(jīng)理和微軟公司模式與實(shí)踐團(tuán)隊(duì)的開(kāi)發(fā)主管。目前主要關(guān)注并行和分布式計(jì)算,以及使用工程領(lǐng)導(dǎo)方式改善團(tuán)隊(duì)開(kāi)發(fā)的方式。他與人合著有《C++ AMP》、《Parallel Programming with Microsoft .NET》等經(jīng)典著作。
譯者簡(jiǎn)介
凌杰 自由軟件開(kāi)發(fā)者,畢業(yè)于浙江大學(xué)。專(zhuān)注于C/C++領(lǐng)域多年,擁有豐富的國(guó)內(nèi)外大型研究型項(xiàng)目開(kāi)發(fā)及管理經(jīng)驗(yàn),并長(zhǎng)年擔(dān)任上海交通大學(xué)飲水思源BBS的C/C++版版主。
書(shū)籍目錄
譯者序
推薦序一
推薦序二
前言
致謝
第1章 引言
1.1 潛在并行化的重要意義
1.2 分解、協(xié)調(diào)、可擴(kuò)展性共享
1.2.1 理解任務(wù)
1.2.2 協(xié)調(diào)任務(wù)
1.2.3 可擴(kuò)展性數(shù)據(jù)共享
1.2.4 設(shè)計(jì)方法
1.3 選擇正確的設(shè)計(jì)模式
1.4 關(guān)于術(shù)語(yǔ)
1.5 并行的局限
1.6 一些建議
1.7 練習(xí)題
1.8 更多資源
第2章 并行循環(huán)
2.1 基本用法
2.1.1 并行版的for循環(huán)
2.1.2 parallel_for_each
2.1.3 期望為何
2.2 實(shí)例示范
2.2.1 串行版的Credit Review
2.2.2 parallel_for_each版的Credit Review
2.2.3 性能對(duì)比
2.3 模式變體
2.3.1 提前退出循環(huán)
2.3.2 異常處理
2.3.3 小型循環(huán)體的特殊處理
2.3.4 并行度控制
2.4 反面模式
2.4.1 隱性循環(huán)體依賴
2.4.2 少量迭代的小循環(huán)體
2.4.3 重復(fù)輸入性枚舉
2.4.4 基于協(xié)同性阻塞的交叉調(diào)度
2.5 相關(guān)模式
2.6 練習(xí)題
2.7 補(bǔ)充閱讀
第3章 并行任務(wù)
3.1 基本用法
3.2 實(shí)例示范
3.3 模式變體
3.3.1 基于協(xié)同性阻塞的任務(wù)協(xié)調(diào)
3.3.2 取消一個(gè)任務(wù)組
3.3.3 異常處理
3.3.4 預(yù)測(cè)性執(zhí)行
3.4 反面模式
3.4.1 閉包中的變量捕獲
3.4.2 計(jì)劃外的取消狀態(tài)傳遞
3.4.3 同步化成本
3.5 設(shè)計(jì)注意事項(xiàng)
3.5.1 任務(wù)組調(diào)用約定
3.5.2 任務(wù)與線程
3.5.3 如何調(diào)度任務(wù)
3.5.4 結(jié)構(gòu)化任務(wù)組及任務(wù)處理
3.5.5 輕量級(jí)任務(wù)
3.6 練習(xí)題
3.7 補(bǔ)充閱讀
第4章 并行聚合
4.1 基本用法
4.2 實(shí)例示范
4.3 模式變體
4.3.1 基于小型循環(huán)體的考慮
4.3.2 Combinable對(duì)象的其他用處
4.4 設(shè)計(jì)注意事項(xiàng)
4.5 相關(guān)模式
4.6 練習(xí)題
4.7 補(bǔ)充閱讀
第5章 Future
5.1 基本用法
5.2 實(shí)例示范:Adatum金融儀表盤(pán)
5.2.1 業(yè)務(wù)對(duì)象
5.2.2 分析引擎
5.3 模式變體
5.3.1 取消Future對(duì)象
5.3.2 消除瓶頸
5.3.3 在運(yùn)行時(shí)修改任務(wù)圖
5.4 設(shè)計(jì)注意事項(xiàng)
5.4.1 分解到future對(duì)象中去
5.4.2 函數(shù)式風(fēng)格
5.5 相關(guān)模式
5.5.1 管道模式
5.5.2 Master/Worker模式
5.5.3 動(dòng)態(tài)任務(wù)并行化模式
5.5.4 離散事件模式
5.6 練習(xí)題
第6章 動(dòng)態(tài)任務(wù)并行化
6.1 基本用法
6.2 實(shí)例示范
6.3 模式變體
6.3.1 非空while循環(huán)體的并行化
6.3.2 在掛起等待環(huán)境中添加任務(wù)
6.4 練習(xí)題
6.5 補(bǔ)充閱讀
第7章 管道
7.1 消息塊類(lèi)型概述
7.2 基本用法
7.3 實(shí)例示范
7.3.1 串行化的圖形處理
7.3.2 圖形管道
7.3.3 性能特征
7.4 模式變體
7.4.1 異步管道
7.4.2 管道中的取消操作
7.4.3 管道中的異常處理
7.4.4 多生產(chǎn)者作用下的負(fù)載平衡
7.4.5 管道與流的關(guān)系
7.5 反面模式
7.5.1 在管道各階段之間進(jìn)行大量的數(shù)據(jù)拷貝
7.5.2 管道階段中的工作量過(guò)小
7.5.3 在消息傳遞時(shí)忘記使用隔離技術(shù)
7.5.4 無(wú)限期的等待
7.5.5 無(wú)限制的隊(duì)列增長(zhǎng)
7.5.6 更多信息
7.6 設(shè)計(jì)注意事項(xiàng)
7.7 關(guān)聯(lián)模式
7.8 練習(xí)題
7.9 補(bǔ)充閱讀
附錄A 任務(wù)調(diào)度器與資源管理器
附錄B 并行應(yīng)用程序的調(diào)試與分析
附錄C 技術(shù)總覽
術(shù)語(yǔ)表
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
Visual C++并行編程實(shí)戰(zhàn) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版