GPU加速的批量插入线性哈希表GBLHT:性能优化

需积分: 9 2 下载量 93 浏览量 更新于2024-08-08 收藏 417KB PDF 举报
"GBLHT:一种GPU加速的批量插入线性哈希表 (2012年) - 华南理工大学学报(自然科学版),国家自然科学基金资助项目,广东省科技计划项目,广东省产学研合作项目,广东省专业镇建设项目" 本文介绍了一种名为GBLHT(GPU加速的批量插入线性哈希表)的创新技术,该技术针对线性哈希表的性能优化,特别是在数据插入操作上的提升。线性哈希表是一种常用的动态数据结构,它能够提供相对高效的查找、插入和删除操作,但在大规模数据处理时,其性能可能会成为瓶颈。 在分析现有线性哈希表插入方法的基础上,研究人员结合了CUDA(Compute Unified Device Architecture)并行编程模型,将计算任务转移到GPU上执行。GPU(图形处理器)因其强大的并行计算能力而被广泛用于高性能计算。通过使用GPU,GBLHT能够充分利用其并行吞吐量,实现大规模记录的无锁批量插入。无锁机制意味着多个并发线程可以在没有同步锁的情况下安全地进行操作,从而避免了锁竞争带来的性能下降。 文章特别提到了原子函数atomicAdd在实现GBLHT中的关键作用。atomicAdd是一种在GPU上执行的原子操作,能够在多线程环境下确保对共享内存位置的更新是原子的,即不会出现数据冲突或不一致的情况。这使得GBLHT能够高效且准确地处理大量并发插入请求。 实验结果显示,GBLHT在不同的参数设置下,相比于传统的串行插入方法,性能提高了7到14倍。与使用4线程的CPU批量插入方法相比,GBLHT的性能提升了3到6倍。这些实验结果凸显了GBLHT在并行数据处理和高性能计算场景中的优越性。 此外,这项工作得到了多项科研基金的支持,包括国家自然科学基金、广东省科技计划项目、广东省产学研合作项目和广东省专业镇建设项目。这表明了研究团队在高性能计算和并行算法领域的研究活动受到认可,并有实质性的资金支持。 GBLHT是一种利用GPU并行计算能力优化线性哈希表插入性能的有效方法,对于处理大规模数据集和提升数据库系统的整体效率具有重要意义。这一成果为后续的并行数据库系统设计提供了有价值的参考,并可能启发更多利用GPU加速的数据处理技术。