培訓(xùn)目標(biāo):
了解多核編程常見(jiàn)問(wèn)題、鎖競(jìng)爭(zhēng)、加速比、負(fù)載均衡
- 了解介紹多核編程的基礎(chǔ)知識(shí):多線程退出算法、讀寫(xiě)鎖、旋轉(zhuǎn)鎖、原子操作, 
 
- 了解基于OpenMP標(biāo)準(zhǔn)的并行程序設(shè)計(jì)基礎(chǔ)等; 
 
- 理解多核編程的基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)與算法:數(shù)組、鏈表、哈希表、二叉樹(shù)、AVL樹(shù)、復(fù)合二叉樹(shù) 
 
- 理解多線程并行遍歷的基本方法。 
 
- 理解并行編程模式:分治模式、流水線模式、任務(wù)圖分解與調(diào)度模式、動(dòng)態(tài)任務(wù)調(diào)度模式等, 
 
- 了解并行搜索、并行排序、 并行數(shù)值計(jì)算包括并行矩陣乘法、并行前綴和計(jì)算的原理和應(yīng)用。 
 
- 如何解決多核系統(tǒng)中的計(jì)算隨CPU核數(shù)的擴(kuò)展性, 
 
- 掌握分布式計(jì)算設(shè)計(jì)模式如線程分組競(jìng)爭(zhēng)模式、條件同步模式、批量私有化處理模式、數(shù)據(jù)本地化模式等。 
 
- 了解適應(yīng)多核的內(nèi)存管理方案。 
 
- 了解并行計(jì)算的任務(wù)分解與調(diào)度原理和實(shí)現(xiàn)方法 
 
培訓(xùn)對(duì)象:軟件開(kāi)發(fā)工程師
學(xué)員基礎(chǔ):具有多核編程的基本概念和初步經(jīng)驗(yàn)
培訓(xùn)內(nèi)容:
多核計(jì)算概述 
 | 
- 多核編程會(huì)遇到那些問(wèn)題
 
- 多核編程與單核多線程編程的區(qū)別
 
- 多核編程與多機(jī)分布式編程的區(qū)別
 
- 加速比系數(shù)
 
- 鎖競(jìng)爭(zhēng)問(wèn)題及對(duì)加速比的影響
 
- 負(fù)載平衡問(wèn)題對(duì)加速比的影響
 
 
 | 
| 多線程編程基礎(chǔ) | 
- 多線程編程基本概念
 
- 各種鎖性能比較
 
- 讀寫(xiě)鎖算法
 
- 多線程退出算法
 
 
 
            ? | 
| OpenMP程序設(shè)計(jì) | 
- OpenMP基本概念
 
- OpenMP編程模型
 
- 線程創(chuàng)建與工作分?jǐn)?/li>
 - 數(shù)據(jù)處理
 
- 任務(wù)調(diào)度
 
- 線程間的同步
 
- OpenMP庫(kù)函數(shù)詳解
 
- OpenMP環(huán)境變量
 
- OpenMP內(nèi)部控制變量及相關(guān)流程
 
 
 | 
| 基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)與算法 | 
- 數(shù)組
 
- 棧
 
- 鏈表
 
- 哈希表
 
- 普通樹(shù)與二叉樹(shù)
 
- AVL搜索樹(shù)
 
- 復(fù)合二叉樹(shù)
 
 
? 
 | 
| 并行程序設(shè)計(jì)模式 | 
- 模式數(shù)據(jù)分解模式
 
- 分治模式
 
- 流水線模式
 
- 任務(wù)并行模式
 
- 任務(wù)調(diào)度模式
 
 
 | 
| 并行搜索 | 
- 并行順序搜索
 
- 串行Dijkstra最短路徑搜索
 
- 并行最短路徑算法
 
 
 | 
| 并行排序 | 
- 冒泡排序
 
- 快速排序
 
- 并行歸并排序
 
- 基數(shù)排序
 
 
 | 
| 并行數(shù)值計(jì)算  | 
- 多核并行數(shù)值計(jì)算面臨的問(wèn)題
 
- 求和及前綴求和
 
- 矩陣相加
 
- 矩陣相乘
 
- 矩陣向量相乘
 
- 并行隨機(jī)數(shù)生成
 
 
? 
 | 
| 共享資源分布式計(jì)算 | 
- 共享資源計(jì)算的負(fù)載均衡問(wèn)題
 
- 共享資源計(jì)算的算法設(shè)計(jì)思路與方法
 
- 分布式計(jì)算設(shè)計(jì)模式
 
- 線程分組競(jìng)爭(zhēng)模式
 
- 線程隨機(jī)競(jìng)爭(zhēng)模式
 
- 數(shù)據(jù)本地化模式
 
- 分布式數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)
 
- 分布式隊(duì)列
 
- 分布式查找
 
 
 | 
| 分布式內(nèi)存管理 | 
- 多核內(nèi)存管理的基本思想
 
- 等尺寸內(nèi)存管理
 
- Freelist編碼實(shí)現(xiàn)
 
- Intel 開(kāi)源項(xiàng)目TBB中的內(nèi)存管理
 
- 搶奪式內(nèi)存管理算法
 
- 偽共享問(wèn)題的深入分析
 
 
 | 
| 任務(wù)分解與調(diào)度 | 
- 任務(wù)分解與調(diào)度的問(wèn)題
 
- 任務(wù)間負(fù)載均衡的影響因素
 
- 任務(wù)圖調(diào)度模型
 
- 任務(wù)組調(diào)度算法
 
- 任務(wù)圖調(diào)度算法
 
- 手工任務(wù)分解的原則和方法
 
- 算法流程圖
 
- 數(shù)據(jù)結(jié)構(gòu)與接口設(shè)計(jì)
 
- 代碼實(shí)現(xiàn)
 
- 動(dòng)態(tài)任務(wù)分解與調(diào)度
 
- 非嵌套型動(dòng)態(tài)任務(wù)調(diào)度
 
- 嵌套型動(dòng)態(tài)任務(wù)調(diào)度
 
- 網(wǎng)絡(luò)服務(wù)器軟件中的任務(wù)調(diào)度
 
 
 | 
| Lock-Free編程基礎(chǔ) | 
- 問(wèn)題的引入和思考
 
- Lock-Free編程的基本原理
 
- Lock-Free的隊(duì)列
 
- Lock-Free程序的問(wèn)題分析
 
- 代碼實(shí)現(xiàn)與驗(yàn)證
 
 
 |