基于多核处理器的自适应异构并行库的优化与实现
本文关键词:基于多核处理器的自适应异构并行库的优化与实现
【摘要】:串行计算的时代已经结束了。随着多核处理器的出现,高性能并行计算,现在已经作为主流出现。而本项目中的并行库,就是为用户提供高性能计算的TM并行库,可协助开发者,开发出性能高效的应用程序。 本论文是针对并行库的优化与实现展开的,,与英特尔的并行库TBB作为参照,找到现TM并行库存在的瓶颈问题及效率慢的原因,并根据发现的问题以及多案例提供的数据对比来确定优化方案,根据优化方案进行具体的编码实现工作。 从技术难点方面看,涉及到并行子任务划分技术,由于划分后的每个子任务在多核处理器下并行运行,因此子任务的划分大小直接影响运行效率;线程“复用”策略,减少线程被“唤醒”的额外时间;串并行路径的自适应学习方法,把未经学习的数据通过学习过程找到规律,即判断出串行走向和并行走向;在判断走向时,是根据已知学习点进行的曲线拟合,涉及最小二乘法的数学优化技术来进行曲线拟合。优化过程中,提高运行效率的关键之一就是进行更佳的线程分配策略的过程,优化线程分配主要从两方面入手,一方面是减少线程间的切换,另一方面是充分利用当前线程。 本项目用C++语言开发,是一套C++模板库,TM并行库的功能包括parallel_for并行算法,Pipeline流水线算法,因此提高这两大功能的效率,就是提高整体TM并行库的效率,优化功能就是以提高parallel_for和pipeline为目标的。parallel_for沿用思路的优化与实现,改善了原parallel_for在小数据量或小任务量下运行效率低的问题,并使TM更加具有竞争力。串并行路径选择器功能的添加,为后续运行提供了提示作用,提高小数据量下执行串行的效率。 经过多案例下的测试,证明本次优化提高并行库的执行性能,且通过功能实现,完成了部分预期优化目标,提高TM自身的竞争力,对于用户具有较高的实用价值。
【关键词】:并行库优化 自适应选择 线程分配
【学位授予单位】:哈尔滨工业大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP311.1;TP332
【目录】:
- 摘要4-5
- Abstract5-10
- 缩略词和专业术语10-11
- 第1章 绪论11-15
- 1.1 课题来源及研究意义11
- 1.2 与课题相关的国内外研究综述11-13
- 1.2.1 业内类似并行库介绍11-12
- 1.2.2 并行研究领域及任务调度技术12-13
- 1.3 本论文的主要工作内容13-15
- 第2章 并行算法介绍及项目关键技术分析15-23
- 2.1 并行算法介绍15-17
- 2.1.1 Parallel_for 算法介绍15-16
- 2.1.2 Pipeline 算法介绍16-17
- 2.2 关键技术分析17-22
- 2.2.1 线程分配的“递归”策略17-19
- 2.2.2 串并行的自适应学习算法19-20
- 2.2.3 曲线拟合最小二乘法20-21
- 2.2.4 线程分配策略21-22
- 2.3 本章小结22-23
- 第3章 并行库优化的需求分析23-31
- 3.1 调度流程23-24
- 3.2 关键接口及任务类型24-26
- 3.3 功能需求26-29
- 3.3.1 明确优化方案26-27
- 3.3.2 Parallel_for 算法优化27-28
- 3.3.3 串并行路径选择器功能28-29
- 3.3.4 Pipeline 算法优化29
- 3.4 优化需求29-30
- 3.4.1 优化目标30
- 3.4.2 优化内容30
- 3.5 本章小结30-31
- 第4章 优化并行库的详细设计及实现31-60
- 4.1 Parallel_for 算法优化与实现31-40
- 4.1.1 思路来源31-33
- 4.1.2 Parallel_for 优化具体实现33-37
- 4.1.3 Parallel_for 优化前后对比37-39
- 4.1.4 Parallel_for 优化前后案例数据对比39
- 4.1.5 Parallel_for 优化结论39-40
- 4.2 串并行路径选择器功能40-56
- 4.2.1 问题提出40-42
- 4.2.2 动态估算获取权重方案42-45
- 4.2.3 自适应学习估算曲线拟合策略45
- 4.2.4 自适应学习步长与点数的选取45-47
- 4.2.5 串并行具体实现流程47-48
- 4.2.6 串并行选择模型48-54
- 4.2.7 串并行选择优化结论54-55
- 4.2.8 串并行路径选择器的局限性55-56
- 4.3 Pipeline 主线程沿用实现及展望56-59
- 4.3.1 优化方案确定56-57
- 4.3.2 主线程沿用实现57-58
- 4.3.3 展望功能58-59
- 4.4 本章小结59-60
- 第5章 优化结果的案例测试和数据分析60-72
- 5.1 测试环境60-61
- 5.2 测试软件并行库的对比61
- 5.3 Parallel_for 优化实现测试结果61-67
- 5.3.1 一维子字符串查找案例62-64
- 5.3.2 一维求平均值案例64-66
- 5.3.3 二维 Mandelbrot 和矩阵相乘案例对比66-67
- 5.4 串并行路径选择器优化实现测试结果67-70
- 5.4.1 串并行矩阵相乘案例68-69
- 5.4.2 串并行矩阵相加案例69-70
- 5.5 Pipeline 主线程沿用优化实现测试结果70-71
- 5.6 本章小结71-72
- 结论72-74
- 参考文献74-79
- 致谢79-80
- 个人简历80
【参考文献】
中国期刊全文数据库 前9条
1 孙海霞;马玉凤;;负载均衡综述[J];电脑知识与技术;2006年08期
2 ;Linear-regression models and algorithms based on the Total-Least-Squares principle[J];Geodesy and Geodynamics;2012年02期
3 Wang Leyang;;Properties of the total least squares estimation[J];Geodesy and Geodynamics;2012年04期
4 胡斌;袁道华;;TBB多核编程及其混合编程模型的研究[J];计算机技术与发展;2009年02期
5 刘巧英;乔玉兰;孙玉强;;并行技术领域中调度算法研究[J];中国科技信息;2009年05期
6 黄伯平;赵蔚;余延冬;;自适应学习系统参考模型比较分析研究[J];中国电化教育;2009年08期
7 ;Multi-loop adaptive internal model control based on a dynamic partial least squares model[J];Journal of Zhejiang University-Science A(Applied Physics & Engineering);2011年03期
8 杨炽夫;郑淑涛;靳军;朱思斌;韩俊伟;;Forward kinematics analysis of parallel manipulator using modified global Newton-Raphson method[J];Journal of Central South University of Technology;2010年06期
9 Xiaolong Xu;Jiaxing Wu;Geng Yang;Ruchuan Wang;;Low-power task scheduling algorithm for large-scale cloud data centers[J];Journal of Systems Engineering and Electronics;2013年05期
本文编号:584319
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/584319.html