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