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

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:xixiyibobo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着图形处理器(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开销,在整体性能上有明显提升。
其他文献
图形处理单元(GPU)具有价格低廉和计算能力强大等特点,这使其近年来在高性能计算领域日益风靡。新的编程语言CUDA和OpenCL的出现使得GPU编程变得广为接受,但是GPU编程仍然是很复
Web服务作为新一代的开放分布式处理技术,具有高度的互操作特征,易于将一些现有应用集成为新系统。但随着Web服务广泛使用,如何动态地进行Web服务的交互及集成成为软件技术研
近年来,数据挖掘己经引起了信息产业界的极大关注,这是快速增长的数据量和日益贫乏的信息量之间矛盾运动的必然结果,对数据挖掘技术进行系统、深入、全面、详尽地研究是全球
Internet的飞速发展使得人们能够更加方便地通过网络进行协同工作、发布各种形式的多媒体产品,如文本、图像、音频、视频以及三维模型等。然而,便捷的网络环境也使得非法占有、
在全面介绍了基于内容的图象检索的底层视觉特征——颜色、形状和纹理特征的提取方法、相似性度量方法及检索算法评价指标后,论文着重研究了颜色直方图及包含图象空间信息的
手语是聋哑人和外界交流的主要途径,对手语识别的研究有助于听障群体与其他人进行交流,并无障碍的享受社会提供的服务。  在对手语识别进行研究的基础上,我们也对手语识别相关
软件测试是对软件功能、设计和实现的最终审定,是保证软件质量,提高软件可靠性的主要技术手段。测试数据生成是软件测试的核心与关键。 边界是特别容易出现故障的地方。针对
随着现代通信和网络技术的极速发展,视频编码技术越来越显示出其重要性。视频编码技术在多媒体,高清晰电视(HDTV),可视电话,视频点播(VOD),电视会议等视频服务中起着至关重要
近年来,随着多媒体技术和计算机网络的飞速发展,全世界的数字图像的容量正以惊人的速度增长。无论是军用还是民用设备,每天都会产生容量相当于数千兆字节的图像,其中包括来源于卫
工作流管理技术是实现企业业务流程管理自动化的一项重要的计算机技术。然而,随着Internet上电子商务的飞速发展,传统工作流管理系统越来越不能适应现代企业业务流程管理的要求