华南理工大学学报(自然科学版) ›› 2012, Vol. 40 ›› Issue (4): 49-56.

• 计算机科学与技术 • 上一篇    下一篇

GBLHT: 一种GPU 加速的批量插入线性哈希表

黄玉龙1 奚建清2 张平健2 方晓霖2 刘勇1   

  1. 1.华南理工大学 计算机科学与工程学院,广东 广州 510006; 2. 华南理工大学 软件学院,广东 广州 510006
  • 收稿日期:2011-09-27 修回日期:2011-12-21 出版日期:2012-04-25 发布日期:2012-03-01
  • 通信作者: 黄玉龙(1979-) ,男,博士生,主要从事高性能计算、物联网研究. E-mail:p3vsea2002@yahoo.com.cn
  • 作者简介:黄玉龙(1979-) ,男,博士生,主要从事高性能计算、物联网研究.
  • 基金资助:

    国家自然科学基金资助项目( 61103038) ; 广东省科技计划项目( 2009B050700008) ; 广东省产学研合作项目( 2008B090500193) ; 广东省专业镇建设项目( 2011B080202035)

GBLHT: a GPU-Accelerated Linear Hash Table with Batch Insertion

Huang Yu-long1  Xi Jian-qing2  Zhang Ping-jian2  Fang Xiao-lin2  Liu Yong1   

  1. 1.School of Computer Science and Engineering,South China University of Technology,Guangzhou 510006,Guangdong,China; 2.School of Software Engineering,South China University of Technology,Guangzhou 510006,Guangdong,China
  • Received:2011-09-27 Revised:2011-12-21 Online:2012-04-25 Published:2012-03-01
  • Contact: 黄玉龙(1979-) ,男,博士生,主要从事高性能计算、物联网研究. E-mail:p3vsea2002@yahoo.com.cn
  • About author:黄玉龙(1979-) ,男,博士生,主要从事高性能计算、物联网研究.
  • Supported by:

    国家自然科学基金资助项目( 61103038) ; 广东省科技计划项目( 2009B050700008) ; 广东省产学研合作项目( 2008B090500193) ; 广东省专业镇建设项目( 2011B080202035)

摘要: 为改善线性哈希表这一有效索引结构的插入性能,在分析现有方法的基础上,结合CUDA 并行编程模型,设计并实现了一种基于GPU 的批量插入线性哈希表GBLHT; 借助原子函数atomicAdd,GBLHT 可以充分利用GPU 强大的并行吞吐量来实现大规模记录的无锁批量插入; 通过实验对比传统串行插入方法、CPU 批量插入方法以及GBLHT 的插入性能,发现在不同参数设置条件下,GBLHT 的插入性能比传统串行方式提升了7 ~ 14倍,与4 线程的CPU 批量插入方法相比则提升了3 ~ 6 倍.

关键词: 线性哈希表, 图形加速器, GPU 通用计算, 无锁批量插入, 内存数据索引结构, 原子函数atomicAdd

Abstract:

In order to improve the insertion performance of linear Hash table known as an effective index structure,the existing insertion methods are analyzed,and a linear Hash table GBLHT with batch records insertion,which is combined with the CUDA parallel programming model,is designed and implemented. With the help of the atomic function atomicAdd,GBLHT takes full advantage of the high parallel throughput of graphic processing unit ( GPU) to implement the lock-free batch insertion of massive records. Some experiments are then carried out to compare the insertion performances of the traditional serial insertion method,the CPU-based batch insertion method and GBLHT. The results show that,under various parameter conditions,the insertion performance of GBLHT is 7~14 times higher than that of the traditional serial method,and is 3~6 times higher than that of the CPU-based batch insertion method with four threads.

Key words: linear Hash table, graphics processor, general-purpose computing on GPU, lock-free batch insertion, in-memory data index structure, atomic function atomicAdd

中图分类号: