GBLHT—种GPU加速的批量插入线性哈希表.pdf

GBLHT—种GPU加速的批量插入线性哈希表.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GBLHT—种GPU加速的批量插入线性哈希表.pdf

华南理工大学学报(自然科学版) of of VoI.40No.4 J0umalSoutllChina 第40卷第4期 UniVersityTechnology 2叭2 2012年4月 (NaturalScienceEdjtion) Apm GBLHT:一种GPU加速的批量插入线性哈希表木 黄玉龙1 奚建清2 张平健2 方晓霖2 刘勇1 (I.华南理工大学计算机科学与工程学院,广东广州5l0006;2.华南理工大学软件学院,广东广州510006) 摘要:为改善线性哈希表这一有效索引结构的插入性能,在分析现有方法的基础上,结 合cuDA并行编程模型,设计并实现了一种基于GPu的批量插入线性哈希表GBLHT;借 助原子函数atomicAdd,GBLHT可以充分利用GPu强大的并行吞吐量来实现大规模记录 的无锁批量插入;通过实验对比传统串行插入方法、CPU批量插入方法以及GBLHT的插 入性能,发现在不同参数设置条件下,GBLHT的插入性能比传统串行方式提升了7~14 倍.与4线程的CPU批量插入方法相比则提升了3—6倍. 关键词:线性哈希表;图形加速器;GPu通用计算;无锁批量插入;内存数据索引结构; 原子函数atomicAdd 中图分类号:11P312 近年来,利用GPu强大的并行计算吞吐量加速 通用计算…已成为并行计算领域的发展趋势.与 究了如何利用GPu来快速构建静态哈希表,但是这 CPU相比,GPU无论在计算性能还是存储器带宽方些方法都不支持记录的增量插入.为此,文中在原有 面都具有明显优势。2J,从而成为大规模并行应用的 了一种基于GPu的无锁批量插入线性哈希表 首选.CuDA旧。是NVIDIA开发的一种编程架构,它 允许编程人员方便地开发基于GPu的并行程序.目 GBLHT,从而可以充分利用GPu强大的并行计算吞 前,在数据库领域,越来越多的研究人员利用GPU 吐量来加速线性哈希表的记录插入过程. 加速排序、聚集、关系连接等操作¨J,取得了很好的 1相关研究工作 效果. 随着大规模数据驻留在内存,使用GPu加速内 1.1 传统的串行插入方法 存数据检索受到了越来越多的关注HJ.在传统内存 线性哈希是由Litwin_5o在1980年提出的,其插 索引结构中,线性哈希表是一种非常有效的结 入过程的主要思想为:随着不断地将索引记录插入 构¨。“,它在实现快速存取以及检索的同时,可以优 线性哈希表,如分裂条件满足,则按预定的顺序分裂 雅地扩展存储空间.为改善其操作性能,EUisL8J、陈虎 桶,从而实现存储空间的优雅扩充.详细的插入过程 等一d引分别提出了基于加锁协议的并发方法以及基 描述为:设线性哈希表初始由Ⅳ个桶组成,对应的 于多核CPU的批量插入方法.然而,这些方法都没 地址分别为O,l,…,Ⅳ一l;在此,使用地址空间C来 有利用当前GPU强大的并行计算吞吐量,且需要通 表示线性哈希表的桶地址.给定键值为c的记录,使 收稿日期:2011.09—27 (20088090500193);广东省专业镇建设项目(2011 万方数据 华南理工大学学报(自然科学版) 第40卷 用哈希函数^。(c)将记录插入线性哈希表;当分裂程中产生的互斥问题,需要对缓冲区加锁.相比传统 条件满足时,首先创建一个地址为Ⅳ的桶并且将该 串行方法,该方法具有一定的优势,但也存在如下不 桶添加到线性哈希表的末尾.然后,使用哈希函数 足:(1)分裂过程使用单线程执行,没有充分利用

您可能关注的文档

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档