首页> 中文学位 >基于MapReduce模型的GPU编程优化机制研究
【6h】

基于MapReduce模型的GPU编程优化机制研究

代理获取

目录

封面

声明

中文摘要

英文摘要

目录

1 绪论

1.1问题提出

1.2研究背景

1.3国内外研究现状

1.4研究内容

1.5文章结构框架

2 基于多层归约的MLRBMR系统设计

2.1设计原理与性能瓶颈分析

2.2 MLRBMR系统的设计思路和体系结构

2.3 MLRBMR系统的工作机制和处理流程

2.4本章小结

3 MLRBMR系统的优化机制

3.1 MLRBMR系统的多层归约机制

3.2 MLRBMR系统的共享内存缓存策略

3.3 MLRBMR系统的异步执行机制

3.4本章小结

4 系统测试与分析

4.1测试环境与方法

4.2整体性能测试

4.3多层归约机制性能测试

4.4共享内存使用效率测试

4.5异步执行机制性能测试

4.6本章小结

5 总结与展望

致谢

参考文献

附录1 攻读硕士期间发表的论文

附录2 攻读硕士期间申请的国家发明专利

附录3 攻读硕士期间参与的项目

展开▼

摘要

随着图形处理器(GPU)体系结构的发展和计算能力的不断提高,GPU在通用计算领域的计算密集型应用上被广泛使用,以弥补 CPU计算能力不足的弱点。现有基于CUDA的GPU编程方式比较繁琐,往往需要开发人员对程序进行十分耗时的手动性能调优过程。为了降低GPU的编程复杂度,分布式计算领域的MapReduce编程模型被应用到GPU平台上。但是,现有基于GPU平台的MapReduce实现方案存在线程同步开销较大,共享内存利用率不高的问题,当处理数据量增大时,性能急剧下降。
  结合GPU体系结构的特点,提出并实现了基于MapReduce模型的GPU编程优化机制,主要包括以下三个方面的内容。为了充分适应GPU的多层存储架构,在线程的执行方式上采用多层归约机制,避免共享内存数据的频繁换出,减少线程同步开销,提高线程的并发执行效率;提出基于归约频率的共享内存数据缓存策略,通过对数据进行预处理,收集应用程序执行过程中生成的中间键值对的频率特征,指导GPU上共享内存资源的分配,以提高共享内存的缓存效果,减少全局内存访问,从而提升线程在归约计算过程中的访存效率;引入CPU与GPU之间的异步数据传输机制,通过对原始输入数据进行分割,并在全局内存上设置两个输入缓冲区,使用两个GPU流实现了数据传输和GPU端计算的异步执行,有效隐藏了I/O时间开销。
  在Linux平台和CUDA编程环境下,使用3个典型的MapReduce应用Kmeans、Word Count和Page View Count进行了测试。实验结果表明,基于以上优化机制的MapReduce实现方案,与现有基于局部归约的方案对比,减少了线程同步开销,提高了共享内存的使用效率,降低了输入数据的I/O开销,在整体性能上有明显提升。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号