基于GPU的事务型内存数据库的研究与实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:CayleeDak_83
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
联机事务处理是数据库领域的重要应用。随着近年来电子商务的迅猛发展和企业数据量的激增,用户对数据库事务处理能力提出了越来越高的要求,而处理器技术和内存技术的发展也为提升数据库事务处理能力带来了机遇和挑战。一方面,多核CPU、GPU、Phi等新型处理器拥有越来越多的处理核心,并行处理能力非常强大;但是另一方面,事务处理过程中对数据的隔离性和一致性的保护又制约着处理器并发能力的提升。目前大多数的研究工作着眼于利用多核处理器的并行计算能力来提高事务型内存数据库的性能,但如何将并行计算能力更强的GPU应用于事务型内存数据库则少有研究。在GPU上实现事务型内存数据库的关键是要在保证ACID特性的前提下充分挖掘程序在GPU上的并行性,然而GPU上数量众多的并发线程和线程束内的锁步执行方式会严重放大数据冲突的影响,使得该问题的解决充满挑战。本文重点解决了事务并发执行,事务实时性保证,GPU设备内存管理等几个关键问题。针对事务并发控制的问题,本文借鉴了 Silo系统的事务提交协议,通过减少集中式资源的使用避免GPU线程的互相阻塞,并解决了对写集合加锁的死锁问题使之适应GPU的并行计算方式。针对事务处理实时性的保护,本文借鉴了 Mega-KV的以时间为标准的调度策略,设计了针对于GPU事务处理的调度流水线,保证了事务的实时性。针对事务的持久化问题,本文采用了 CPU/GPU协作模式,GPU将一个批次的事务作为一个持久化事务,由CPU将该持久化事务的日志信息记录到日志文件中。此外,为提升系统的运行效率,本文中还实现了 GPU设备内存管理器和无锁哈希表。本文主要工作和贡献如下:1.系统研究了在GPU上实现事务型内存数据库面临的困难与挑战,重点解决了事务并发控制、事务的实时性、事务持久性保障等关键技术问题。2.在NVIDIA GPU上实现了一个基于GPU的事务型内存数据库原型系统GPUTx-DB,该系统可在保证数据库事务ACID性质的同时充分利用GPU的并行计算能力。3.利用YCSB和TPC-C数据库基准测试程序对GPUTx-DB进行了性能测试和分析,并与多核处理器上的事务型内存数据库Silo进行了比较,验证了GPUTx-DB的处理能力。
其他文献
社会网络是指社会个体成员之间因为互动而形成的相对稳定的关系体系,其中联系较为紧密的团体称为社区,处在同一社区中的个体更易于受到社区内其他人的影响,而社区挖掘技术就是挖
肺癌是严重威胁人们生存的疾病,目前,已经跃居成为世界恶性肿瘤病例的第一位。而计算机辅助诊断系统(CAD)对早期肺癌的发现和诊断有十分重要的价值。肺区域分割作为基于医学影
网络游戏现在已经进入三维网络游戏的时代,它以逼真的画面,巨大的游戏场景赢得了玩家的认可。由于游戏规模越来越大,在线人数增多,使得网络延时、丢包和集群的负载均衡等问题越来
支持向量机是由Vapnik等人基于统计学习理论提出的一种新型的机器学习方法。支持向量机基于结构风险最小化原理,综合考虑了经验风险和置信风险,具有良好的泛化能力和较高的分
随着互联网的迅速发展,网络上的信息成爆炸式增长。自从Tim Berners-Lee提出Web2.0的概念之后,用户从被动的接受信息逐渐转变成信息发布的参与者。社会标签是Web2.0的众多应用
随着计算机网络技术的发展,为了满足视频点播、网络会议、网络实时游戏等多媒体应用这些当今因特网的主流业务,急需建立一种高效的、有QoS保障的数据通信机制。建立这种机制主
近年来,不确定数据的管理吸引了来自工业界和学术界的极大关注,特别在诸如无线传感器网络、生物技术和生物数据库、基于位置的服务和数据流等新兴的领域中。为了准确获取不确定
数据挖掘是指从分散的异构信息中获取知识的过程,其直接目的是快速检索有用信息,将数据挖掘与Web结合形成的Web信息挖掘是处理海量Web信息的有效手段。虽然Web信息挖掘能极大
时空数据库技术是计算机科学的新兴领域。由于时空数据库本身的一些特性,所以被广泛应用到多种领域。本文重点比较了适用于网络中移动对象轨迹查询的索引结构,提出了一种适用于
当今计算机技术的发展日新月异,软件在我们的生活中扮演着水和电的重要角色。C语言作为一门广泛应用的语言,已有40多年的历史,它在系统软件如操作系统、编译器、数据库等领域