登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 文献综述 > 计算机类 > 软件工程 > 正文

高并发gpu内存数据库系统的设计与实现文献综述

 2020-04-15 17:30:24  

1.目的及意义

1 课题来源、目的、意义以及国内外研究

1.1 课题来源

本课题结合当今GPU内存数据库并发查询的数据传输速度慢,执行并行度低的现状而设计。
1.2 研究目的及意义
1.2.1 研究目的
与CPU相比,通用计算图形处理器(GPGPU)具有大量的计算核心,其强大的并行处理能力被应用于各个领域。在数据库领域,高效处理SQL查询语句是很重要的研究课题,因而如何利用GPU的高性能并行计算能力来加速查询语句成为了研究的热点[4, 5]。
1.2.2 研究意义
近年来,由于物理工艺的限制,CPU的单核计算性能已经接近瓶颈,摩尔定律也渐失效,无法单纯通过提升频率提高计算性能。然而在当今大数据的时代背景下,需要处理的数据量高速增长,呈现4V特征,即数据体积量大(Volume),数据类型变化范围广(Variety),数据新增速度快(Velocity)以及具有巨大的价值(Value)。这些新的数据特征使得CPU的单核处理性能难以应对日益增长的数据处理需求。
GPU加速计算是指同时利用图形处理器 (GPU)和CPU,加快科学、分析、工程、消费和企业应用程序的运行速度。GPU能将应用程序计算密集部分的工作负载转移到GPU,同时仍由CPU运行其余程序代码。GPU 则拥有一个由数以千计的更小、更高效的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构,可以很好提高并行计算能力。
如何应用GPU强大的计算能力到SQL语句查询优化当中是当今数据库领域的一项重要课题[9]。通过将计算密集型的查询任务分担至GPU上,可以极大的提升数据处理的能力,方便对数据进行后续研究。
1.2 国内外的研究现状
由于GPU强大的性能,并且数据库的条件查询和哈希连接工作均适合于GPU的向量计算模型处理,因此近年来有一系列关于GPU数据库的研究工作。
1.2.1 GPU加速的数据库操作
Govindaraju等人[10]利用CPU的单指令多数据(SIMD)能力,将连接选择、聚合等计算密集型的关系型代数操作实现成GPU kernel,与优化过的CPU版本相比,计算性能得到了显著的提升。Govindaraju等人[11]实现的GPUTeraSort算法利用GPU进行大量数据库记录的键值排序操作,达到了当时60GB数据的最高性价比。B.He等人[12]利用GPU的随机内存地址写入、高效进程间通讯等最新特性,设计并实现了新的关系型数据库join算法,与优化过的CPU版本相比带来了2-7倍的性能提升。T.Kaldewey等人[13]提出并论证了GPU数据库受限于GPU内存,并利用当时最新的NVIDIA GPU能够在CPU和GPU间统一地址空间的特性,有效提升了GPU能处理的最大数据上限。B.He等人[14]实现的GPUTx原型利用GPU处理数据库事务,达到了CPU版本4-10倍吞吐量的优化效果。
1.2.2 GPU数据库系统
上述工作均利用GPU对内存数据库的各种操作进行了加速,并取得了较好的研究结果。除此之外,还存在不少从数据库系统的角度对GPU数据库进行研究于分析的课题。针对系统的整体设计,S.Bress [15]设计并实现了一个CPU-GPU混合的查询处理引擎,能根据查询自动生成CPU和GPU代码来完成查询任务。Bakkum等人的工作支持了SQLite的一个子集操作在GPU上的加速[3]。Y.Yuan等人总结了先前的工作,实现了针对分析型任务的功能较为完善的YDB数据库系统[1]。该研究工作通过实证和分析,明确了GPU数据库系统的几个关键的性能瓶颈,其中最主要的是PCIe总线数据传输,为后续工作提供了前提和基础。
基于YDB的系统框架,K.Wang等人实现了MultiQx-GPU系统[2],MultiQx-GPU系统通过在查询间共享GPU资源的机制,支持了并发查询请求,在并发查询请跨下能提升55%的查询任务处理吞吐量。在YDB系统中,每个SQL语句会被编译成一个包含CPU和GPU部分的可执行程序,利用CUDA Runtime APU调用GPU完成查询任务的计算。为了支持并发查询的执行,MutiQx-GPU采用了动态链接库的方式,将进程间的协作功能实现了一个单独的动态链接库,利用LD_PRELOAD环境变量进行预加载,从而拦截了查询任务中发起CUDA Runtime API调用。不同查询任务中的CUDA Context会被GPU的分时调度器进行调度,意味着不同的查询任务可以同时使用GPU的PCIe带宽和计算资源,从而提升并发效率。

{title}

2. 研究的基本内容与方案

{title}

2 研究内容与方法
2.1 研究内容
由于物理工艺的限制,近年来CPU的单核性能已经难以得到大幅提升。

然而,在大数据时代数据量快速增长,这使得CPU越来越难以应对日益增长的数据处理需求。

与此同时,随着通用图形处理器(GPGPU)计算技术的流行,利用GPU的并行计算能力来优化查询执行的性能成为数据库方向的研究热点。

本研究旨在利用GPU的高性能计算能力,通过查询任务间协同进行GPU的资源管理,支持并发的查询请求,有效提升GPU数据库的语句执行能力。


针对GPU数据库存在的种种性能问题,本课题实现一个新的软件架构下的GPU内存数据库系统的实现。

研究的主要内容如下:
1. 设计实现GPU内存数据库框架。


通过学习借鉴YDB、MultiQx、HyperQx的设计理念,设计并实现一套GPU内存数据库框架。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图