学位论文 > 优秀研究生学位论文题录展示

基于多核处理器串行程序并行化改造和性能优化

作 者: 曹婷婷
导 师: 杨斌
学 校: 西南交通大学
专 业: 计算机应用技术
关键词: 多核处理器 多线程 串行程序并行化 TBB
分类号: TP311.11
类 型: 硕士论文
年 份: 2009年
下 载: 498次
引 用: 6次
阅 读: 论文下载
 

内容摘要


早期并行程序的开发基本应用在超级计算、高端服务器等特殊应用领域。随着Intel和AMD多核处理器市场占有率的上升,通过提高CPU频率来提升程序性能的时代即宣告结束。但是重新开发适应多核平台的应用程序不仅浪费以往的大量串行程序资源,同时也无法在短期内满足用户需求。因此多核开发从早期的专用领域开发延伸到多核通用领域并行改造。这里的多核通用平台的并行改造是指基于通用PC机开发环境即Windows操作系统+Intel多核处理器,将以往的大量的普通串行程序进行并行改造,实现正确、高性能和可扩展的多核程序开发。多核通用平台开发不同于传统的并行开发在于其平台的通用性、开发周期的快速性和系统级配套辅助工具的使用等方面。为此,本文针对多核通用开发,基于Windows+Intel开发平台,运用并行编程模型和方法,结合使用Intel Vtune Performance Analyzer(性能分析器)对一串行程序进行并行化分析,提出对串行程序进行并行改造的解决方案;接着运用Intel并行时库TBB(Intel Thread Building Blocks线程构建模块)对多核平台下的串行应用程序进行流程机制、循环并行化、粒度划分、内存分配和任务调度等方面的并行改造;最后运用Intel Thread Checker(线程检查器)、Intel Thread Profiler(线程直方统计器)对改造后的并行程序进行调试和优化;通过对改造后的程序评测,其性能得到一定程度的提高,具有负载均衡和正确性。

全文目录


摘要  6-7
Abstract  7-11
第1章 绪论  11-19
  1.1 引言  11
  1.2 本课题的研究背景  11-14
    1.2.1 多核的研究现状和发展  11-13
    1.2.2 多核的应用领域  13
    1.2.3 课题的研究现状  13-14
    1.2.4 课题的研究意义  14
  1.3 本课题的并行化模型工具  14-16
    1.3.1 并行模型TBB  15
    1.3.2 并行支持工具Intel工具  15-16
  1.4 本设计的预期目标和主要工作内容  16-18
    1.4.1 预期目标  16
    1.4.2 主要工作内容  16-17
    1.4.3 课题的难点  17-18
    1.4.4 课题的创新点  18
  1.5 本章小结  18-19
第2章 系统总体设计  19-25
  2.1 多核开发平台  19-20
    2.1.1 硬件开发平台-多核处理器  19-20
    2.1.2 软件开发平台  20
    2.1.3 系统验证平台  20
  2.2 总体设计  20-24
    2.2.1 系统分析  21
    2.2.2 并行化开发运行时库的选择  21-22
    2.2.3 并行化开发工具的选择  22-23
    2.2.4 系统开发模型的建立  23-24
    2.2.5 系统开发步骤  24
  2.3 本章小结  24-25
第3章 串行程序可并行化分析  25-38
  3.1 串行程序的结构特征  25-31
    3.1.1 串行程序总体架构  25-27
    3.1.2 串行程序的功能  27-29
    3.1.3 串行程序的并行化条件  29-30
    3.1.4 串行程序的并行化可能性  30-31
  3.2 Vtune性能分析解决方案  31-33
    3.2.1 Vtune采样分析  31-33
    3.2.2 Vtune调用图分析  33
  3.3 串行程序的并行化分析  33-36
    3.3.1 串行程序的存储结构  34-35
    3.3.2 串行程序的循环并行化分析  35
    3.3.3 串行程序的任务级别划分分析  35-36
  3.4 串行程序的并行化分析总体解决方案  36-37
  3.5 本章小结  37-38
第4章 并行化改造的设计实现  38-58
  4.1 传统解决方案  38-39
    4.1.1 Raw thread解决方案  38
    4.1.2 OpenMP解决方案  38-39
  4.2 开发平台  39-41
    4.2.1 TBB介绍  39-40
    4.2.2 并行环境构建  40-41
    4.2.3 并行设计模型整体架构  41
  4.3 流程机制的并行化改造实现  41-46
    4.3.1 TBB/pipeline流程机制设计  42-45
    4.3.2 TBB/filter设计  45-46
  4.4 粒度划分和循环并行化实现  46-53
    4.4.1 parallel_for循环并行化设计  47-50
    4.4.2 blocked_range/blocked_range2d并行粒度划分设计  50-51
    4.4.3 粒度的划分实验  51-53
  4.5 内存并行化设计  53-54
  4.6 任务级并行化实现  54-55
    4.6.1 TBB/scheduler_init任务调度设计  54-55
    4.6.2 TBB/task设计  55
  4.7 并行时间计时实现  55-56
  4.8 并行结果和性能初步评测  56-57
  4.9 并行结果分析  57
  4.10 本章小结  57-58
第5章 并行化程序调试和优化  58-70
  5.1 优化程序多核平台的建立  58-59
  5.2 调试  59-63
    5.2.1 Checker分析  59-61
    5.2.2 数据竞争问题的解决方案  61-63
  5.3 Intel C++Complier编译优化  63-65
    5.3.1 Intel C++Complier对串行程序的优化  64
    5.3.2 complier c++对并行程序的优化  64-65
  5.4 Intel thread profiler优化  65-69
    5.4.1 profiler分析  65-67
    5.4.2 负载均衡的解决方案  67-68
    5.4.3 加锁解锁性能影响的解决方案  68-69
  5.5 本章小结  69-70
第6章 分析结果总评测  70-74
  6.1 与串行程序的对比评测  70-72
  6.2 对评测结果的分析  72-73
  6.3 本章小结  73-74
结论  74-76
致谢  76-77
攻读硕士学位期间发表的论文  77-78
参考文献  78-83

相似论文

  1. AVS视频解码器在PC平台上的优化及场解码的改善,TN919.81
  2. 基于智能学习的多传感器目标识别与跟踪系统研究,TP391.41
  3. 基于比对技术的非法网站探测系统的实现与研究,TP393.08
  4. 过敏原TBb抗原表位区及其关键氨基酸的鉴定,R284.1
  5. TD-SCDMA无线链路控制协议实现研究,TN929.533
  6. 基于C/S架构的车辆远程监控系统的设计与实现,TP277
  7. 多核系统中基于温度限制的节能调度算法研究,TP332
  8. 分布式内存多核处理器流程序虚拟机研究,TP333.1
  9. 基于多核的动态剖析加速方法研究,TP332
  10. 基于多线程图像处理机测试系统的研究,TP391.41
  11. 云备份中的双指纹校验与多线程传输技术研究,TP309.3
  12. 基于TILE Pro64多核处理器的3G服务器视频转码软件设计,TP393.05
  13. 基于TilePro64多核处理器的H.264高清视频解码软件设计,TN919.81
  14. 基于GALS的多核互连及任务调度策略研究,TN47
  15. 车载终端执行文件远程升级系统的设计与研究,TP277
  16. 基于共享前端的流多核体系结构关键技术研究,TP332
  17. 基于群智能和冲突规避策略的基因—基因交互作用检测及其并行计算,TP391.41
  18. 集料级配实时检测系统研究与实现,U415.5
  19. 压缩机厂数控信息管理系统的研究与开发,TP315
  20. 多分辨率图像锥结合FCM的多核并行图像分割算法研究,TP391.41
  21. 高性能低功耗多核处理器研究,TP332

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 程序设计 > 程序设计方法
© 2012 www.xueweilunwen.com